How hard is it to create a competitor to infura? MetaMask should be incentivized to do this as they're core offering is controlled by one party.
[edit] Never mind, metamask and infura are owned by the same company (ConsenSys). It's even worse than it appears...
Regarding the immutability of NFT image pointers:
Some emerging solutions to this issue are:
Use ERC2477 (DRAFT). This allows you to have some control over the metadata to ensure the name is as you want it. Note that this will require you to implement a zero-knowledge proof or a JSON parser on-chain which validates the new metadata.
Use 0xcert Framework. The 0xcert framework is specifically designed to provide metadata integrity for ERC-721 tokens, it uses a different hashing technique (Merkle tree). But it requires you to use the same schema across metadata versions. Ceramic Network is doing some interesting work on schema coordination amongst other things.
> How hard is it to create a competitor to infura?
Infura is merely hosting nodes for you and exposing their JSON RPC endpoints. They did not _create_ the API.
There's already plenty of competitors in that space. QuickNode and GetBlock for instance, if you want mutualised/managed nodes. You can also host your own node yourself, or use e.g. AWS Blockchain to host it for you, or even use the public free hosted nodes that most blockchain project provide. It's just a Metter of trade-off between cost, time and security.
If you are using JSON RPC APIs (which most people do) there is nothing that locks you to Infura or any other provider.
How do you switch to another provider in Metamask?
Unless there's another equally popular extension, not made by Consensys the presence of that option is irrelevant.
Also, metamask is not the only wallet there is... Some dApps only accept Metamask buts it's becoming rare. Most dApps implement multiple alternatives, like WalletConnect, which is more of a dapp/wallet protocol, which allows you to use any wallet software.
I actually struggled with this point throughout the article. I'm not sure I see this as a parallel trend toward centralization like we saw with web2 - but rather that this is how software is built today and this is what we're comfortable with. It doesn't seem unnatural or problematic to me that we will start with something that approximates the world around us today and move toward the decentralized end state that apologists are hoping for.
Is there any evidence that this is actually happening? It seems rather backwards! Is the maximalist argument here that these companies are going to build out all this infrastructure, move the global financial system onto it, and then rip it apart and rewrite it to be entirely distributed afterwards? Why? If the point is to be distributed, wouldn't they want it to be distributed first?
Where are the blockchains with full-fat clients that can actually run on normal mobile devices? And if they actually exist, does anybody use them? Like, for normal, actual uses, not "shilling this app makes my portfolio go up 300% before I dump it on some clueless bagholder, to the moon rocket emoji rocket emoji".
As for full-fat clients on normal mobile devices, the main issue is the data requirements. Running a full node can take hundreds of gigabytes. It is possible on light hardware. People are running Beacon chain nodes on Raspberry Pis. But you do need the storage and that tends to be scarce on mobile.
Meanwhile, the Ethereum core devs are aware of this issue and are actively working towards it. They shipped the Altair hard fork this year that has adds sync committees which make it possible to do without needing the whole chain history (using merkle trees): https://github.com/ethereum/annotated-spec/blob/master/altai...
The light clients to follow from those improvements are forthcoming but here is one in progress: https://our.status.im/nimbus-fluffly/
Facebook stores data with replication. I’m not sure which scenario involves FB being wiped off the face of the earth, while retaining blockchains.
Regardless, your comparison makes no sense. It’s like comparing a recursive and authoritative DNS server.
Lots of developers including myself have had things break when Twitter decided to abandon its liberal approach to APIs. There was no alternative endpoint I could just point my app at.
For clarity, you are now arguing a tangential point.
> Twitter decided to abandon its liberal approach to APIs
I just don’t understand the comparison between Twitter/FB to a blockchain.
Are crypto maximalists arguing that social networks are only about the database itself and access to it?
> There was no alternative endpoint I could just point my app at.
The article already has a great example about this not working as intended - opensea removing his NFT from their API despite it existing on-chain. And every NFT viewer using the opensea view of things than the chain’s view.
I don’t think I am; all these fall under GP’s first sentence; I took “goes down” in the next sentence as one example, WLOG.
> Are crypto maximalists arguing that social networks are only about the database itself and access to it?
I can’t speak for crypto maximalists (I’m probably as skeptical of this stuff as you are), but I think the best argument is that the existence of a viable off-ramp forces the centralized player to be a good actor. Similar to how many open source projects are very centralized, but the possibility of a fork (like mariadb) is enough of an incentive that it’s rare for a project to screw up so badly that a fork can gain steam.
I haven't heard anyone articulate this as their vision lol. I would think they distribute the systems somewhere between trading monkey JPEGs and actually moving the global financial system onto it.
As to why start with it centralized, it's easier to get a POC working with the systems and conventions we have in place today than alongside rethinking all of the infrastructure at the same time. Work on the UI, trade some stupid goods that finance the development of these distributed systems, etc. I just don't understand the argument that this whole thing will or should be binary. Huge migrations like that fall over all the time. Gradual rollouts take longer but are generally safer and in this case probably the only option.
"Okay."
"But our prototype has four wheels, as a temporary prototype to test out the technology."
"That doesn't seem like it tests the technology very well."
"I don't see why you're quibbling about the details. We've sold thousands of ThreeWheels to people who are very enthusiastic about living in a three wheeled future!"
"You've sold four wheeled cars to people who want three wheeled cars?"
"They then resell them for tens of thousands of dollars more than they paid! They're ecstatically happy! Nobody is bigger fans of the three wheel car future than our customers."
"Even though these cars, the cars they purchased, have four wheels."
"Well, they could remove one wheel later, if they wanted."
"Would that work?"
"Oh no, absolutely not. You couldn't drive it at all, then. It would be much worse than a regular car. A lot of work remains to be done to gradually transition current ThreeWheels to a three wheeled form. We plan to send robots to each customer's garage to cut sections from the frame and re-weld them together. Then we need to swap out the steering rack, re-route the driveshaft, change suspension components, brakes..."
"That sounds hard."
"Yes, we think it will take hundreds of changes over years to move current generation ThreeWheels to a three wheeled mode."
"Instead of just building three wheeled cars today?"
"Wow John Cena bought a ThreeWheel and posted it on his instragram! My collection of ThreeWheels is going to explode in value! I love my job!"
99.999% of internet software is built iteratively. Even programming languages and operating systems have versions. This argument about needing everything to be decentralized from the beginning is exposing bias because it's not a logical conclusion unless you're bent on antagonizing web3.
Even most DAOs start out centralized and slowly become decentralized. This is expected. You don't want to go full decentralized until everything is stable.
This is also how democratic governance works. A core group of “trusted” leaders makes decisions that are ratified by elected representatives. It is then disseminated through the various layers of governance and implemented in a distributed fashion.
I agree there are many scams but we really are in more of a research period with regards to the tech. The research will continue through the hype cycles.
So no, it can't be validated, and it can't be migrated.
This is only true of the data stored on the blockchain itself. As described in the article, that isn’t anywhere near enough to replace the centralized systems being billed as “web3”, and it’s completely unworkable for data which can’t be public, which is updated frequently, or which needs to be deleted. Combined with blockchains being unavoidably quite expensive and slow, and the challenges of standardizing protocols while the competition is shipping it seems quite unlikely that this will change.
It doesn’t reduce lock-in meaningfully if Google were to continue to store and process all of your data but now you’re using an outside authentication system. I’m sure they would love, however, the way “web3” makes their job of tracking users so much easier.
For data that needs to be updated, all you need is an override mechanism, which sounds simple enough.
For updates, you can definitely replace things but that's expensive if you have to pay a transaction fee regularly and it could quickly get to non-trivial storage sizes if you have to store obsolete versions in perpetuity, especially with non-trivial metadata overhead.
As we have clearly seen with OpenSea and rampant fakes, copies, plagiarism etc. Oh wait...
We already see this with blockchain payments. The vast majority of merchants who accept cryptocurrency payment do so through a service that manages their wallet and typically offers some kind of value-added features to lock them in. There is no reason to believe the same will not happen with Web3, if it is not happening already.
for all of the reasons that web3 apologists are excited about decentralization. I'm not really one of them, so I'm not going to advocate on their behalf, but lots of people are very excited about this.
> It is almost always easier to have at least some central point of control
I don't think anyone is going to argue that decentralization is the easiest solution.
I agree that it's hard to remove this point of centralization once it's there. My guess would be that, if this goes the way many are hoping, new places emerge over time with increasing levels of independence from these central providers.
The point of blockchain was removing trust from a single person and spreading it around over a network
This actually proves the point that security is relative. There are instances when I would feel more secure when an outside party can refund my money, say when the seller never ships the product I ordered. There are also times when I would feel less secure with chargebacks, like when I sell something on eBay and the buyer files a complaint with PayPal after taking delivery of exactly what they ordered.
Security wasn't an original goal of bitcoin. Privacy, anonymity, and immutability were, though the first to were lost a decade ago and immutibly is pretty well solved but also the primary cause for so much wasted resource consumption.
Your comparative examples make no sense - you like refunds as a customer and hate refunds as a vendor.
Surprise, surprise…? I mean this is already the case in web2/fiat.
That’s just not true
Here's[0] an example doing it on k8's. I had something similar running on GCP in a couple hours. It's been running for a month with no issues.
0 - https://messari.io/article/running-an-ethereum-node-on-kuber...
The article makes it sound like Infura has a moat. There's no moat, it's as easy to switch as it is to switch Postgres clouds.
To be clear, I agree with most of their findings, this on is just a bit off.
It's easy to do a basic install.
It's quite hard to do it right, at scale, with workload-appropriate configuration, replication, backup etc.
My point... neither Postures nor Indira, or any other blockchain solution are easy to install and maintain in a fully scaled-up, fault-tolerant, multi-node deployment
Every year a decreasing number as everything moves to SaaS and the cloud.
Office 365 financials alone suggest that the answer is "very few, and rapidly decreasing". I work for a ~30k employee technology company that doesn't run it's own email servers.
I’d imagine it’s a large number of Office 365, GSuite by Google and Barracuda/ProofPoint which may point to a SaaS thing or an internal server.
The API is the same, swapping out for another node is just a config change
There are monthly utilities and regular maintenance as well. Networking could also be a problem, you'd really want a static IP and an unlimited high-speed network which isn't always supported by many home ISPs
> And most infura usage doesn't even need a full node, so it's easier to run
I don't know as much about the protocol details of infura. Have they found a way to verify transactions with a partial node? That'd be huge if they have, regardless of what happens to the current NFT platforms!
Many projects have chased pruning, but it always seems to get stuck when people realize that means adding trust into Tue system since you can't trace back to the genesis block
The level of centralization is a spectrum and I don't mean to fall into the trap of describing it as all or nothing. The question is how close to decentralization web3 is or can be, and my concern with regards to picking your own API endpoint is just how similarly it is to the original point Moxie was making with regards to there only really being two API hosts in use
> How hard is it to create a competitor to infura? MetaMask should be incentivized to do this as they're core offering is controlled by one party.
> [edit] Never mind, metamask and infura are owned by the same company (ConsenSys). It's even worse than it appears...
Currently working in the space (graduated from doing systems-level . My hot take is what is considered a "full node" can potentially use significantly less resources. The base word size is 256-bit (size of SHA256), most is either 1s or 0s, the entire raw Ethereum blockchain is roughly 350 GiB uncompressed, probably can be much better with zstd compression on multi-core. Let's just quietly ignore that most is not using an assembly-level optimized implentations of uint256 arithmetic operations. Also all the current clients (a) afaik run transactions single-threaded, and (b) no on-disk compression, (c) at best use mmap relying on OS level paging even though you're going to have 32-byte random reads invalidating entire 4K or 16K pages out of ~3TiB of read/write space. I'm more than certain execution can be ran speculatively using STM (software transaction memory). I seriously doubt that most Ethereum transactions within a single block have that much r/w contention if you were to execute them in arbitrary order in parallel. Basically application level speculative execution (except you know the ending hash ahead of time, so you know of the ending state is valid or not). Anyhow...
Are you trying to say that by optimizing a node's software, people will be able to run a full node on their devices?? That's patently false currently, even more if the technology actually goes viral one day (small system-level optimisations simply won't scale to compensate for the fast increase in the blockchain size).
And that is also true for the crypto/web3 world: Outside of some niches, it does not add any value. Almost anything it can do, existing centralised technologies can do better. The only reason they haven't so far is that most of these things are not terribly useful to begin with.
Centralization is often a short term win, decentralization is a long play. Unfortunately, we almost always seem to chose immediate gratification which is why we see decentralization abandoned early, and why we see democratic freedoms being replaced by authoritarian control.
And whenever the sovereign enforces a law, the person facing the enforcement will consider it tyranny. It’s a known paradox of the power we, the people, grant to the sovereign.
Never in a sovereign.
delegation is not the same thing as decentralization.
democracies and authoritarianism are both centralized, the difference is that one is a cooperative model, the other one is not.
Look into any of the writings that led to the USSR and you'll find it all over. The goal was total government control would be the best way to optimize resource allocation. They were making the case that Soviet communism would win out against fascism because they could make everything faster and cheaper.
A blockchain based voting system with each state acting as a PoW validator could actually work. The main challenge is how to centralize key distribution in a way that is accessible to everyone without compromising anonymity. If anyone knows your public key they know exactly who you voted for in every election.
It stands in such stark contrast to other content. For example, a web3 chat app announcement I saw yesterday [1]. I even joined the Discord to learn more and just found...hype.
I found this parenthetical to be amusing:
> (visualizing this financial structure would resemble something similar to a pyramid shape)
Pyramid-shaped financial setups indeed :).
[1] https://twitter.com/MessagePartyApp/status/14791510011813765...