KYCP & TXID 3e00…087D. – 6102

0 5

Actionable suggestions & Clarifications regarding KYCP

There has been some discussion about a specific wasabi mix and how it is displayed on KYCP. I’ll use the same tx labels Nopara used in his article.

KYCP is a tool made by the Samourai Wallet developers, who also operate whirlpool, a competitor to Wasabi in as much as it is another tool to perform CoinJoin transactions

Following the fallout from prior altercations tensions remain high and it’s fair to say that the developers of these two seperate tools do not see eye to eye .

I’m not going to rehash old arguments, instead I want to clear up misconceptions about what KYCP is showing, and make actionable suggestions as to how KYCP can be improved.

Please read this with an open mind, and read what I actually write as opposed to bringing other issues/ideas/discussions into the mix.

I define “Total Fee” as; The sum of the coordinator fee (Output 0 in this txi) and the tx fee (Difference between the total tx inputs and outputs).

You can’t deterministically ascertain what contribution a utxo makes to specifically tx fee or specifically coordinator fee. You can sometimes deterministically ascertain what the Total Fee is.

You can, however, use heuristics / assumptions based on known typical behaviour of the tool you believe the transaction to have been constructed by (e.g. how fees are paid and by whom in a wasabi tx). These assumptions may be very well grounded and incredibly likely, thus they may be used ‘by default’ without too much risk.

Note; KYCP doesn’t currently use heuristics / assumptions regarding wasabi (they use heuristics regarding Joinmarket).

If you assume that this is a regular wasabi transaction (following their normal rules) then inputs 0-3 map to 4 of the equal sized outputs, and input 4 maps the the remaining equal sized output and output 6.

Inputs 0-3: Cumulative Total Fee = 109210 sats.

Input 4: Total Fee = 1708 sats.

Sanity check; 109210+1708 sats = 110918 which is the total amount paid in total fees in this transaction (O1+TxFee). Thus we can say that under this assumption (that this is a regular wasabi transaction) the above explination is completely valid.

Using the known heuristics regarding how wasabi charges fees we could also take a stab at specifying what each tx contributed to the coordinator fee and what they contributed to the transaction fee.

It could well be that assuming the heuristics/assumptions regarding how fees are charged in wasabi are accurate in this transaction, we can deterministically know which inputs contributed to the coordinator, how much and who paid the transaction fee.

KYCP doesn’t currently have this functionality.

There are other ways that you could interpret the transaction if you don’t assume the aforementioned heuristics/ assumptions about how wasabi works. I’m not suggesting that this is sensible but it’s nevertheless a possibility that this is a strange (unorthodox, non typical wasabi) transaction.

For example, inputs 0-2 merge into output 7 and gets paid 16655 sats for doing so, input 3 maps to one of the equal sized outputs (and pays 57569 sats for the privilege) and input 4 splits into to the remaining equal sized outputs and pays 70004 sats for the privilege).

KYCP doesn’t rule this possibility out, because it doesn’t currently use typical wasabi heuristics / assumptions.

Input Merge

“Input merge” in KYCP means that two or more utxos in a transaction have participated in a common previous transaction. It does not mean that utxo’s have been merged.

I think input merge is poor terminology because the natural assumption by users is that input utxo’s are being combined. This could be solved by rewording to “Input Collaborators”

Output Merge

Similar to above, output merge refers to the fact that two or more outputs participate in the same transaction after the mix transaction. Reword as “Output Collaborators”.

Ownership Vs Payment Probability

Bands linking transactions on KYCP do not indicate ownership, rather they indicate likelihood of value transfer as computed by Boltzmann using certain assumptions/heuristics.

I think a probability table, rather than a diagram, could help clarify this.

This also makes it possible to present all the likelihoods (whereas KYCP only shows those with > 40% probability to make it easier to read the infographic).


As discussed KYCP doesn’t use heuristics / assumptions about how wasabi transactions are formed. It does use heuristics / assumptions relating to Joinmarket.

I think that listing the assumptions made would be very useful and go a long way to avoiding this confusion.

I also think that it would be useful to have an option to toggle assumptions on and off. For example in this case you could have ‘assume typical wasabi transaction’ default toggled on which would apply the known heuristics of wasabi tx’s to collapse the possibility space.

  • KYCP have added a linkability slider (allowing you to see all the links, rather than only those with >40% linkability). They have also added a probability table.

You might also like

Pin It on Pinterest

Share This

Share this post with your friends!

WhatsApp chat