Hacker News new | ask | show | jobs
by mjburgess 1164 days ago
You still havent provided a use-case. As far as I can tell what you're describing is business services connected by web APIs -- ie., the internet + microservices.

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.

1 comments

I just mentioned one use case: land ownership management. But there are plenty of other use cases in for example logistics (trade finance is a complex multi-party business process), in invoicing, in supply chain handling, and indeed of course in inter-firm payments or anything between governments.

"As far as I can tell what you're describing is business services connected by web APIs -- ie., the internet + microservices."

Web API tech (I assume you mean REST here) doesn't provide even a fraction of what's required.

"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"

No, in most of these use cases there isn't a single party that's the authority and one that's subservient. Consider a simple example: company A wishes to buy something physical from company B. In an ideal system the act of sending the money would be atomic with the act of marking the relevant invoice as paid, and possibly in turn with the act of signing the paperwork saying the goods were delivered in acceptable condition. Today you can't do that because there is no one organization that's the authority for the banking system and the invoice between the organizations and the delivery tracking. So you have to do three steps independently and then they inevitably get out of sync (a "break"), requiring manual reconciliation ("rec") to locate and patch things up. Banks alone have departments devoted to nothing but that.

With a proper solution - call it what you want - you'd be able to make a single database transaction that updates the state of all three things simultaneously and atomically, such that everyone involved in the transaction is always on the same page, yet only finds out the relevant data they need to know and no more.

Most transactions don't fall neatly into the category of friendly or adversarial. People want to cooperate but they also have their own incentives, and when mistakes happen people want the consequences to fall elsewhere. P2P consensus helps because it means you can established shared schemas, shared agreement that the coded-in business logic has been followed, everyone sees the same state on their screens when they go look at the details, etc. You can't get into a position where one party says they paid for something and the other party thinks they didn't. It's all basic enough stuff but our current tech just can't do it.

You say land use, but your explanation of the need is economic -- that use case is already conceded. It's bad on other grounds.

You haven't explained why a land registry is appropriately modelled by a peer-2-peer adversarial database system.

There is an authority here: the state. Land is /registered/ with the state.

If there are multiple parties with a claim to land, that dispute requires a non-technical consensus model called 'the law' and its resolution is not final. The state retains the privilege, as it must, to revise its decisions.

Trying to replace courts with blockchains is a dumb idea, so silly that its proposal immediately signals a profound ignorance of the problem domain.

Which is: People.

You're mis-understanding the use case.

It's been some years but my recollection of the explanation is something like this. The process of buying/selling houses and land involves many organizations. There is the land registry, the bank, lawyers, conveyancers and possibly others I've forgotten about. To actually complete a sale requires coordination of all of these. Today this is done with lots of human-readable documents bouncing around, maybe in digital form if you're lucky, wet ink signatures, lots of people who are just sort of trusted because they're pillars of society and so on. There's lots that can go wrong even in the absence of a dispute over who actually owns the land currently, it's very slow and it's very hard to digitize. Land registry exposing some documented HTTP endpoints doesn't fix anything because it doesn't solve any of the coordination or security or privacy problems.

Yes, but for the same reason blockchain doesn't

Those are problems coordinating people --- not nodes holding duplicate and adversarial copies of datasets

The whole blockchain sales pitch is lie or fallacy of ambiguity.

Ie., the 'consensus' of a blockchain isn't social and indeed makes social consensus much harder

since it aims for immutability and so on

The consensus is largely social, because for a transaction to commit it must be (digitally) signed by the correct counterparties, and people holding duplicated and adversarial copies is a real problem that does cause disruption to business on a daily basis. If two organizations have two documents that claim to be the same thing but differ, how do you decide who wins? Ideally you never get into that situation but it can easily happen in many ways.

Still, I'm not trying to sell this stuff to you. If you don't believe these problems or the use cases exist, fine; the world is full of people who deal with them and would indeed like solutions.

If you think carefully about how consensus between people is resolved, you'll realise an immutable append-only ledger makes that process harder, not easier.

Digital signatures can be added to any piece of data: add a column to a database. It's a catastrophe to make a private key a requirement of adding to a ledger, since in practice, people lose/steal/etc. them.