Skip to content

Instantly share code, notes, and snippets.

LaurentMT / Steganographic Transactions, Deception Tools and Asymmetric Games
Last active May 12, 2020 15:25
A collection of random shower thoughts about the challenges associated to a cross-compatible implementation of Payjoin
1/ About the nature of Payjoin Transactions and Deception Tools
I'm used to describe Payjoin Transactions as Steganographic Transactions but they can also be described more generally as "Deception Tools" (
In my humble opinion, the use of deception tools is a legit and effective strategy for improving on-chain privacy but it's important to keep in mind that the deception game has its own rules and these rules are very different from others approaches (like "privacy backed by maths" tools).
An important principle of this deception game is that it must introduces and preserves some kind of morphism between interpretations. It should be absolutely impossible for an analyst to distinguish between one form and the other.
For instance, we have:
LaurentMT / 1JZJA_related_addresses.txt
Created February 17, 2019 02:49
List of addresses having an output spent with an output of 1JZJaDDC44DCKLnezDsbW43Zf8LspCKBYP
LaurentMT / 1JZJA_spending_txs.txt
Created February 17, 2019 02:47
List of transactions with an input from 1JZJaDDC44DCKLnezDsbW43Zf8LspCKBYP
LaurentMT / cold_wallet_related_addr_txs.txt
Created February 17, 2019 02:45
List of addresses and transactions related to QCX Cold Wallet addresses

Keybase proof

I hereby claim:

  • I am laurentmt on github.
  • I am laurentmt ( on keybase.
  • I have a public key ASDiYbNA_9vdNN7-9VaxVosu5LZizw7Uz6Va-ZmMqYYnhwo

To claim this, I am signing this object:

LaurentMT / longchain_604531341.csv
Created March 3, 2016 01:58
Ride the long chain (02/29/2016)
We can make this file beautiful and searchable if this error is corrected: No commas found in this CSV file in line 0.
Back to home. As promised, here are some elements about the growth of activity observed during the last months.
I apologize in advance for the long text and my crappy english.
A bit of context: I've been working on the development of OXT (an analytics platform dedicated to the bitcoin blockchain) during the last 12 months. It means that I've spent a part of this time observing charts to check if they make sense, are useful...
During this process I've learned one thing: bitcoin is still a small economy and therefore it's still possible that the activity of a single actor/service has a visible impact at global level.
For instance, some of these observations are related to well known events like the growth of #txs in 2012 (related to Satoshi Dice).
Some others are less known like this pattern in the growth of the utxo set which is likely to be caused by a small number of faucets doing weekly payments (
At last, some cases remain very myste
LaurentMT / gist:e8644d5bc903f02613c6
Created September 21, 2015 11:48
Bitcoin Transactions & Privacy (part 3)
This third part is about known and potential attacks against the privacy provided by tools like coinjoin.
Known attacks & weaknesses
- Linkability of inputs and outputs
A good illustration of this attack is Coinjoin Sudoku (see (1) for details).
LaurentMT / gist:d361bca6dc52868573a2
Created September 21, 2015 11:47
Bitcoin Transactions & Privacy (part 2)
In part 1 of this document, we've defined the entropy of a transaction.
This metric is a first good proxy to qualify the degree of privacy provided by a transaction but it fails to detect privacy leaks occuring at lower levels (1).
In this second part, we define 2 complementary fine-grained tools/metrics: the Link Probability of 2 utxos (LP) and the Link Probability Matrix (LPM) of a transaction.
Link Probability of 2 UTXOs
We call Link Probability of a tuple (tx input, tx output) the probability that a link exists between the 2 utxos.