(no title)
LogicalBorg | 8 years ago
Blockchain:
* Separates your transactions into blocks and hashes the blocks together.
* Uses proof-of-work to add new blocks.
* Is slow (a block has to be filled).
* Is unreliable (your transaction may be rejected).
* Locks transactions at the block level.
* Easy for user to lose unique tokens (coins).
My SQL design for blockchain replacement:
* Take a database table.
* Allow INSERT permission only.
* Hash each record and insert the hash into next record, which chains them together like blockchain.
* Replicate the database.
This is like blockchain, because it hashes the records together, can't be modified, and has backups to ensure it can't be modified.
Unlike blockchain, it:
* Is centralized but still has backups.
* Is cheap (does not require proof of work).
* Is fast (one transaction at a time).
* Is reliable (ACID transactions).
* Locks transactions at the record level.
* User not required to keep track of coins.
So what's so great about blockchain compared to this design? The only thing blockchain does better is that there is no central server, so it's hard to shut down. But for industry use, no one is going to shut down their intranet servers. Only criminals need to worry about being shut down.
noggin|8 years ago
More to the wider philosophical point, having a single centralised server means putting trust in a single authority - I'm not talking so much about the possibility of being shut down (although that ought to be a worry for more than just criminals) but about the power, implicitly granted to whoever maintains the central database, to act as gatekeeper.
Essentially, if you're happy having a single central authority (if you're willing to trust that they'll always play fair, never try to interfere with transactions, never exploit their position for profit, never deny service to particular customers) then all the hashing and chaining is a meaningless veneer and you might as well just use Paypal. If you're _not_ happy with a single central authority then "Just use a database" misses the point entirely.