top | item 16039927

(no title)

LogicalBorg | 8 years ago

I don't see what the excitement is about blockchain. Can't you do the same stuff with SQL?

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.

discuss

order

noggin|8 years ago

Under your design, it sounds like it would very much be possible to produce a modified history that remains valid, by repeating the hash chaining process from the point of the edit. You couldn't do it un-noticed because the hashes would change, but you would still end up with a valid database entry at the end.

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.