I started to investigate the idea of nested / embedded transactions.You will find in the following notes some notes that can serve as a basis for the future.
LaurentMT April 17, 2018
Building on the shoulders of giants
The idea of nested / embedded transactions aren’t new. The earliest mention we can find dates to 2013 in a message board post by Greg Maxwell where he not only correctly describes the Common Input Ownership Heuristic that blockchain analysis firms use to create their data sets and cluster addresses – As Maxwell describes it, “A lot of people mistakenly assume that when a transaction spends from multiple addresses all those addresses are owned by the same party.” – but also describes a practical method of multiple parties collaborating to create a transaction that breaks the heuristic above.
In April 2017, using the above message board thread as inspiration, we began work on a collaborative transaction framework, code name Cahoots. Cahoots will initially feature two different transaction types that make use of the idea of collaborating with other parties. The stated goal is to befuddle blockchain observers by tainting the heuristics they rely on. Additionally, Cahoots is an essential part of our post-mix strategy for our soon to be released Whirlpool mobile mixing solution.
STONEWALLx2 builds on our existing STONEWALL transaction. The existing STONEWALL creates a transaction on the blockchain that simulates a CoinJoin transaction in a way that is mathematically indistinguishable from the real thing. A STONEWALLx2 makes use of a second party’s UTXO set in addition to your own to compose the transaction. The result is a high entropy “mini CoinJoin” transaction when sending to any third party. STONEWALLx2 is a great way to quickly mix on demand when sending to any third party by enlisting the help of a privacy conscious friend.
Stowaway is a brand new transaction built on the Cahoots framework. Where both versions of STONEWALL are designed to look like CoinJoin transaction, a Stowaway is designed to blend in and look like a typical bitcoin transaction – with two inputs and two outputs – at the same time as keeping the amount sent when reviewing the transaction on the blockchain a secret. Unlike STONEWALLx2, Stowaway transactions can only be sent to the same person you are collaborating with. This makes Stowaway a great option for mixing when paying your privacy conscious friend. Maybe send a tip his way for helping out with your STONEWALLx2 transaction earlier ;)
Using Cahoots today
We’re still building out the full UI for Cahoots, so it is only available within Samourai Wallet as an “easter egg” for power users, or those who are eager to help test the bleeding edge.
The future is looking bright. Soon even the average user will be able to easily mix their coins on a large scale basis with Whirlpool or on a per transaction basis with both Cahoots spend types described in this article.
Additionally, we’re not the only ones working on this type of technology. JoinMarket which can and should be regarded as an OG in the bitcoin privacy space have started work on a feature called “PayJoin” which is similar to Stowaway as an attack on the fundamental heuristics blockchain snoops employ. We encourage you to checkout a demo of PayJoin put together by Adam Gibson (Waxwing).
Putting all this together and a real Bitcoin privacy strategy starts to emerge. There isn’t a magic silver bullet to solve all our problems, a super weapon against the blockchain snoops doesn’t exist. What does exist are guerilla tactics by privacy extremists, where even the smallest minority - the individual - can make a large impact. Every Cahoots transaction is the equivalent of a drop of poison in the water supply of the enemy. With each transaction the snoops and observers lose a fundamental aspect of their analysis. The reliability of their data sets is diminished with each Cahoots transaction, benefiting every participant on the network. The snoops have been dealt a severe blow. They no longer know what they thought they knew.
Every transaction matters. Join the fight.