LearnBitcoin

Bitcoin Dev Archive 2016

segwit subsidy and multi-sender (coinjoin) transactions

2 messages, 29 Apr to 3 May 2016. Started by Kristov Atlas.

Kristov Atlas, Peter Todd

Permalink Original thread on gnusha.org

Kristov Atlas permalink original

Has anyone thought about the effects of the 75% Segregated Witness subsidy on CoinJoin transactions and CoinJoin-like transactions? Better yet, has anyone collected data or come up with a methodology for the collection of data?

From this link: https://bitcoincore.org/en/2016/01/26/segwit-benefits/

"Segwit improves the situation here by making signature data, which does not impact the UTXO set size, cost 75% less than data that does impact the UTXO set size. This is expected to encourage users to favour the use of transactions that minimise impact on the UTXO set in order to minimise fees, and to encourage developers to design smart contracts and new features in a way that will also minimise the impact on the UTXO set."

My expectation from the above is that this will serve as a financial disincentive against CoinJoin transactions. However, if people have evidence otherwise, I'd like to hear it.

I noticed jl2012 objected to this characterization here, but has not yet provided evidence: https://www.reddit.com/r/Bitcoin/comments/4gyhsj/what_are_the_impacts_of_segwits_75_fee_discount/d2lvxmw

A sample of the 16 transaction id's posted in the JoinMarket thread on BitcoinTalk shows an average ratio of 1.38 or outputs to inputs:

https://docs.google.com/spreadsheets/d/1p9jZYXxX1HDtKCxTy79Zj5PrQaF20mxbD7BAuz0KC8s/edit?usp=sharing

As we know, a "traditional" CoinJoin transaction creates roughly 2x UTXOs for everyone 1 it consumes -- 1 spend and 1 change -- unless address reuse comes into play.

Please refrain from bringing up Schnorr signatures in your reply, since they are not on any immediate roadmap.

Thanks, Kristov

Peter Todd in reply to Kristov Atlas permalink original

On Fri, Apr 29, 2016 at 02:22:32PM -0400, Kristov Atlas via bitcoin-dev wrote:

Quoted text (8 lines)
> A sample of the 16 transaction id's posted in the JoinMarket thread on
> BitcoinTalk shows an average ratio of 1.38 or outputs to inputs:
>
> https://docs.google.com/spreadsheets/d/1p9jZYXxX1HDtKCxTy79Zj5PrQaF20mxbD7BAuz0KC8s/edit?usp=sharing
>
> As we know, a "traditional" CoinJoin transaction creates roughly 2x UTXOs
> for everyone 1 it consumes -- 1 spend and 1 change -- unless address reuse
> comes into play.

Note how this is obviously an unsustainable situation - at some point that change needs to be combined again, or you're throwing away money in the form of UTXO's that aren't ever getting spent.

Meanwhile, if you put it another way the segwit discount is an obvious advantage for coinjoin: by making spending UTXO's cheaper, we can recover those funds that would otherwise get lost to dust, becoming ever more difficult to spend.