4 ms·
A better analogous structure would be the structure used in Git. The only major difference is that Git is a DAG while a blockchain is restricted to being a tre
by QML 9y ago
A better analogous structure would be the structure used in Git.
The only major difference is that Git is a DAG while a blockchain is restricted to being a tree.
What do they have in common?
A block is a commit, containing a metadata and a hash pointing to the preceding commit.
A Merkle tree is a tree, though restricted to having only two children; trees in Git also contain the hashes of its children.
A transaction is a blob, the new file to be included in the next commit.
And if I recall correctly, the Git protocol was devised against a similar issue of centralization - SVNs. If the SVN could not be reached, then you were not able to access your repository. Since there was only one ledger, it meant a single point of failure.
- gus_massa 9y agoActually, the ethereum blockchain includes "uncles" so it's a DAG that is almost a tree. I'm not sure where is the canonical link, but I found https://www.reddit.com/r/ethereum/comments/3c9jbf/wtf_are_uncles_and_why_do_they_matter/ https://www.reddit.com/r/ethereum/comments/3c9jbf/wtf_are_un... and https://blog.ethereum.org/2016/10/31/uncle-rate-transaction-fee-analysis/ https://blog.ethereum.org/2016/10/31/uncle-rate-transaction-...
- natecavanaugh 9y agoThank you for this. For the longest time, I actually thought the blockchain was powered by git, or at least the DAG and associated tech concepts. But I assumed that because it's not too far off, but it is a critical difference. Out of curiosity, I wonder if there's a reason why it's not just built on top of git? Is there an inherent incompatibility between the two, or some sort of benefit to forgoing using existing tech?
- QML 9y agoWhile similar in structure, they have different objectives: Git is for version control of files; blockchain is for maintaining balances. In addition, the protocol of blockchain is way more complex than the one for Git; you have concepts like proof of work and economic problems like double spend that have to be dealt with.
- natecavanaugh 9y agoThank you again. I forgot about the priorities, especially with how the financial industry has a lot of different needs, such as transactional reliability, whereas there are parts of git that are very fuzzy in different areas because file comparison isn't as binary as a financial transaction or have as many repercussions if off slightly.