4 ms·
Ask HN: Is Git a blockchain?
Git is based on a merkel tree and I think it makes git the first widly used blockchain.
What do you think about this?
Ref: https://en.wikipedia.org/wiki/Merkle_tree
- troydavis 9y agoThe key element of the blockchain is proof-of-work as a way to establish consensus: https://en.wikipedia.org/wiki/Proof-of-work_system https://en.wikipedia.org/wiki/Proof-of-work_system git doesn’t have (or for its purposes, need) this, so it doesn’t meet any common definition of blockchain. Prior question: https://news.ycombinator.com/item?id=9436847 https://news.ycombinator.com/item?id=9436847
- ocds 9y agoProof of work is the key element of bitcoin, not blockchain in my opinion. From the same source: "A blockchain[1][2][3] – originally block chain[4][5] – is a continuously growing list of records, called blocks, which are linked and secured using cryptography.[1][6] Each block typically contains a hash pointer as a link to a previous block,[6] a timestamp and transaction data.[7] By design, blockchains are inherently resistant to modification of the data." https://en.wikipedia.org/wiki/Blockchain https://en.wikipedia.org/wiki/Blockchain
- ocds 9y agoOk thanks for the prior question. I'm new here, I don't see the search bar at the bottom of HN.
- 51wittgenstein 9y agoIt's nuanced, but proof-of-work is instrumental in achieving consensus... right now. Truly, the key element is the consensus itself which can be achieved (theoretically) in a number of other ways.
- ocds 9y agoIn software development using git (without the help of centralized solution as github), the consensus is reached by mail and discussions betweens human people who build software and decide where is the trunk.
- dozzie 9y ago> The key element of the blockchain is proof-of-work as a way to establish consensus It's not "a way to establish consensus". It's just to slow everybody down to comparable level, while keeping verification fast. Consensus is a totally different problem blockchain doesn't even touch.
- bsvalley 9y agoAsk yourself - is git decentralized? No. Therefore it’s not a blockchain. Its bytes live in one single location.
- ocds 9y agoGit has been design with decentralized development in mind. It is decentralized by design ... Many user use git in a centralized maner (with github for instance like the old svn and so on ...) but it doesn't make the git core a centralized tool. So, in my opinion, you're wrong; its bytes lives in many locations. https://git-scm.com/book/it/v2/Distributed-Git-Distributed-Workflows https://git-scm.com/book/it/v2/Distributed-Git-Distributed-W...
- bsvalley 9y agoIt’s a cloud based architecrure. You work locally, you synch to a cloud. It’s not a P2P based architecture. It is centralized. Is it a blockchain? No.
- forgottenpass 9y agoGit is a peer-to-peer tool, but flexible enough to let you use a workflow with a more-equal-than-others peer, or even communicate with actual centralized servers that expose a git interface. Git doesn't swarm in a way that often gets associated with the idea of "p2p" by the prevalence of more popular p2p protocols used for file-sharing or cryptocurrencies. Nor is it geared towards world-readability. But none of those are intrinsic properties of peer to peer protocols. I can (and do) use the git software on my computer to pull from co-workers development desktops running the same git software as me. And they pull from me, all with no external servers used coordinate that exchange of trees. That makes git peer to peer. No amount of tools built on top of git that require treating one peer as the a point of centralization can undo that. It just means that those tools aren't p2p. This distinction is often invisible to users, and I don't blame people for missing it because the business model of GitHub and GitHub-competitors rests on everyone thinking they're necessary.
- billconan 9y agohttps://medium.com/@shiyan/ethereum-summary-a53c4a8e66d https://medium.com/@shiyan/ethereum-summary-a53c4a8e66d "I found blockchain resembles Git, the source code management system a lot. Git is decentralized, each programer has a local duplication. What’s saved by Git is a journal of updates to source files (commits). To get the latest file, you apply a series of patches onto the initial commit. You can generate local git commits. These commits will not be written to other people’s Git repository yet, until you perform a “git push”. This is like having a local Bitcoin block, but only when you have won a lottery (mined a lucky number), you have the opportunity to write your local block to the blockchain. You also cannot write random data to the blockchain. Your change has to be verified by others, just like doing code reviews before a “git push”. Or in Bitcoin, a commit (a data write to the blockchain) has several recent transactions. Each of them needs to be cross verified by others."