5 ms·
> The owner of a git repo can even rewrite the whole history of a repo. If tomorrow Linus rewrites even a part of history of [0], every single one of Debian, C
by pritambaral 8y ago
> The owner of a git repo can even rewrite the whole history of a repo.
If tomorrow Linus rewrites even a part of history of [0], every single one of Debian, Canonical, Red Hat, Amazon, Gentoo, Google, AOSP and my-friend-who-always-builds-mainline are going to notice. They are all going to continue to have the choice to fork their own; only this time, better motivated. Hell, if Linus is sensible in such a scenario, he will abandon his 'history-rewritten' fork and clone one of these guys' and carry on, just so everyone can stay on the same fork with the least effort.
Yes, rewriting history would be a fork. Git is not a VCS where a remote can rewrite local branches. Only the local user can make Git do so. If someone decides to follow Linus's history-rewritten fork, they will have to voluntarily do so; and even if they don't, they can always carry the original fork on among themselves, paying no heed to Linus [1]. Does this sound similar to how forks work in Bitcoin and Ethereum?
----
0: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...
1: This is because Linus is the owner of only one repo: [0]. Upon cloning a repo, the cloner becomes the owner of the clone. Ownership does not transfer. A cloner is free to go their separate way with their clone, as they are free to continue to copy changes dilligently from the source, and everything in between. Git does not concern itself with reputation or authority.
- calibas 8y agoYes, and that's part of the beauty of git, everyone can go fork it and create their own version of a data store. In the case of something like a cryptocurrency, letting everyone create their own version of a ledger and get to decide which one is "correct", would be a complete and total failure of the system. In my opinion, that should be part of what differentiates a merkle tree based VCS from a blockchain. The point of a blockchain is a singular, decentralized, "immutable" data store. Unlike git, version control is not what everything revolves around, version control is there so we can be sure it's a singular, decentralized, "immutable" data store. I just don't see the point in defining blockchains so vaguely that even git counts. In practice, these are different systems that deserve different terminology.
- pritambaral 8y ago> everyone can go fork it and create their own version of a data store And with cryptocurrencies, everyone can go fork it and create their own ledger. That not many do it is unrelated to the datastructure. > In the case of something like a cryptocurrency, letting everyone create their own version of a ledger and get to decide which one is "correct", would be a complete and total failure of the system. Yes, as a system. > In my opinion, that should be part of what differentiates a merkle tree based VCS from a blockchain. A "merkle tree based VCS" is a system. A cryptocurrency is a system. A blockchain is just a datastructure. > The point of a blockchain is a singular, decentralized, "immutable" data store. Which git is. > Unlike git, version control is not what everything revolves around In git, version control is not what everything revolves around. Git was designed for version control, and a merkle-tree of objects and dirtrees and metadata and commits was chosen to implement it on, which is what everything revolves around. Just like how Bitcoin was designed for payment, and a blockchain of transactions was chosen to implement it on. > I just don't see the point in defining blockchains so vaguely that even git counts. This sounds a bit like you're trying to come up with a definition of "blockchain" with an express purpose of excluding git from it. > In practice, these are different systems [emphasis mine] that deserve different terminology. And this, is the heart of our disagreement. You're comparing the systems git and cryptocurrencies, only you call the latter "blockchains". I'm comparing datastructures, and I distinguish between the terms "cryptocurrency" (which I consider a system) and "blockchain" (which I consider a datastructure).
- calibas 8y agoSo what was the first blockchain? I think you're just rebelling against the common definition of a blockchain as a distributed ledger, though I don't understand what's to be gained from that. Seems the community is rather split about this...
- pritambaral 8y ago> So what was the first blockchain? Does it matter? What was the first linked-list? > I think you're just rebelling against I'm not "rebelling", I'm asserting. > the common definition of a blockchain as a distributed ledger That's a common application, not a definition; like blockchains and VCSes are common applications of merkle-trees, but not definition. > though I don't understand what's to be gained from that Nothing more that what's to be gained from asserting a linked-list is a list made of elements linking to each other. A blockchain is a chain made of blocks that depend on other blocks up the chain.