Suppose I start a Web2 company, and end up building the next big social network. Or maybe I deploy Mastodon or Qbix and make a large community.
Now elections, roles, permissions and credit balances may hold significant total value.
Various jurisdictions now start to require you to hold surety bonds, get audits etc. Suppose you manage payments volume of $20 million a month for a teacher marketplace. One of your developers can just go into the database and change all the balances, salami-slicing money to themselves. Or someone can go and change all the votes.
How can the users trust elections, or that you won’t abscond with the money one day, or get hacked, like FTX and MtGox?
Web3 solves this with smart contracts. For the first time in history, we can guarantee (given enough nodes) that it is infeasible to take actions you are not authorized to do. The blockchain is readable by everyone - but more importantly, only authorized accounts can take individual actions that do a limited amount. It’s truly decentralized.
The alternative is to build elaborate schemes where watchers watch the watchers — and the more value is controlled by the database (in terms of votes or balances) the more risk and liability everyone has. Why have it?
Have teachers be paid by students using web3 smart contracts and tokens. Your site becomes merely an interface which contains far more low-value things.
As for data, you can store it on IPFS with similar considerations. Read this:
As you can see, my company and I have been giving it a LOT of thought, and not distracted by ponzi schemes. I am able to articulate exactly when you need Web3 and IPFS.
Do smart contracts resolve that problem? I don’t think they do completely.
Most people won’t have the knowledge or the time to verify the contracts. They will trust your word that they can’t be used to scam them. Smart contracts can still have failures too. And as long as the blockchain doesn’t control the real world, it won’t guarantee anything there (such as people making multiple wallets to manipulate the votes).
> The alternative is to build elaborate schemes where watchers watch the watchers — and the more value is controlled by the database (in terms of votes or balances) the more risk and liability everyone has. Why have it?
Why not the alternative of a regular bank account with public records? That also eliminates the risk that any mistake or manipulation stays there forever. It’s a tradeoff, not an absolute improvement.
In any case, it seems you have indeed thought about a real use case where the blockchain at least makes some sense. But that’s precisely my point, we need to be talking about actual use cases and not empty claims about potential without actually looking at why it’s useful.
1. End-users don’t need to personally verify smart contracts or any other open source software. The key is to have each version have a hash, and on EVM thatms easy — it’s the address of the contract. Then, more and more auditors go through the code and sign off on the contract. In fact, this should be done for lots of open source ecosystems, eg composer or npm, because then we might not have stuff like this: https://blog.sonatype.com/npm-project-used-by-millions-hijac...
2) On EVM you can just audit a smart contract FACTORY, and then people can trust all the instances made from it. This is immensely powerful.
And then there is also regular use by people who put huge amounts of value into a protocol and it is never hacked. It is why for example people trust UniSwap liquidity pools not to rugpull them, and the same with many other protocols.
Now, to be fair, you don’t need a blockchain for that. You can use merkle trees and code signing. But the current Web sucks at it — you just have to trust the server not to suddenly send you bad code, or your “user agent” to execute JS that sends your password in the clear somewhere. And App Stores are black boxes where you just have to trust Signal’s claims or Telegram’s claims. I write about that here in much more detail:
There are real societal consequences on the largest scales, from these platform choices of tech stack.
3) Sure, in the real world, things may not match the data on the blockchain. That painting could be stolen despite what the NFT says. The house up for sale may be a fake. And someone could default on a loan that you thought would bring you revenues.
Blockchain doesn’t guarantee any of those things. However, on Aave marketplace, I am guaranteed a return, or my money back in the token I had lent. So my risk is reduced now to black swan events on the token market, so if I’m using mainstream tokens the chances of getting wiped out or losing my collateral are almost totally eliminated.
People who don’t want to use it don’t have to. But if you’re building a very big community with a lot of value at stake, would you rather put votes, roles, and balances into a central database and PHP app code, or a blockchain with smart contracts?
From personal experience I can tell you it should be the latter.
4) In your example it would be the bank that would opt to use blockchain and freely offer other indepdendent entities not under their control to run nodes snd secure it. It reduces the bank’s risk and liability!
And yes thank you for recognizing that there may be a real class of use cases!
Now elections, roles, permissions and credit balances may hold significant total value.
Various jurisdictions now start to require you to hold surety bonds, get audits etc. Suppose you manage payments volume of $20 million a month for a teacher marketplace. One of your developers can just go into the database and change all the balances, salami-slicing money to themselves. Or someone can go and change all the votes.
How can the users trust elections, or that you won’t abscond with the money one day, or get hacked, like FTX and MtGox?
Web3 solves this with smart contracts. For the first time in history, we can guarantee (given enough nodes) that it is infeasible to take actions you are not authorized to do. The blockchain is readable by everyone - but more importantly, only authorized accounts can take individual actions that do a limited amount. It’s truly decentralized.
The alternative is to build elaborate schemes where watchers watch the watchers — and the more value is controlled by the database (in terms of votes or balances) the more risk and liability everyone has. Why have it?
Have teachers be paid by students using web3 smart contracts and tokens. Your site becomes merely an interface which contains far more low-value things.
As for data, you can store it on IPFS with similar considerations. Read this:
https://community.intercoin.app/t/who-pays-for-storage-nfts-...
As you can see, my company and I have been giving it a LOT of thought, and not distracted by ponzi schemes. I am able to articulate exactly when you need Web3 and IPFS.