Blockchain is a decentralised immutable database. It is like a distributed spreadsheet with some unique ways to sync data.
Adding data to a blockchain spreadsheet is a costly process involving useless computation. Tampering with the spreadsheet is even more time consuming. Because of this peculiar property, data can be easily synced and verified by following the biggest spreadsheet.
Blockchain can be implemented in PostgreSQl too and its most useful in preventing data tempering.
While bitcoin stores just transactional data, ethereum which is a generalisation of bitcoin can be used for data storage (preferably in kbs / user).
Blockchain databases are slow but it can be useful “source of facts”. It helps in creating database applications where tempering can be traced far more effectively than sql’s auditing.
Uses of blockchain so far
1. money transfer
2. small data storage – DNS, profile information
3. cap table – ICO, DAO
4. finance protocols
5. NFT – store urls
6. smart contracts – law as code
7. trading data
Smart contracts are like database triggers that can create additional data.
It is costly to use blockchain for everyday data especially data like messages, images, files and videos especially when dealing with multiple users. Other databases like IPFS are preferable for large data. Its transactional bandwidth is however fine for small communities. A sharding layer is needed to make blockchain internet scale.
I dislike that web3 is just being touted as ethereum. It’s just one part of the many protocols that make up web3 IMO.
1. streaming – webrtc
2. messaging – websockets
3. anonymity – tor
4. data privacy – solid
5. semantic web – microformats, rdf
6. federation – activity pub
7. p2p / decentralised data – hypercore, webtorrent, ssb, ethereum
8. money – bitcoin, ethereum
9. high performance applications – wasm, webgpu, webworkers
10. multimedia – webgl, canvas, webvr, webaudio
11. hardware – webusb, webmidi
12. spa – webcomponent, offline workers