10 ms·
I'll be honest I had no idea that access to Ethereum is effectively gate-kept by two centralized entities (Infura, Alchemy). I knew there were only one or two t
by arcticbull 5y ago
I'll be honest I had no idea that access to Ethereum is effectively gate-kept by two centralized entities (Infura, Alchemy). I knew there were only one or two true Ethereum full-nodes, but the impact of that never quite clicked.
[edit] By "full node" I meant "archival node."
- go_to_moon 5y agoonly one or two true Ethereum full-nodes source?
- arcticbull 5y agoI should have said archival nodes, the ones that keep state back to the genesis block. I don't know if that number is even tracked anywhere. I've read estimates ranging from 2 to 5. I'm trying to find where I read that, happy to be wrong - or right, if anyone has data. [edit] Here. [1] And here. [2] After examining every which way we could think of to add the Trie state to our Ethereum state, we asked Vitalik for assistance. His first comment to us was “oh you’re one of the few running one of those big, scary nodes.” We asked him if he knew of anyone else running a “big, scary node” to see if we could possibly sync with them. He knew of no one, not even the Ethereum Foundation keeps a full archival copy of the Ethereum chain. [2]. [1] https://librehash.org/ethereum-archival-node-review/ https://librehash.org/ethereum-archival-node-review/ [2] https://blog.blockcypher.com/ethereum-woes-d9b2af62da67 https://blog.blockcypher.com/ethereum-woes-d9b2af62da67
- jwlake 5y agoI've run quite a bit of analytics on ethereum and have downloaded the entire chain multiple times for processing and it's freely available from multiple providers. All the major API providers (infura, etherscan, etc) have the all the raw blocks available readily.
- dylkil 5y agoeveryone running erigon nodes (like myself) are running full archival nodes, currently there are ~300, https://www.ethernodes.org/ https://www.ethernodes.org/. Many geth nodes are archival, but we cant see which ones are.
- jlokier 5y agoSome Erigon nodes run with pruning enabled. You can't tell which ones those are, or how much pruning. Technically you can tell which Geth nodes are archive nodes with a GetNodeData query over devp2p, although that call is deprecated and will eventually be removed. Its replacement, GetTrieNodes, cannot be used for this.
- ryanobjc 5y agoErigon nodes are full archival by default, and dont use much space, about 1.7TB, which is quite thrifty consider geth uses like 10TB. So, many people run full archive nodes now. Thanks erigon team!
- everfree 5y agoArchival nodes also keep state back to the genesis block, it's just stored in delta format so you could say that it's not "unpacked" out to the disk. It's a common misconception that "full nodes" don't have all this data. > Every now and then someone will argue on CT that Ethereum full nodes are not complete nodes because archive nodes exist. I decided to run a little experiment to disprove a few things > The goal was to convert a full node into an archive node, demonstrating that Ethereum full nodes contain all the necessary blockchain data. > 28 days later, I can confirm that it worked. I started with a 150 GB full node and expanded it to an archive node weighting 2.3 TB, without external network connectivity. [1] https://twitter.com/marcandu/status/1116807660882530305 https://twitter.com/marcandu/status/1116807660882530305 [2] https://medium.com/@marcandrdumas/are-ethereum-full-nodes-really-full-an-experiment-b77acd086ca7 https://medium.com/@marcandrdumas/are-ethereum-full-nodes-re...
- phire 5y agoThe fact that all the data is there is kind of irrelevant if you can't query it.
- everfree 5y agoWhy would you want to query it, though? A full node lets you fully verify the chain's historical states and it lets you interact with the current state. Unless you're running a service that exists solely to allow people to query historical states (like a block explorer service), I don't see why it would be useful to be able to query historical state.
- phire 5y agoYou need an archival node to see a list of all transaction that transfer eth into an address. A full node can only give you the current balance, and a list of all transactions that directly transfer eth to that address. Any transaction that transfers eth as the side effect of a smart contract is invisible. I personally see it as a flaw in the design of eth. You shouldn't need the complete history of states just to find all relevant transactions, but you do. Besides, the argument that regular users shouldn't need to query such information it doesn't change the fact that the information is unqueriable in a full node, short of spending 28 days transforming it into an archival node.
- IanCal 5y agoThis is highly unlikely to be true. I've got the full thing working with erigon, the idea it's 5 at most is hilarious.
- exdsq 5y agoThere’s no real reason for this to be honest. The Web3 projects I’ve worked on tends to fall for centralized services like Infura because of development needs at first and then it’s just easier to use it for production. I’ve made a decent living for the last two years setting up test infrastructure for Web3 projects due to its complex nature. This is true across all blockchains, not just Ethereum. It’s an area ripe for new DX products.
- spenczar5 5y agoNew products? Would those be more centralized platforms, or is it feasible for me to connect to the blockchain, verify stuff, and so on if I am running my own server? It still seems that my users on phones and browsers would need to trust me in that case, right?
- exdsq 5y agoOh it’s totally doable to run your own node on your own server! And thanks to the protocols consensus rules your users can trust that for a transaction to go through your node and be accepted onto main net your node is a good actor. So one example I’d give - every team I’ve worked on has had to build a local development environment with several nodes to easily spin up with a clean slate for deterministic testing. Teams get sucked into tools like Infura to set these up and then it’s so easy to do the same for deployment they do just that. I think there’s tons of room for Blockchain-as-a-Service tools to improve development and testing processes without forcing centralization on main net deployments.
- spenczar5 5y agoOkay. Why doesn’t everyone do that, then? Why use Infura? As is hopefully obvious, I am totally naive here; my questions are genuine. Thanks!
- kristofferR 5y agoEconomies of scale basically. It's way simpler to just connect to Wikipedia.org and download the pages you want to read instead of downloading the whole Wikipedia.org database and keeping it stored and updated on your devices. Same principle.
- jeroenhd 5y agoBit that it'd be very practical, but the data itself is shared so in theory every company could set up their own API to render the blockchain into a readable, quick to access format. Even the vanished poop emoji NFT would reappear once someone else renders their view on the blockchain in the right way. The problem with this is that running servers that store and process one or even multiple blockchains in a searchable way is terribly costly and inefficient. In theory the public ledgers are all safe against locking away data, like Google or Microsoft could do with your accounts in the real web, but in practice nobody wants to be the guy making a loss on serving blockchain views. If web3 ever gets off the ground, it needs more of these access provider companies. Perhaps even a prebuilt system you can throw onto your own server to participate, like IPFS and other existing decentralised systems provide. I'm still not clear on the actual benefit of the cryptocurrency web other than the concept of "owning things without legal protection or oversight" which I (and I believe most people) have very little interest in if it comes at the premium it comes at today. From a technical standpoint all of this blockchain stuff is awesome, but it's an awesome solution in search of a problem.
- threeseed 5y agoProblem is who cares if you run your own servers when everyone you know is viewing NFTs through servers which are manipulating the data like Opensea is.
- jeroenhd 5y agoThat's true, but if the NFTs show up on some places and not on others then you could start a "resistance" against the existing market places. Outside of DMCAs and other such legal requirements, an exchange needs to be impartial about the stuff being sold and published on there to remain credible. The cryptocurrency crowd is usually drawn to the decentralised, unregulated market, and OpenSea has turned out to be the exact thing blockchains are trying to overthrow.
- threeseed 5y agoExcept that OpenSea is successful. So it shows that people don't really care about (a) decentralisation or (b) manipulation of the true blockchain output.
- deleted 5y ago[deleted]
- Scott_Sanderson 5y agoYou're not wrong, but it can be a fantastic experience if you do have your own self-hosted node. I run the geth node on a linux server and can connect to it to send blockchain transactions or retrieve information from the chain. Example: my tax prep software took my wallet addresses and found all my uniswap trades by querying the local node.
- tshaddox 5y agoIn what sense is it "gate-kept"? Isn't the complaint that in practice most people probably use those two services? As far as I know those two services don't do anything to try to force you to use them, and people just use them out of convenience because "People don’t want to run their own servers, and never will." The potential for single points of failure (or even intentional abuse) does exist because of this de facto dominance of two service providers, but as far as I can tell there's nothing stopping anyone from running their own node and connecting their various cryptocurrency wallets to them other than the money and inconvenience of running your own server.
- arcticbull 5y ago> As far as I know those two services don't do anything to try to force you to use them, and people just use them out of convenience because "People don’t want to run their own servers, and never will." Indeed, but one could make the same claim re any Web 2 juggernauts like Google and Facebook. You don't need to use them, sure. You can start your own social network. It's just expensive and inconvenient. This is what causes centralization and gatekeeping in the first place. It becomes self-reenforcing.
- tshaddox 5y agoExcept that you do need to use Google and Facebook if you want to interact with their data. They literally gate-keep the access to their data. It's not just inconvenient to host your own server that discovers peers and syncs the entire log of all historical events on the Facebook social network and allows you to write new events to that log which those peers will recognize. That's impossible (or at least, it would require some significant and very illegal hacking effort).
- wizzwizz4 5y agoHeh. “Illegal hacking effort”? In the EU, it's illegal for Facebook to prevent this. In fact, there's even an export button, which gives you quite a lot of the historical data (though not all of it). To get events, just scrape the Facebook website using Selenium and Python. There are online tutorials for this. Harder than it should be, I'll be the first to admit, but easier than blockchain-based systems. (Blockchain isn't the appropriate solution for social media; use a proper federated protocol like ActivityPub or XMPP.)
- hrhrhrhrhr 5y ago
- Animats 5y agoMe either. I had no idea that accessing a link to NFT-described content went through OpenSea for content that isn't even hosted by OpenSea. That's apparently a MetaMask thing. Supposedly a MetaMask wallet can connect to any willing node, but in practice they use the Infuria->OpenSea server. Yes, you can run your own Etherium node and server, and connect a MetaMask wallet to it.[1] As Moxie points out, nobody wants to do that. Worse, the blockchain does not, apparently, contain the hash of the data. You can't even prove you even have access rights to the data if the hosting service goes down. All you own is a link to a URL. There are more Ethereum full nodes than two, but how many will accept web queries? That's a service. [1] https://media.consensys.net/how-to-install-and-synchronize-your-own-remote-ethereum-node-5d875c684504 https://media.consensys.net/how-to-install-and-synchronize-y...
- tough 5y ago> There are more Ethereum full nodes than two, but how many will accept web queries? That's a service. https://thegraph.com/en/ https://thegraph.com/en/
- miracle2k 5y ago> Worse, the blockchain does not, apparently, contain the hash of the data. It very often does, and it is certainly the case for most high-value NFTs. It is indeed not the case if you create your NFT on OpenSea and do not take the additional step of freezing the metadata. Also, there are many artworks that change, so a hash to a single file is not necessarily the right solution.
- majormajor 5y agoSo if you purchase an NFT, you need to make a local copy of the actual data? Since the blockchain only has the hash? And if whatever server you originally got the data from the NFT for went down, you'd lose it if you didn't make a backup? In those cases does the blockchain still have the URL as well? And you might end up with a collection of bits that matched the hash in the blockchain but was no longer at the original URL? What's the next step then? (The "artwork may change" bit seems like it becomes even more weird and potentially nightmarish edge-case/potentially-losing-your-purchase-wise.)
- wyck 5y agoIt's not gate-kept by two centralized entities at all, there are a lot of alternatives many completely decentralized. This author is clearly new to the space and hasn't really done much research, outside 5 minutes of google.
- onychomys 5y agoSure, but if everybody just uses the two big guys, does it matter that the little guys exist?
- wyck 5y agoBut everyone doesn't, that's just his impression and not researched whatsoever.
- deleted 5y ago[deleted]
- AlexandrB 5y agoAll these arguments apply to email as well - there are plenty of small providers and you can run your own email server. But, in practice, almost everybody uses gmail or outlook so we still say it's heavily centralized. What good is running your own full Ethereum node if OpenSea blocks the NFT you're trying to sell and most of the customers who would want to buy it are going through OpenSea's node?
- wyck 5y agoThis is the exactly how the current web works and what web 3 is trying to change, regardless of opensea.
- everfree 5y agoFull nodes contain the same data as archival nodes do, they just don't have it unpacked out to disk. https://news.ycombinator.com/item?id=29846272 https://news.ycombinator.com/item?id=29846272
- bidder33 5y agofull nodes have access to all the data in an archive node.
- larsiusprime 5y agoAnalysis of blockchain transactions is also consolidating around middlemen too! If you're trying to read data off of the blockchain for professional analysis purposes, you'll find a lot of working analysts are using sites like Dune.xyz, which stick a SQL interface in front of data slurped from the blockchain and charge a pretty penny to access it. (Wouldn't be surprised if they're slurping from middlemen services themselves)
- zomglings 5y agoWe have built an open source tool that you can connect to any node (on an Ethereum-based blockchain) and instantly start building datasets about contracts that you care about. All you need is their ABI. https://github.com/bugout-dev/moonworm https://github.com/bugout-dev/moonworm We are committed to keeping this code free. Our policy is only to charge for our operational expertise, but all the code that we use is open source. We are in the process of opening our platform up for decentralization (so anyone can contribute node time, storage, etc.). Intellectual property is theft.
- danielrhodes 5y agoI'm curious what would happen if somebody uploaded illegal data (e.g. child porn, sensitive PII, or government secrets) to an Ethereum contract. Would these nodes be legally required to filter it? If you look at something like the Pirate Bay, it's not simply enough that you are an allegedly content-unaware service -- once you become aware of your service being used for or distributing something illegal, you are required to mitigate it. At the end of the day, these are businesses which operate within a jurisdiction and must act in self-preservation. But at the point where they start filtering transactions/addresses, there's going to be big questions about what is the true view of the blockchain.
- als0 5y agoFYI it’s already happening https://www.bbc.co.uk/news/technology-47130268 https://www.bbc.co.uk/news/technology-47130268
- BlueTemplar 5y agoIIRC this happened years ago on the bitcoin blockchain. I guess that nobody seems to care about that data being shared across every full wallet because bitcoin's primary use case is too remote from data sharing ?
- baby 5y agoIt's not gate-kept, it's just that it's not easy to run your own node and synchronize to the chain (especially if you're on mobile) so people don't do it and instead decide to trust public nodes. It's the early days, remember how long the internet worked with http:// http:// ? It's only in 2009 I believe that Facebook switched to https:// https:// Check my other comment to see that the future doesn't look that bad: https://news.ycombinator.com/item?id=29847881 https://news.ycombinator.com/item?id=29847881
- soffer 5y agoCheck out Pocket Network, it's a web3 network protocol that incentivizes node operators to run ethereum nodes (and other blockchains). Effectively decentralizes Infura / Alchemy https://www.pokt.network/ https://www.pokt.network/
- treelovinhippie 5y ago
- mattwilsonn888 5y agoIts a bit of a well kept secret. It does not represent maliciousness on the part of Ethereum or centralized node providers - its a consequence of the network doing nothing to compensate for nodes to deliver data to-and-fro. Miners and businesses stand to lose if the whole network crumbles, so the bare minimum is done to supply nodes, which means centralized node hosting. A fully scalable, sustainable and decentralized network compensates all infrastructure important to the network, which means mining (consensus) and transaction/data routing. A nice side effect of rewarding data transmission is that you incentivize speed, so scalability can happen naturally with no conflicts of interest between miners and users.