4 ms·
Git lets you rewrite history. And I can easily modify the files on GitHub to show that actually I own all your money. Also, I can make a PR that says that Joe
by didibus 5y ago
Git lets you rewrite history. And I can easily modify the files on GitHub to show that actually I own all your money.
Also, I can make a PR that says that Joe gave me 100$. When Joe in fact did not give me 100$, in fact, Joe doesn't even know me. Yet I can still make a PR for that and how would you know to merge it or not?
Also, I can make a PR where I have 0$, but I transfer 10000$ from myself to Barbara. What is there to stop it? You could just go and accept my patch and I just created money that didn't exist.
Another example is I can have 10000$ and make 10 PRs all showing that I am transferring that 10k to a different person. You merge them all, and now with only 10k I managed to transfer 100k.
Etc.
Basically it's just insufficient in many many ways.
Blockchain requires everything to be cryptographically signed. In a blockchain, each dollar is cryptographically accounted for. Each person is cryptographically accounted for. And the whole system is redundant so that if you temper with one repo it doesn't matter, you need to temper with the majority of them.
Edit: And to your other question. If someone forces you to transfer your coins from your wallet to theirs, you got your coins stolen. Currently most cryptocurrency are designed to be anonymous. In that case, you're screwed. But there could be non-anonymous cryptocurrencies. Those would allow to track criminals much more effectively as it be difficult for them to hide the trail of money. Even in the anonymous case though, if there were processes around this, the network could decide okay this transaction was fraudulent, we agree, and the money trail would all be there, so it could choose to correct it, reinstitute you the fund, do charge backs, or whatever else it wants. That would be much harder with real cash, because the cash is gone, even if you say yup your cash was stolen, nobody knows where it is now. With crypto you'd know where it is, and you'd know which wallet stole it from yours. So that's already a little better.
For example, you could imagine that you'd have say 24h to claim a fraudulent transaction, as soon as you do, all stolen funds could be frozen in the entire network for 14 day, where an investigation would take place. Etc. The technology opens up this kind of things.
- avianlyric 5y ago> Git lets you rewrite history Not quite true. Git makes it possible to hard fork it’s internal commit tree, and easily move the HEAD marker to your new fork. But it’s obvious to everyone observing the tree that the modification has happened. Same applies to all normal blockchains. Only difference is that blockchain clients will ignore that fork if the correct proof work hasn’t been provided, but you could add that to a git commit if you really wanted too. The git commit tree is cryptographically signed, every commit is identified by its cryptographic hash, and that has is taken from the content of the commit, which includes the hash of the parent commits. So you can cryptographically prove that a specific git tree is properly linked together, and the each individual commit hasn’t been tampered with. The ability to detect tampered commits, and observe forks is all you really need for a blockchain. Everything else is just deciding how you determine which branch is the “real” branch. But you don’t need proof of work for that, it could be enforced by courts or governments the old fashioned way. As for your PR stuff. You can fix that by publishing an agreed set of valid commit types, which limits the types of modifications that are allowable. Then when validating a tree, you ignore commits that don’t meet that specification (just like more traditional blockchains do). Ultimately the only novel thing blockchains bring to the table is proof of work algorithms etc which allow for supposedly decentralised trust. But decentralised trust doesn’t really exist when dealing with physical assets. At the end of the day ownership is determined by your ability to physically defend your assets, or ability to convince the state to defend them on your behalf. So if the state says you don’t own your house (and the courts agree), then the content of your decentralised blockchain is irrelevant because it won’t stop the police from forcibly evicting you.
- didibus 5y agoI did assume that people meant a decentralized distributed ledger when saying blockchain. In that regard, git is lacking replication, consensus and validation, all of which are key to a decentralized distributed ledger. Git has some of the properties you'd want, but not all, could you implement more things on top of git to create a blockchain, possibly yes, but that doesn't make git a blockchain. I like the wikipedia qualification for this: > Logically, a blockchain can be seen as consisting of several layers:[21] > infrastructure (hardware) networking (node discovery, information propagation and verification) > consensus (proof of work, proof of stake) > data (blocks, transactions) > application (smart contracts/dApps, if applicable)
- avianlyric 5y agoGit is a distributed version control system, by design and definition it's decentralized. Lacks replication? What do you think the git clone and fetch commands do? Validation is easily turned on, you can tell git to traverse the tree it pulls and make sure it's cryptographic integrity is upheld, that just a config flag. Consensus is that "hard" one, but even that has already been solved on community-by-community basis. For the Linux kernel the community consensus is that Linus git repo is truth, but that can easily be changed if the community wanted to. Certainly you need a few extra bits and bobs to build a proper cryptocurrency on top of git. But all the basics are there, and for many applications a git repository would be a perfect substitute for blockchain.