Exercise for the blockchain advocates: explain as simply as possible why a “private blockchain” is better than Git.
Exercise for the blockchain advocates: explain as simply as possible why a “private blockchain” is better than Git.
Because with git you either go:
- The linux way with one upstream and everyone branching of the "main" repo: In a lot of ways everyone is relying on the centralized main repo of linux, and in every other way they disagree on the final state (eg. the final code).
- The "github" way where there is one version hosted on a centralized service that everyone needs to trust.
Beyond the obvious security problems when trying to use git for actually important data ( for example: https://shattered.io/ ), git doesn't help you in any way to come to a consensus about what happened and in what order. Instead it gives tools to rewrite history as how you see fit (like rebase).
> Merkle trees have been around since the 70s.
Blockchains didn't reinvent many things, 95% of a blockchain is basic cryptography. Merkle trees are awesome and they are used as well (for example when grouping transactions into blocks within Bitcoin). The reason why you need more than a merkle tree is because a merkle tree doesn't help you if:
- You can't trust one single party to maintain (or host) the whole thing: yes you can use digital signatures to make sure they don't forge what you said. But what if they deny you access and ignore your messages? What if they change the order people said things? A merkle tree can't protect you from this.
- You need to agree with other people in what order certain things happened, this is a hard problem in networks / distributed systems. Especially if you have actors trying to manipulate this very thing.
- You need to align incentives in a way that breaking the complete system is infeasible from a financial point of view.
----
Take Bitcoin as an example, a (kind of) anonymous payment system in the internet, the only things protecting everyone's money are public/private cryptography and the costs involved with rewriting history (51% attack). Bad actors attack it every day, but no matter who's door the police kicks in you only have to trust cryptography (the only other weak link is your personal private key, so if you they hit in your door - but there is no other middlemen).
> I just don't get the hype.
There is a ton of hype, and whether it's valid or not depends on if the world needs such a system. Blockchain proponents say that once you have a stable decentralized system that can run any code and cannot be corrupted in any way, you will see innovation flourishing similar to the internet: the internet brought complete freedom of information (and industries build on top were not imaginable in the 80s), some people think the blockchain will bring freedom to anything that is (or should be) scarce. Like money and commodities.
If you’re arguing for the latter, then try to explain to me as simply as possible how a blockchain with “proof of authority” is better to Git with signed commits. Or CT. Or Keybase. It seems that these business blockchains are inefficient, append-only Merkle trees. It’s not particularly novel, and replicating the database across all nodes of the network and constantly engaging on a consensus protocol to agree on the state of the network while all peers are trusted anyway with proof of authority seems quite useless.
If I am wrong, then the blockchain people can do themselves a favour and make a simple comparison chart of their solution compared to possible alternatives. But I don’t think they want to do thst. I think they baffle non-technical people with words like “decentralised”, and “cryptographic signature” and polish it nicely until people believe in them. Just try reading Alex Tapscott’s book “The blockchain revolution”. I think it is snake oil. The emperor’s new blockchain.
I just went on explaining why you want to use a blockchain (private or not) instead of git. It's a broad question so you'll get a broad answer. This is the only thing I went into:
> Exercise for the blockchain advocates: explain as simply as possible why a “private blockchain” is better than Git.
I haven't talked about anything else. If you want to know what people think about using blockchains for A and B, you should ask that instead. My target hasn't moved at all.
> try to explain to me as simply as possible how a blockchain with “proof of authority” is better to Git with signed commits.
I specifically explained where an append-only merkle tree doesn't cut it in the comment you just replied to (my previous one). Note that git is an append-only merkle tree. You are more than welcome to go into my points.
> It’s not particularly novel, and replicating the database across all nodes of the network and constantly engaging on a consensus protocol to agree on the state of the network while all peers are trusted anyway with proof of authority seems quite useless.
If all peers are completely trusted you are 100% correct, if you trust everyone completely you don't need a blockchain. However in the real world trust isn't binary. If a bunch of banks KYC each other and go into a blockchain consortium, they do this specifically because they don't trust each other enough. Else they would have gone with a straight forward solution like git a decade ago.
Anyways, perhaps a better exercise to clarify would be: Find a single example where a (precisely defined) type of blockchain makes sense vs possible alternatives such as solutions along the lines of Git, CT, etc. I conjecture that there are none beyond cryptocurrency.
I never said they were the same, however the similarity is that they are both blockchain systems. And you cannot achieve the same with git for exactly the same reason (you cna't trust all parties).
> Or are you suggesting proof of work or something?
Nope, definitely not. Not sure what made you think that?
> Find a single example where a (precisely defined) type of blockchain makes sense vs possible alternatives such as solutions along the lines of Git, CT, etc. I conjecture that there are none beyond cryptocurrency.
There are loads all over commodity trade finance and supply chain (the field I have experience). But I've spend an hour typing an answer out your initial question:
> Exercise for the blockchain advocates: explain as simply as possible why a “private blockchain” is better than Git.
And now you state you aren't really interested in that explanation and want to have clarification on something completely different.
I'm done with typing out "examples and clarifications" when as soon as I do you start asking a different question, never going into my points. So "I am exiting out of this conversation :-)"
You made me think you might be suggesting some proof of work scheme instead of "proof of authority" because the example you chose was bitcoin. You also said: "You need to align incentives in a way that breaking the complete system is infeasible from a financial point of view.". So that's why I thought of it. Apologies if I was mistaken.
I don't quite understand why this conversation is getting heated for you. Perhaps because it is your career so you feel personally attacked or something. That's not my intention. Anyways, I'm still none the wiser as to why to use a "private blockchain". Blocking commits or whatever isn't really solved by a private blockchain. You don't need a blockchain for the problem of changing the order people said things either. And how many banking consortia were really moaning about these issues before a blockchain came along? A blockchain seems like a solution looking for a problem most of the time.
Comments like this:
> Blockchain proponents say that once you have a stable decentralized system that can run any code and cannot be corrupted in any way, you will see innovation flourishing similar to the internet: the internet brought complete freedom of information (and industries build on top were not imaginable in the 80s), some people think the blockchain will bring freedom to anything that is (or should be) scarce. Like money and commodities.
Comparing blockchain to the internet? I think that is just crazy la la land. I really hope I'm wrong because that sounds amazing. (Although I have no idea what "that" is, but the internet was a good thing and I like good things.) But I'm definitely not.
But anyways I agree with you that we should stop.
I'm totally fine, hope you are too. I don't feel personally attacked at all. But on the internet a thick skin is required. I hope you don't feel attacked either.
> Anyways, I'm still none the wiser as to why to use a "private blockchain" but I agree with you that we should stop.
That's unfortunate, I hope you do understand one day. I won't go into it now since you started with a different question (or technically an exercise). And after my lengthy attempt in explaining it you expressed that you don't actually care and instead ask questions about consensus algorithms used in different blockchains (like PoW and PoA) - which has nothing to do with why one uses a blockchain and not git.
So please next time if you are interested in something, don't start by asking something else. After that trying to steer the conversation towards your hidden objective all while you are accusing the other side of "moving the target" (you are moving the target from git towards consensus algorithms and blockchain use cases).
Though I believe the deciding factors aren't very technical. For public projects it all depends on what people want (in reaction to government control, surveillance, financial and capital controls)
And for private blockchains in my experience (in finance anyway) it all depends on the regulators and what they will allow. They are also reacting to whatever is happening in the world.
Currently it all looks pretty bleak indeed.
they both might be able to perform similar functions with enough customisation, but a blockchain is fit for purpose out of the box.
note: i’m thinking here a blockchain with POA where tokens are distributed between known parties, so no overhead of POW. POW has very obvious down sides
Besides, how can people say a private blockchain is "trustless"? You just said "POA" ( = proof of authority). The conversations I often got into at my job were like this. It was so incredibly difficult to pin down exactly why they even wanted a blockchain. Or what a blockchain even was in their heads.
Git (or a DAG) + priv/pub keys + Proof of Work = blockchain
If you remove "PoW" it is just "signing in git". Which is an interesing and complex thing.
And it being private removes all the need for PoW or removes the function that PoW fulfills. So a "private blockchain with PoW" is really stupid and (even more so) a waste of energy.
Whereas a "private blockchain without PoW" is "just git".
1. Blockchain was this clever solution related to money. Anonymous person invented it. Some news about crime around it. Lots of money around it. So blockchain is this money thing and technology thing? Sounds kinda sexy.
2. Business people heard about it, thought it might be The Next Big Thing. Ask boffins to investigate.
3. Other business people heard their rivals think blockchains are The Next Big Thing so they need to get on it too.
4. hmmmm, turns out a business is mostly all about being centralized which is at odds with a boockchain. hmmm it's actually kinda uselsss? Maybe we can get rid of all the bits we don't like about it? oops we just reinvented the wheel.
A "private blockchain with proof of authority" is like cutting the hump of a camel and calling it a horse. Just use Git.
>A "private blockchain with proof of authority" is like cutting the hump of a camel and calling it a horse. Just use Git.
This sounds clever, but it isn't right: Git has no equivalent to consensus for transaction correctness, for example. It has no equivalent to smart contracts. It has no peer discovery mechanism. It has no automatic transaction propagation mechanism. And on...
Executive summary : "there may be a pony in there somewhere"
I conjecture that blockchains have no applications beyond cryptocurrency. I hope someone can give me a very simple counterexample. I've seen blockchains for the music industry, for porn, for university, for bananas in Laos, for weed, for voting, for "supply chain" something or other. I've never seen an application explained simply that makes sense. I am highly skeptical of the field.
The storage part of the transactions is suprisingly simple and is what makes up the blockchain: the PoW, DAG and signatures of all that: PoW + git + pub/priv signatures.
Git is a blockchain, and sometimes a private one.
1. Satoshi comes up with this clever blockchain thing with proof of work and hashing and append-only characteristics. It solves a very specific problem.
2. It involves money and new tech so business people get on the bandwagon and tell the boffins to investigate.
3. There's a lot of hype and good publicity for it (e.g. KodakCoin, Long Island Iced Tea Blockchain)
4. The technology as Satoshi defines it is actually pretty useless for their application. So they bend the definition slightly. Blockchain becomes Git or something with a signature or hashing or even a Merkle Tree.
5. Git etc is actually useful sometimes. The blockchain prophecy is complete. The business people are happy. The boffins don't do anything really, but everyone gets paid so nobody really cares.