|
As someone who built a platform for business/governmental 'enterprise blockchain' apps, humor me whilst I mount a defense of them here. Firstly, forget all about outspending the network. None of the platforms an organization like the DMV might consider use proof of work (I'd hope). Standard within that space are BFT algorithms, or even non-BFT algorithms like Raft, or even a simple centralized DB (but which only holds tx ordering info, not the actual tx contents themselves). Enterprise blockchain platforms try to solve the following problem: there are many situations where different organizations would benefit from a proper digitization of a business process, but it doesn't happen because the political/business costs of placing one organization in control of that process is too great. In turn that requirement comes from the software industry only delivering systems that assume one party controls everything. If the business process you're automating exists entirely within an organization, or if you can get all the organizations to buy into a single platform company, then it works. If those two things aren't true then we got nothing for you and so you end up with "digitized" processes that often are little more fancy than emailing PDFs or XLS files around. Or the government steps in to provide something at which point the ability to innovate or evolve that process grinds to a halt, because their only goal is system stability and not feature development. One thing to note here - I learned whilst working on some of these projects that whilst they may sometimes appear nonsensical on the surface, that was usually due to lack of domain knowledge on my part. For example there was a project to try and put land registration in the UK "on the blockchain" (concretely, using the platform I worked on) and so I asked early on whether this really made sense because, surely, the government is the central point of truth for land ownership? Where's the inter-organization aspect? Well, guess what, turns out there are tons of obscure business processes around the buying and selling of land in which the land registry plays a key part, but it's only one organization amongst several, and a big part of the schlepp-work here is coordinating all those organizations and moving documents (i.e. hand written database transactions) between them. Once the domain experts walked me through those processes in detail and explained what they wanted, I realized it wasn't nonsensical at all. There were a lot of cases like that, where in theory I was selling the tech to them, but in reality they were explaining the need to me. So what to do? These problems would go away and the impact of IT would be much greater, if we had two difficult-to-make things: 1. Some sort of multi-master database system in which the masters didn't trust each other, which could work together over the internet such that each company or organization could run a node themselves. 2. Social institutions that could set up and make use of such systems without any one party gaining too much power over the others. Due to the enormous pre-existing demand that existed for automating all these difficult-to-automate business processes, when people realized that Bitcoin basically worked by solving (1) and to some unclear extent also (2), they jumped on it. Except of course the whole design philosophy of the tech really wasn't what they needed or wanted, hence the evolution of dedicated platforms like Corda that tossed out proof of work, added conventional tech like X.509, per-node RDBMS and so on. Now in practice a lot of these projects fizzled out, which is one reason why we get threads like this one on HN. Having seen a lot of these projects in action, the issue was really that both (1) and (2) were never fully solved. For (1) the tech problems are hard because it's all the difficult bits of distributed computing and distributed databases, with lack of trust thrown in on top, combined with really difficult deployment environments (like banks), combined with many of the platforms advertised to such projects going off into the technical weeds with things like new programming languages. But the tech issues pale in comparison to (2), the social difficulties of coordinating multiple institutions in the design and implementation of complicated IT projects. In fact that was by far the hardest part and in the end the real sticking point. Without capitalist ownership incentives projects don't make progress - look at IRC vs Slack for a particularly stark example - and so often these projects got spun out into startups. But then you're back to relying on a third party. At first it didn't seem like too much of a compromise because they would just write the software, and the institutions would at least run it so the startups wouldn't get everyone's data like in a classical SaaS situation, and the platforms were designed to allow for some level of divergence and forking. But then often the customers started running out of steam and just wanted to pay someone else to run it all, so it degraded back down to being SaaS but with more overhead. In the end the thing that stopped most of these projects being successful wasn't that the core problem statement was wrong, or even that the tech wasn't good enough (though sometimes it struggled to meet people's needs). It was actually that most non-tech orgs have developed an unwritten cultural rule of institutionally "sandboxing" tech projects to avoid the potential for career damage when they inexplicably blow up (due to mismanagement but the people involved often don't realize that). For as long as projects are confined to the sandbox marked "innovation team" everyone is happy. When it comes to real implementation, the executives start looking for ways to outsource it all so if things go wrong they can point the finger at the vendor - they want "one throat to choke" in the lingo. This dynamic causes organizations to diverge. Either they successfully make the transition to being a sort of tech company, in which case they want to own all the platforms and probably can, or they become hollowed out customers of vendor's pre-packaged business automations in which they experience less career risk, but struggle to differentiate. |
Ie., "enterprise blockchain" is just SoA.
That's status quo.
I still don't see where the need for a peer-to-peer consensus model comes from. One party to the system is the authority: they create the data about the relevant things. Or if there is a genuine multi-party authority problem, why would an algorithmic consensus model work?
If the UK and EU disagree, that isnt solvable by a p2p technical consensus protocol.
In what case are multiple peers in receipt of distributed transactions whose "integrity" can be resolved by a technological consensus process? (Subject to networked incentives, etc.)
The single use case here is clear: adversarial economic transactions.
The problem with this use case is also clear: fraud doesnt occur because the transactions themsevles are in disagreement; it occurs becuase people are falible. So we need reversability in the system. etc. etc.