4 ms·
> How is blockchain superior than me just creating a git repository on GitHub called "allmoney" and just setting it up such that a commit represents a transacti
by nsilvestri 5y ago
> How is blockchain superior than me just creating a git repository on GitHub called "allmoney" and just setting it up such that a commit represents a transaction and the log represents the ledger?
Blockchains are designed in such a way that each new block contains information from the previous block. Changing a single transaction in the past on a blockchain requires doing all the work to make each subsequent block conform to the rules, something which is designed to be prohibitively expensive to do by generating unlikely random hashes with special properties. Even if someone decided to do this anyway, the protocol says that in the case of competing chains, go with the chain that has the most work put into it. So it's just not feasible for someone to rewrite history in a healthy chain with many nodes validating/mining blocks; they just can't catch up, and nobody will trust their chain.
Git commits are designed around the idea that they can be rearranged relatively freely, and rearrangements are cheap, so there's no good criteria for trusting the git history that has the most work done with it.
- giaour 5y agoThis is more a social convention than a technical limitation. Both Git and blockchains use Merkle trees to describe a linear history, and both allow rewriting history (via "git rebase" for the former and forking + the manual equivalent of a rebase for the latter). Many hosted Git repos disallow rewriting history on the central branch (i.e., they do not permit force-pushing to the main/master branch).
- fastball 5y agoI think you have it backwards. On git it is a social convention, and when it's a technical one it's only because some singular 3rd party (e.g. Github) has made it this way. e.g. an employee at GH certainly can rewrite history on the central branch of your repo. Not true for a distributed blockchain.
- endisneigh 5y agothis is not really true. how exactly could a GH employee rewrite history on the central branch without being detected?
- fastball 5y agoWhat do you mean? They just access the database / server that stores your repo and they modify it.
- endisneigh 5y agoyes, and when it is modified the hash changes - it would be obvious it was modified. how are you suggesting they do this in a way that is not detectable?
- fastball 5y agoRight, but it's still modified. There is no single source of truth.
- endisneigh 5y agoI'm not really following you. in this scenario, the source of the truth, is the repo, not necessarily the repo on GitHub. GitHub is just hosting the repo. in your attack situation, since it's trivial to see it was changed, you would just push over the verifiably correct repo and switch hosting providers.
- fastball 5y agoWho would switch?
- insert_coin 5y agoI could also fork the blockchain, now you have two blockchains. It's the same thing.
- giaour 5y agoI don't see how it's not true for a distributed blockchain. People have forked the Ethereum and Bitcoin blockchains, and individuals chose whether to follow the fork or what they believed to be the original, uncorrupted version. Technically, anyone can fork a blockchain; socially and due to the governance processes of the blockchain's user community, this is difficult to pull off.