6 ms·
Actually, Git is technically a blockchain. Commit hashes are a hash of the previous commit hash + new data. The structure (history) is replicated in a decentra
by mrb 7y ago
Actually, Git is technically a blockchain.
Commit hashes are a hash of the previous commit hash + new data. The structure (history) is replicated in a decentralized way on every user's node. The only missing thing is a proof-of-work, but that is optional in the definition of a blockchain.
- benaadams 7y agoWell the commits are proof-of-work; though the validation is done by human (assuming the user doesn't have commit access on the main branch) However its more of a Merkle tree https://en.wikipedia.org/wiki/Merkle_tree; https://en.wikipedia.org/wiki/Merkle_tree; which blockchain is also.
- jakear 7y agoProof of work is just some mechanism for a 3rd party to verify you actually invested “value” into the chain. That’s a PR. Are there any traditional block chains where the proof of work is actually an investment into the chain? Such that the structure of the chain represents something of actual value (not a series of rare hashes), and additions to the chain add to that value? A la git. One potential example would be neural networks on a chain, where the work is training the network, and the value is intrinsic in the well-fitted resultant model.
- trevelyan 7y agoSaito (saito.tech) pays for routing work rather than hashing work. Requires solution to 50 percent attack but means that all fees pay for the work of running the network rather than unrelated activities like hashing or staking.
- PinguTS 7y agoThere is one in industrial protocols for functional safety. It is called Ethercat Safety.
- ptx 7y agoAlthough Git also uses a chain of hashes, just like a blockchain, I'm not sure using this definition of blockchain (i.e. optional consensus protocol) is very useful, because then we need another word for the kind of thing that Bitcoin is. (On the other hand, perhaps the uselessness of the definition suits the uselessness of the concept itself.) If Git is like using a hammer to hammer nails, blockchain (with consensus protocol) enables you to write without a pen by using the hammer to hit your thumb until it bleeds. And Wikipedia already has a pen that works.
- neilalexander 7y ago> I'm not sure using this definition of blockchain (i.e. optional consensus protocol) is very useful Honestly, "blockchain" as a word feels ill-defined and badly understood at the best of times. You could argue that "blockchain" deconstructs to nothing more than a "chain" of "blocks". What "blocks" actually are is up to the imagination, proof-of-work or other algorithms aside. I get frustrated when people hail "blockchains" as the solution to everything because the term is so vague in everyday use that it's effectively meaningless.
- icebraining 7y agoI always thought it was clear: it was the combination of Merkle chains with a proof of investment (work, stake, etc), since that combination was the real novelty, worthy of a new name. It was quite confusing to see people calling "blockchain" to one of the pre-existing concepts. It's like calling any wheel a "bicycle".
- dboreham 7y agoHashlinked, content-addressed, etc.
- CiPHPerCoder 7y ago> Actually, Git is technically a blockchain. No. You can say that git reduces to a Merkle tree. And blockchains use Merkle trees. But you can't say that git is a blockchain. https://gist.github.com/joepie91/e49d2bdc9dfec4adc9da8a8434fd029b https://gist.github.com/joepie91/e49d2bdc9dfec4adc9da8a8434f... https://paragonie.com/blog/2017/07/chronicle-will-make-you-question-need-for-blockchain-technology https://paragonie.com/blog/2017/07/chronicle-will-make-you-q...
- bob1029 7y agoI would argue the Merkle tree (or any other recursive signature algorithm) is the most important quality of a blockchain. To say that git is technically a blockchain is not entirely inaccurate IMO. I think you are looking for the other qualities that typically apply to a blockchain such as the implicit need to "mine" its resources. Git simply produces these resources incidentally. I think this is the only major difference.
- CiPHPerCoder 7y ago> I would argue the Merkle tree (or any other recursive signature algorithm) A Merkle tree is not a recursive signature algorithm, because a hash function is not a signature algorithm. https://paragonie.com/blog/2015/08/you-wouldnt-base64-a-password-cryptography-decoded https://paragonie.com/blog/2015/08/you-wouldnt-base64-a-pass... (Yes, you can build signature algorithms out of hash functions, but definitions matter.)
- meowface 7y agoIt's still missing important pieces. They both fall under the superset of "hash chain" / Merkle tree, but cryptocurrency blockchains are designed to deal with the possibility of bad actors. Git can't ensure trust, unless you PGP sign commits. Git + PGP + some computationally expensive mechanism to broadcast verified PGP key attributions + a consensus algorithm might be a little bit like a blockchain, but I can't think of a good use case for that. Git repos generally aren't intended to be pushed to by the whole world.
- 7y ago
- phire 7y agoThere are no blocks, just bare commits. There is no chain, it's a DAG.
- runeks 7y agoNo, it’s not. The two technologies solve two different problems. A blockchain is basically a single, global Git repository, where each commit is a “block” and the data inside that block/“commit” are transactions. The defining difference between Git and a blockchain is that blockchains define which branch (commit history) is the correct one — the branch that you should put your commit on top of. Blockchain provides a means to arrive at a consensus on which commit history (branch) is correct, while Git does not.