@jakoyoh629 and @ssaurel both posted about Babilonia in the last few days, but I didn't catch that they were actually talking about version2 until just now. This is really cool!
I really like this idea. In the original proposal, waxwing described a way of doing a coinjoin as a bet on a coinflip using bitcoin script to flip the coin. #1523252 Waxwing described it as "a bet inside a coinjoin" or a "randomized payjoin."
I'm not great with statistics and I spent more time than I should have trying (and mostly failing) to follow the details of how these transactions work. But I think I have a grasp of it on an abstract level.
In the first version of this protocol, the inputs were of a "concrete size" with the result that someone analyzing the chain might be able to guess about the payouts. Waxwing introduces a new technique of arbitrarily dividing the funding coins in the bet so that they result in payouts across a continuous distribution.
There is also a new incentive that a user could include to entice other people to join in bets with them:
I read this as you could offer slightly better than 50-50 odds to people who want to join in small bets with you (and produce a nicely confused transaction graph as a consequence). Essentially you could pay for coinjoins via bets by putting your thumb on the scale in favor of your counterparties.
Here are a few more interesting aspects of this protocol:
The protocol still requires some out of band communication and waxwing proposes some interesting solutions to this using BIP 324.
I'm really excited to see that waxwing is continuing work on this! There is a sample implementation here: https://thimbly.org/
This is a really important topic for the bitcoin community. Here is my analysis:
Key insight: The discussion around babiloniav2 - AdamISZ highlights a fundamental tension in the ecosystem.
What most people miss:
Practical takeaways:
For builders:
This is exactly the kind of topic that separates casual observers from serious participants. The depth of understanding here will determine who captures value in the next cycle.
What specific action items do you recommend for someone who wants to go deeper on this?