The views on centralized services such as Infura really resonate with me. A few months ago I looked into how Ethereum and smart contracts work and got excited that there is basically this shared "virtual machine" with persistent, public state that can only be altered by interacting with those smart contracts.
But soon after it became clear that it is not really possible for me (or any regular "client" as the article calls it) to look at the state of the virtual machine and evaluate view functions myself. The block chain is so large already that we need to rely on big servers which are operated by other people to do this.
You can do this locally though, it just takes like 200 GB. I've run an Ethereum full node + eth2 beacon chain node on my Macbook Pro for local development, took like 10 hours to sync IIRC and just worked afterwards. I still use Infura for projects though bc I don't really see the value in running my own hosted client for pet projects. If I was doing a production app I'd likely use my own w/ a 3rd party service for backup/HA.
Ethereum has plans for state expiry, so that to maintain a verified copy of the blockchain you won't be expected to maintain a growing list of state transitions since genesis anymore.
A sister initiative, weak statelessness, means that you will be able to verify the validity of the chain without needing to store state at all.
But that's just it.. One would have to stand up a server that hosted the 200gb, so their Iphone users could consume the data. Or they'd go through a central server.
Yeah that’s fair enough, and it’s changing so fast. I imagine alot of the current problems will be fixed over time… it’ll get there eventually. There are some good educational resources cropping up now e.g. Web3 University and rabbithole.gg
Running nodes is pretty easy with setups like DappNode. Full eth nodes arent that big, i synced a new one in a couple of days last week onto an old ssd.
Most heavy contract data is stored offchain on ipfs, so you can just pin the stuff you are interested in.
Where i would agree is indexing/searching lots of data is a pain. You cant just give an address and get a list of tokens associated with it, you have to call every token and get its balance. It makes sense, but its annoying, and is why opensea api is so popular for nfts. But i have hope with services like TheGraph growing that search and index also has distributed and resilient design and we become less dependant on one endpoint api.
But soon after it became clear that it is not really possible for me (or any regular "client" as the article calls it) to look at the state of the virtual machine and evaluate view functions myself. The block chain is so large already that we need to rely on big servers which are operated by other people to do this.