In all seriousness, the quality of this article is abysmal.<p>It's just a stream of rants about centralized vs decentralized without a single argument or explanation that stands on its legs. There are also a lot of asumptions and wishful thinking about the prospects of decentralization in finance and banking that clearly show the cluelessness of the author.<p>> I’m not the first person to tell you this, and certainly not the last, but Web3 is in fact centralized, just as Web2 was. Web3 is just a worse version of Web2.<p>Hum okay, dare to clarify? Nope, there's just not a single place in the article where some argument to back this claim is made. Yet this is repeated over and over. This is just argumenting by repetition.<p>> A lot of Web3 platforms are in fact centralized. Your wallet (MetaMask), marketplaces (OpenSea), APIs (Alchemy) are all central platforms. Sure, they use a distributed database (blockchain), but before that it’s still a Go app on AWS, meaning its centralized.<p>What does that even mean? I fear the author has no idea what he's talking about, and does not really understand how a Web3 app work. For those that wonder, here is what it typically looks like:<p>- You put the logic of your Web3 app in a smart contract, that's the essence of why it's called a distributed application.<p>You will most likely want some kind of graphical interface so that your users can interact with it. It wouldn't be very convenient if your app was just an API to call your smart contract on a blockchain.<p>- This GUI often takes the form of an SPA, which indeed you need to somehow serve to the users. You can serve in a distributed fashion, using IPFS for instance, but since the adoption is not that high, often there is also a traditional webserver somewhere to deliver the SPA (e.g. AWS Cloudfront or any other CDN). This is one of the potential point of centralization, but it gets better everyday with adoption of IPFS and such.<p>Now you have 1) the logic of your app in a smart contract on the blockchain and 2) a graphical interface that was somehow served to the client. You now need to let the GUI interact with the smart contract. There is mainly two possibilities to do that:<p>- Require the client to use a browser extension that offers an API for the webapp to pilot the user's wallet. That's what MetaMask does. It exposes an API that is usable from javascript webapps, and perform wallet operations accordingly. It's a bit annoying to use though, for two reasons: 1) MetaMask is a specific extension, with a specific API. If your webapp needs MetaMask to interact with the blockchain, you are somehow restricting the user to a single possible software, which is not really ideal (note that users could still directly call the smart contract, but we're talking about the average user here, not programmers) 2) MetaMask is not _just_ a bridge between a webapp and the blockchain, it's also a wallet, in that it wants to hold and manage your private keys for you (though there have been some developments to use hardware wallets with MetaMask). Note that MetaMask in itself is not _really_ centralized, it's just a software that you need to have installed. MetaMask communicate with the blockchain using traditional JSON RPC, so you need to configure MetaMask with the address of a node on this blockchain that accepts JSON RPC. Could be your own self-hosted node, but for simplicity MetaMask defaults to a mutual hosting blockchain node provider: "Infura".<p>Overall, if your graphical interface only support the MetaMask API to interact with the blockchain, it defeats a bit the purpose, which is why new solutions (and standards) are emerging.<p>- One promising alternative which is starting to be implemented in a lot of Web3 apps is "Wallet Connect". It's a protocol for bridging a webapp and a wallet. There's a lot of advantages to this model: 1) the webapp is now agnostic of the wallet it talks to. Any wallet application can support the "Wallet Connect" protocol and thus be used with any Web3 app. 2) There is no need for the wallet and the Web3 app to communicate locally (e.g. with a browser extension). You can use a Web3 app on your computer and pair it with a wallet on your phone or hardware wallet.<p>> Once upon a time, it was easy to mine Bitcoin. But Bitcoin took off, and it’s now absurdly hard to mine Bitcoin. You need farms of GPU mining just to get tiny amounts of bitcoin.<p>Hum, yeah right, I agree with the author on this one, but what's the link between the energy consumption of Bitcoin's PoW, and the centralization of Web3 apps?!<p>> The design of blockchain, is that as more coins are mined, you need more computing power just to get smaller amounts of blockchain.<p>Hu, no, that's the design of "Bitcoin", not "blockchain".<p>> And even if the environmental concerns were nonexistent, if it’s so hard to mine Bitcoin, it favors established miners over newcomers. Is that really what you call a “decentralized” platform?<p>Indeed, which is why the overwhelming majority of blockchains are now "proof of something-that-is-not-work" (typically proof of stake).<p>But proof of stake does not solve the whole problem of the divide between "regular users" and "miners". Most people "staking" on blockchains use some kind of proxy or service to do so, because, well, it's not like everyone wants to host a block validating node even if it doesn't use much electricity.<p>Which leads me to modern blockchains that have WebAssembly SDKs, so you could perfectly imagine that you would be able to contribute to the blockchain during your browsing of the website, this eliminating the need for node hosting and staking services altogether.<p>> Expecting the financial industry to run on blockchain is like expecting AT&T to run their backbone on a Amazon warehouse sized place full of 56k dial-up modems.<p>Clearly, clearly, you have no idea of how the financial and banking systems are solving asset settlement and reconciliation today, because blockchain solves _exactly_ that problem, and in a very efficient and secure manner. Not only that, but even the slowest of the worst blockchain out there is infinitely more efficient and fast at settling transactions than any existing custodian, back office, clearing house, or broker.<p>Lots of people assume that when they see a transaction incoming on their bank account, then it's "done". Similarly, people assume that they can "buy a share of Apple and sell it to buy a share of Microsoft" in the same day. That's a horribly wrong understanding of how it works, trust me, I've been working in finance for 15 years now.<p>The reality is much, much more complicated than that. Most financial settlements are _at the very least_ 1 (or 2, or 3) days. The whole finance and banking industry is built around huge settlement/unwind systems that give you the impression that things are instantaneous, while you're just seeing "optimistic states in case of no settlement errors".<p>See <a href="https://www.fidelity.com/learning-center/trading-investing/trading/avoiding-cash-trading-violations" rel="nofollow">https://www.fidelity.com/learning-center/trading-investing/t...</a> for an introduction of brokerage settlement, then realize this is just the tip of the iceberg.<p>> Sure, I work at Microsoft 365, because I had to. It was join Microsoft, or be dependent on my dad for money.<p>That sure escalated quickly.