5 ms·
I read this because (of course), payments engineers should only use state machines: so why would someone claim this? It says to not hide the events that drive
by pjkundert 2y ago
I read this because (of course), payments engineers should only use state machines: so why would someone claim this?
It says to not hide the events that drive the state machinery: make both the events and state machines available (to both servers and clients), so everyone can reconstruct history when necessary, using the agreed upon events and state machinery.
Which makes sense.
As it turns out, this is what Holochain does to build reliable distributed systems at scale out of unreliable components (payment systems, or anything else).
Every event stored / cached by every App DHT participant is verified by ensuring it’s valid according to the verified shared “DNA” of the App (any state machines and other arbitrary validation code). Misbehaving clients / servers self-incriminate (all events are signed and non-repudiable), and are ejected from the App by all correctly operating nodes.
By induction, a node can then reason that every prior event in the App DHT is valid, regardless of system scale — because an attacker would have to subvert all nodes to avoid having just one valid node notice and report their error to everyone.