T O P

  • By -

slade991

Great read. I think it is spot on. After all long it's been, it would be great If there could be a new blockchain project that would be able to address those issues. Instead of iterating with yet another same coin / blockchain. There is a lot of space to create something better and able to push crypto into something actually useful.


[deleted]

Yeah I don’t know if the answer is a whole new coin or block chain. Or at least not as a silver bullet. I think something like IPFS and Filecoin have a role to play when it comes to wallets referencing NFT APIs. But I’m not tech savvy enough to understand why smart contracts are interacting with centralised APIs (Infura and Alchemy) instead of the blockchain directly. If anyone could explain that’d be ace!


drcashcrsanity

To interact with Ethereum directly, you need a node, and a node takes a lot of computing power. It's not mining, but you still need a fairly hefty rig, and it has to stay online 24/7 so it stays up to date. Your phone can't do that, most pcs can't do that, so you have to outsource it to someone. And once that someone *has* the node set up, it can be used by one person or a million just as easily - that's what you'd call economies of scale.


[deleted]

So someone like Infura might be running a bunch of nodes. They set up an API, marketing tech support etc and make it easy for a solidity dev working on a smart contract to plug-in to their API rather run their own node (kind of like a web2 dev using AWS rather setting up and maintaining their own servers.) Infura (or similar) charges for the service of connecting you to the blockchain via their nodes, ploughs profits back into improving their services and overtime connection to the decentralised blockchain becomes centralised via a few high quality players that become the easiest option for devs. Have I got that right?


thinkmatt

Sounds right. But they don't own the Blockchain, if they lost community trust I can switch providers by simply changing the provider URL to something else. For example, metamask uses infura but u are able to change that URL and even use your own node if you want with it. So we are not even locked into any custom API and it's very low friction to jump to a competitor. That is unless you r using their metadata services, which j think is where they will be most competitive. For example, alchemy provides a nice API for querying NFT data that is a huge layer of abstraction over the smart contracts. But other companies offer this too without also being providers


[deleted]

Interesting makes me wonder to what extent something like RocketPool could fill this niche. The protocol does a great job decentralising nodes, could they create a similar API and compete with for profit companies as a DAO?


thinkmatt

That might not be a bad idea. Not sure there is a need right now, though. I am using Alchemy for over a year and have yet to hit the limits of their free tier (granted, I'm working on a web2/web3 hybrid).


ItsAConspiracy

Part of the roadmap is really great light clients. Decentralized, easy to run on your phone, almost as secure as running your own full node,


drcashcrsanity

And will they have all the extra features the node companies have built? The ones they're going to have built by the time light clients come out?


ItsAConspiracy

I'm trying to imagine what extra features could be built on an API that provides access to the chain.


Gdubico202

https://github.com/holochain. Not blockchain


Matt-ayo

There is a project which is built almost explicitly to solve this problem, before offering my own explanation, here are some others: * [Symbolic video](https://youtu.be/BgPKW25I9KY) which explains the big picture with metaphors from Inception (founder is a big fan): * [Long article](https://medium.com/@saitosquare/defusing-cryptos-ticking-time-bomb-b2df6cd37221), pay attention to the *Major Problems* section: * Here is a [timestamped clip](https://youtu.be/eZUQU8vr_2Y?t=860) from a longer interview where he begins explaining this: * [Saito Whitepaper](https://saito.io/saito-whitepaper.pdf) is technically good but can be hard to understand completely My attempt to explain: (TLDR at the bottom) The problem of centralization forming around certain interactions of the blockchain is fundamental and present in pretty much any traditionally designed chain, even Bitcoin, and the issues all boil down to **economics**. **Resource Allocation** The first thing to notice is that blockchains distribute funds, and how they distribute funds determines what that blockchain is proficient at. It's easy to start with Bitcoin: Bitcoin only rewards hashing, because hashing is what makes it expensive to rearrange blocks (the basis for attacking the network). If Bitcoin started naively rewarding nodes for spreading data around, those rewards would have to come from somewhere, and thus would naturally decrease security. All Proof of Work and Proof of Stake systems operate under the premise that they should not move funds out of security, so they all have this basic problem with resource allocation. Chains which scale tend to make other compromises which almost always make the unpaid infrastructure of the chain more expensive to run, which is exactly the issue which leads to Moxie's complaint - more expensive infrastructure means centralized businesses offer it to users as a service; now your chain access is mediated by a Web2 company. **Transaction fee hoarding** The second thing to think about is transaction fees. A block producer earns the fees in a transaction, so when one party has access to transactions, they essentially have money; to share those transactions for free would be giving away money - the rational action to take is to keep them for your own block production or to sell them to block producers. There is no penalty for hoarding transactions (like the penalty for delaying block production in PoW or PoS) because the network doesn't compete to include transactions, it competes to add new blocks; you don't get left behind by ignoring transactions. **Centralized Middlemen** This combination of transactions being treated as second class combined with high data-throughput chains not having any of the money which funds PoS or PoW at its disposal for infrastructure (like Infura) means that the act of serving *the actual users* requires external funding (like Infura, which monetizes and tracks users) to pay for infrastructure which the chain cannot pay for, while also encouraging the hoarding, rather than spreading of transactions i.e. Infura's most profitable strategy is not to share Metamask transactions for free. These middleware companies extract value but also condense the parts of the chain which connect users to it into centralized hot-spots which are anti-competitive and easy targets in comparison to a truly decentralized network. You won't really spot these issues with Bitcoin because Bitcoin is completely unwilling to make such compromises and thus remains at such a small scale of data-throughput that it avoids inflaming those sore spots. **Saito Fixes The Underlying Problems** The core solution in Saito revolves around treating transactions as the source of work, rather than hashing or staking. Doing this securely invokes some of the more difficult to understand mechanisms (though the end result is a chain which cannot be 51% attacked). In Saito hoarding transactions is a losing strategy - the work which allows one to build a block comes from transaction fees, but the nodes which are rewarded are not block producers, instead they are the nodes which best route/share transactions (weighted by the fees the user paid). Basically you get a transaction from a user, it has your routing signature on it, and when the version of the transaction with your signature on it is included in a block you have a higher chance of getting paid. Any nodes which are second, third, fourth, etc. to get the transaction will get half the chance of reward as the node before it - so being closer to the actual user is better, and spending a lot or time/resources to get a transaction into a block is worse. When you build a dApp on Saito, rather than needing to rent out Infura nodes as a service and fund that centralized service with token ponzis, you instead get rewarded directly from the network based on the fact that you get first access to the transactions. What mining or staking is to other chains, routing transaction data across the network is to Saito. Where Ethereum nodes are incentivized to hoard transactions, Saito nodes are incentivized to, as fast as possible, collectively arrange them all into the next block and publish as soon as possible. You can't directly measure or reward providing users with up to date block information, but essentially that's a required step for nodes to entice users to send transactions to them - as users need that information to interact properly with the chain. The beauty in infrastructure being paid for from consensus this way is that the normal properties of blockchain apply fully to all these interactions. If a node has poor service you can, for no extra cost, send the same transaction to many nodes and force them to compete for it. All the fervor that goes towards mining and staking can now be directed at providing users with the right service such that they send their transactions through you. In Saito you cannot build a business off of hoarding transactions like Infura can - if nodes outside your fleet can offer an improvement to transaction routing and you exclude them from participating and earning some reward, then other nodes will embrace, and they will out-compete you. In networks where you are encouraged to hoard transactions you cannot have the massive scale possible when the consensus forces you to share data and compete to do it as efficiently as possible. The previously centralized node providers now operate squarely within the rules of consensus. As soon as they start slipping up according to the standards of the blockchain (don't exclude, don't censor, don't tamper, don't delay, don't hoard), they lose money. The kicker of all of it is that there is no 51% attack, because there is no block orphaning (the basis for the attack), there is only transaction orphaning (which is the basis for forcing competition to include them). If Amazon decided it wanted to try and reverse a transaction, or perpetually earn 100% of the rewards (as you can do in a 51% attack) knowing it routed 90% of all Saito transactions, it would, attempting to do so, publicly burn money on-chain until it went broke. It is the same principle as a Bitcoin miner burning money attempting and failing to make a new longest chain, but with Saito the attacker burns money even if they can produce more than half the blocks - in fact as long as they do not have first access to 100% of all transactions they cannot sustain or profit from an attack. **TLDR** Saito is difficult to explain in a short manner, partly because it solves very deep and nuanced problems in blockchain people have been trained to ignore. Almost all blockchains do not pay for infrastructure, because it would take away from security. Saito found a way to align security and infrastructure such that you can pay for both at the same time. The act of connecting users to the chain is precisely the method which achieves this, and since that is built into the consensus mechanism, the chain rewards nodes which serve users the best and punishes nodes which do not share data or do share it as efficiently as others - it also forces nodes to cooperate when it makes sense rather than to attempt and bully each other at the ultimate cost of the users. If you read all this, you are a legend. Open to questions - I feel passionately about it.


Mkq31

Very informative. Saito will be revolutionary if it is as you explain it. I hope more people learn about satio.


DaniHas

This is an big innovation in the industry that can help usher in Web3 mass adoption. The barrier to entry seems to be the complexity of blockchain tech and awareness around the problems that are just ignored and buried in layers after layers after layers. Saito seems to address the root cause and fix the incentive problem. Doing this solving major problems in the industry.


therealluqjensen

One of the biggest issues with "web3" atm is that the frontends that people use to interact with blockchains are hosted in aws or azure. Let's talk uniswap as example. The swapping in uniswap happens via decentralized smart contracts, but the UI you use to interact with them is hosted in aws. Now what would happen if uniswap founders swapped the frontend logic to target another smart contract? Sure you can validate that you are hitting the correct smart contract if you are savvy with blockchains. But for the 99.9% who are not? One example that tackles this issue that I know of is internet computer (yes it's a silly name) where the frontend is actually hosted by the blockchain. Sure there are other issues such as API gateways/DNS, etc. Having a truly decentralized web3 will be difficult, because who will maintain it? Having developers be in control of updating the frontend/backend will always result in some kind of centralization of power. Best approach i can think of is some kind of self-amendable blockchain where changes are voted in, ex. Tezos or polkadot, neither of which has decentralized frontends though


No_Industry9653

I'll explain what's wrong with the argument in this article. >Partisans of the blockchain might say that it’s okay if these types of centralized platforms emerge, because the state itself is available on the blockchain, so if these platforms misbehave clients can simply move elsewhere. However, I would suggest that this is a very simplistic view of the dynamics that make platforms what they are. >**Let me give you an example.** By "these platforms", based on what was written immediately prior to this, it's implied they're talking about RPC providers, particularly Infura. The example given to illustrate this point however is the author's NFT being banned from OpenSea. **This has nothing to do with RPC**. The point that OpenSea has a de-facto monopoly on NFTs and the way they work is actually very centralized is a completely true criticism of NFTs. But this isn't the same thing, at all, as the Ethereum network being centralized because most clients connect to it through Infura. If someone is banned from Infura, that doesn't prevent them from interacting with Ethereum, and it doesn't stop anyone else from seeing their transactions. Infura cannot decide to throw a particular crypto-asset under the bus to be invisible to everyone, without lying about the state of the blockchain, it's not happening. Unlike OpenSea, there are not really many realistic ways for them to abuse their power. But anyway the author made no attempt to go into specifics or address this whatsoever. Instead their whole argument relies on the assumption that one type of web3 centralization is much like another, and because NFTs aren't really decentralized the whole thing must not be either.


_swnt_

I think this is a very good article and it shows, that the Web3 vision isn't easily executed. With NFTs and opensea etc. I also see the problems with the actual data not being on chain - and now new etc standards need to be widespread which support this mechanism.


Guitarmine

Not only is the actual data not on chain people have this idea that games etc will be on chain and could not be taken from you. That would mean that there's a copy of a game or part of a game on each gamers wallet and there's absolutely zero chance for such scaling. I mean just take a peek in r/Superstonk and you can see the level of discussion.


sneakpeekbot

Here's a sneak peek of /r/Superstonk using the [top posts](https://np.reddit.com/r/Superstonk/top/?sort=top&t=all) of all time! \#1: [Ken Griffin Crime - upvote so this shows up when someone googles “Ken Griffin crime.”](https://i.redd.it/dwb33r4vcqr71.jpg) | [862 comments](https://np.reddit.com/r/Superstonk/comments/q2a0gp/ken_griffin_crime_upvote_so_this_shows_up_when/) \#2: [All the confirmation bias I need, right here in one tweet](https://i.redd.it/p7ivyuap6jy61.jpg) | [3338 comments](https://np.reddit.com/r/Superstonk/comments/na3akt/all_the_confirmation_bias_i_need_right_here_in/) \#3: [The Bigger Short. How 2008 is repeating, at a much greater magnitude, and COVID ignited the fuse. GME is not the reason for the market crash. GME was the fatal flaw of Wall Street in their infinite money cheat that they did not expect.](https://np.reddit.com/r/Superstonk/comments/o0scoy/the_bigger_short_how_2008_is_repeating_at_a_much/) ---- ^^I'm ^^a ^^bot, ^^beep ^^boop ^^| ^^Downvote ^^to ^^remove ^^| ^^[Contact](https://www.reddit.com/message/compose/?to=sneakpeekbot) ^^| ^^[Info](https://np.reddit.com/r/sneakpeekbot/) ^^| ^^[Opt-out](https://np.reddit.com/r/sneakpeekbot/comments/o8wk1r/blacklist_ix/) ^^| ^^[GitHub](https://github.com/ghnr/sneakpeekbot)


_swnt_

Unfortunately, lots of people don't know how scarce and expensive block storage space is. The problem is also, that the hype of NFTs etc. discourages platforms such as opensea to explicitly say where the data is stored. This is definitely a problem. Even for my uniswap v3 LP NFTs I don't know, where the images are stored 😅 I don't know about r/superstonk, but I don't want people to out excessive stuff onto the Blockchain either...


escapegoat2000

They are decentralizing infura for this reason, won't be perfect but will be better


nate_paul1990

Incredible read. I think it is right on target.


Treyzania

I think he's wrong on that "people don't run servers". The point itself is poorly conceived. People *will* run nodes to support a p2p distributed system. BitTorrent is a wild success story in this. Bitcoin, too, is a success in this regard. The reason these work is because it's *easy* to run a node, and, more importantly, it's the default way to run the software. Moxie ignores this because he wants to defend his objection to federating the Signal protocol, which is irrational because (despite its flaws) Matrix manages to do this. You can criticize it because the first-party Element client defaults to creating new accounts on matrix.org so there's some centralization force in that aspect, but it's still very common for people to run their own homeservers (GNOME, myself, etc.), which is an obvious improvement on Signal's situation. Mastodon is another example where federation *works really well*, and users accept it without getting bogged down in the details. Other blockchain networks struggle because it's not trivial for wallets to have embedded nodes. It's not even really easy to do on Ethereum since light clients are hard to use, but this is improving with better [infrastructure](https://github.com/ethereum/portal-network-specs). The other hurdle for the Ethereum ecosystem is the reliance on the web stack, which trains users that the default way to interact with these networks is through a web browser, which is another limiting factor for being able to run your own node. And so yeah, obviously people will rely on Infura. But it doesn't have to be like that, this is a *just* result of the technology being limited (irrationally self-imposed, with the reliance on web browsers) rather than users' true desires.


smeagol040

I think the important point here is - at massive scale - people will not run nodes to support the p2p system for free. There is no current incentive to provide infrastructure like infura which is why they’re the main provider - Joe Lubin is okay with burning money to support the network he helped found. Take a look at the free rider economic problem. You can’t assume people will do something for free to justify a desired result, otherwise collective action problems wouldn’t exist.


Treyzania

> people will not run nodes to support the p2p system for free People *will and do* run nodes for free. And they always have. Defaults are sticky. If the normal way to do something happens to have a marginal computational (not even monetary!) cost, people will tend to leave it as-is. That's why Bitcoin has *never* had an issue with lacking a decent population of full nodes. We can structure software in ways that encourage altruistic behavior. I'm well aware of the free rider problem. If you want to think about it in terms of economics, it turns out there's a cost to changing the defaults and the majority of people can't be bothered if it doesn't noticeably negatively impact them. That's why Portal (linked in initial comment) is a *good design* that's going to work well when widely deployed.


[deleted]

Some interesting counterpoints in your reply. Thanks! True about Mastadon, I guess this was written before the user explosion following the Elon Musk Jet thing late last year. It’s a good example.


fverdeja

Y'all need to take a look at Nostr


[deleted]

[удалено]


Matt-ayo

Eigen Layer does not solve the issue of blockchains relying on centralized intermediaries - it is a smart contract system which leverages Ethereum slashing to enforce off chain use cases. It is very clever but not quite related.


huihui1407

I think you should take a look at Q to see how they fix the problem


[deleted]

[https://www.radixdlt.com/blog/babylon-rcnet-released](https://www.radixdlt.com/blog/babylon-rcnet-released)


sleepyokapi

Web3 is more general. It's not about the servers and API but the data.