3-phase commit presented in Austria last week (video)

The logical solution to multi-hop payment coordination was invented by me this spring and presented in Austria last week: https://youtu.be/DVjMis02AE8

In the history of ideas, it continuous on the same "root" that Interledger "stream payments" has evolved from.

This root is a "cancel-on-timeout" 2-phase commit. It always introduces a penalty (as does the "finish-on-timeout" 2-phase commit), and the logical next step is to reduce the size of this penalty (so that an innocent person does not get stuck with it). "Stream payments" from Interledger achieves this, but, introduces a new attack vector (very easy to cause payment to fail halfway), is limited in how well it can scale (the more you reduce penalty size, the more packages you need to send, thus the more messages you have to use). I.e., "stream payments" get slower and more resource demanding as they scale towards shrinking penalty size. The other approach was what Ryan Fugger suggested in 2006: shrink the size of the penalty itself. This leads to another problem: the full duration until payment times out gets very long, thus undermining the timeout as a solution to payment getting stuck and requiring penalty to enforce on all phases, but either 2-phase only has penalty on one phase, and by combining both 2-phase commits into a 3-phase commit you solve that problem.

I would be very happy to work with Interledger to perfect it with the 3-phase commit. The invention is open source and public domain and anyone can own it for yourself so you also do not need to work with me.

Illustrations: https://ripple.archi/3phase.pdf
Full implementation of Ripple: http://bitbucket.org/bipedaljoe/ripple-normal
Interactive simulation: https://multihop.xyz/?view=sim

As for the critique of "stream payments", many have critiqued those and Stefan Thomas himself has said he sometimes wonder if they are the right solution, and well, they are not, but, they were a fairly OK attempt (and they do work better for settlement only as in the LedgerLoops project as there a failure half-way does not matter!). But with the 3-phase commit as a perfect solution it is probably far superior also for settlement-only type systems (as less overhead with messages... faster and less resource demanding...)

> "Why are we talking about packetization? So this is obviously a very technical topic and I know this, not everyone in this audience is extremely technical, but I still thought it was a good topic for this keynote. The reason is that its a topic that comes up over and over again, both when I talk to people who have never head to Interledger, as soon as they learn about packetization and that its a key aspect of Interledger, they sort of wonder why, it seems very cumbersome and why are we doing this. And then the same things goes for people who have been working with the protocol, you know there's papers that gets written where its like "hey should we really be using packetization", and, you know, don't tell anyone but even i myself sometimes wonder like is this the right path. " -How I Learned to Love Packetization - Stefan Thomas, 05:00-05:50, https://youtu.be/LoZ2eWA1bUs?si=hKLFdurfdVa3oPHh&t=300

Peace, Johan

Sent with [Proton Mail](https://proton.me/mail/home) secure email.

Received on Friday, 27 June 2025 14:34:11 UTC