4 ms·
It's not that a small number of large node providers is a /good/ thing. But it's also incorrect to say that the result is the same as AWS or GCP, and it frustra
by miracle2k 5y ago
It's not that a small number of large node providers is a /good/ thing. But it's also incorrect to say that the result is the same as AWS or GCP, and it frustrates me to no end that the debate around this is so imprecise.
First, your apps API to one of those node providers is standardized and stateless. Switching to a different one could not be more simple: changing a url in your config file; there is basically no lock-in.
Second, running your own is by no means impossible. If you don't need an archive node, it is almost straightforward. It's certainly much easier than replacing all of your AWS dependencies.
Third, for simple apps, the interaction with the node can be entirely browser-side, so it can be users choice which provider is used. For complex stuff you need to write an indexer to create the state you need, which is actually a more interesting problem because it does often mean that the smart contracts themselves cannot be served by a static HTML page, ergo making your product a centralizing factor. This is essentially what the The Graph is trying to solve.
Fourth, there is another layer below all of this product-node interaction, that is more important - the nodes running the consensus. The nodes we are talking about here are just to access a copy of the state. There is value in consensus being spread over 20k nodes, even if all the web apps use Alchemy.
Fifth, "trust" is nuanced. You have to ask yourself what failure cases you want to address. What power does Alchemy have over the network or the ecosystem? The answer is not much.
- kkielhofner 5y agoRelated to the nuance of debate: I spend my time working with blockchain and writing comments like these because I want web3/blockchain to be successful in some capacity. If I thought it was a joke I wouldn't spend as much time in the space as I do and I'd comment on these stories with some snarky reply or not at all. That said there needs to be some perspective in between the "eat the world this is the greatest thing ever hype-beast pump pump pump echo chamber bubble" and "this is completely stupid, worthless, and will never be anything" camps in all things blockchain. Anyway... With all due respect "...running your own is by no means impossible. If you don't need an archive node, it is almost straightforward." is classic HN. The fact that Alchemy and Infura alone have hundreds of thousands of customers up to and including arguably THE most prominent names in the blockchain space demonstrates just how far from reality and common use that statement is. Alchemy isn't a $3.5B company because someone threw HTTPS load balancers in front of a few Ethereum nodes... First, having used Alchemy and Infura I've noticed clear differences in how they handle sync, state, etc. Alchemy prides itself on sync and state between individual nodes in their network - using the web3 API and calling latest (or pending) nonce appears to be extremely reliable when compared to others (as an example). Infura, on the other hand, seems to be relying on their ITX ("Transactions") product to deal with the very real and extremely frustrating web3 API issues for actually getting transactions to happen reliably, with predictable gas fees, etc. My application and use is currently very simple and I've encountered these issues - I'm certain there are larger practical differences between the node providers. Again Alchemy isn't a $3.5B company because they have no differentiators and no customer lock-in. So far we have basic implementation quirks and higher level products to "just make transactions actually work" and "just make an NFT". You can count on there being many more on the way and you know what? Companies will be THRILLED to use them. Is the average user (or even developer/company) going to run their own node? Definitely not. Is the average user of Metamask tweaking the node addresses? Does the average user know what any of this gibberish means? Definitely not. Metamask users are going to use whatever default node address it has. There are 13,000 Bitcoin nodes and roughly (at best) 10,000 Ethereum nodes. Coinbase (as one example) has 56 million users. Once again people are not making the decision to fire up their own node or in most cases even have their own wallet. For all the same reasons people aren't hosting their own e-mail server from a raspberry pi at their house. They get a Gmail address and move on with their lives. When I've configured Metamask for Polygon (as an example) it isn't extremely clear and obvious which RPC node addresses are actually "official" or "authoritative" for a given network... I've been developing with Ethereum and Solidity for four years. I've run my own nodes. I've built applications to multiple providers, networks, etc. I had 200 Nvidia Pascal GPUs mining Ethereum. If I'm not clear on a lot of this developers and users entering the space don't have much of a chance. This aspect of the space is actually pretty terrifying. Web3 is hyped as much as it is because people have realized the internet is essentially whatever a handful of large providers say it is. If we're not careful web3 will just end up being a significantly less user-friendly and ridiculously inefficient implementation of what we have today.
- miracle2k 5y ago> The fact that Alchemy and Infura alone have hundreds of thousands of customers up to and including arguably THE most prominent names in the blockchain space demonstrates just how far from reality and common use that statement is. I don't think it shows that! Running your own services, including say email/source control/infrastructure etc. used to be much more common; people started to pay the cloud not because it's super hard to run yourself, but merely because it's even easier to let someone handle it and focus on your own product. I've also run my own nodes, but I still prefer to pay Alchemy. However, I don't disagree with the thrust of your points.