Can miners choose to not include mixing transactions in a block?

Antti Kaikkonen

Active Member
Jun 20, 2017
257
167
103
dashradar.com
Dash Address
XnZdwT1w2kGeH6RujwoyJ7BBNrukdyTBRB
Is there any incentive for a miner to include mixing transactions (with 0 fee) in a block? Today I tried sending a transaction with 0 fee and it took like 10 blocks to get the first confirmation but mixing transactions were included in those blocks. Why?

And would mixing completely halt if the blocks ever became full?
 

thephez

Member
Dash Core Team
Jan 23, 2016
113
49
78
Is there any incentive for a miner to include mixing transactions (with 0 fee) in a block? Today I tried sending a transaction with 0 fee and it took like 10 blocks to get the first confirmation but mixing transactions were included in those blocks. Why?
Yes, the fees for mixing transactions are paid in a separate transaction (see Creating Collaterals and Mixing Fees). Presumably miners would prioritize mixing transaction higher than 0-fee transactions since the mixing fees are well defined in the Dash Core source. In your case, perhaps some miners are choosing not to mine 0-fee transactions even if there is available block space? That is just speculation though.

And would mixing completely halt if the blocks ever became full?
Possibly. There is nothing inherently special about the structure of mixing transactions (vs. "regular" transactions). It is broadcast using a different message, but that is the only difference (you can't technically determine from a block explorer whether a transaction was a real PrivateSend mix or just someone structuring a transaction to look like one). The miner is always the one to ultimately determine what transactions are included in a block. That applies whether the blocks are full or not.
 

Antti Kaikkonen

Active Member
Jun 20, 2017
257
167
103
dashradar.com
Dash Address
XnZdwT1w2kGeH6RujwoyJ7BBNrukdyTBRB
Yes, the fees for mixing transactions are paid in a separate transaction (see Creating Collaterals and Mixing Fees). Presumably miners would prioritize mixing transaction higher than 0-fee transactions since the mixing fees are well defined in the Dash Core source. In your case, perhaps some miners are choosing not to mine 0-fee transactions even if there is available block space? That is just speculation though.



Possibly. There is nothing inherently special about the structure of mixing transactions (vs. "regular" transactions). It is broadcast using a different message, but that is the only difference (you can't technically determine from a block explorer whether a transaction was a real PrivateSend mix or just someone structuring a transaction to look like one). The miner is always the one to ultimately determine what transactions are included in a block. That applies whether the blocks are full or not.
Yep. I'm a little bit worried that since the mixing fees are paid randomly in a separate transaction, then the miners might have no incentive to include them a block. Maybe if it is a big miner then it might except to receive the fees in a later block?
 

thephez

Member
Dash Core Team
Jan 23, 2016
113
49
78
Oh, I see what you mean. Well, there should still be a mixing fee for 1 out of every 10 mixing transactions processed. I need to think about this more though. It is an interesting question.

@UdjinM6 might have some insight into this...

Edit: I had to be reminded of this, but Dash Core actually increases the priority of PrivateSend txs when it puts them in its mempool (so they are recognized as high-fee txs).
 
Last edited:

Antti Kaikkonen

Active Member
Jun 20, 2017
257
167
103
dashradar.com
Dash Address
XnZdwT1w2kGeH6RujwoyJ7BBNrukdyTBRB
I have a related question: What prevents a rogue masternode from broadcasting the mixing fee (a.k.a PrivateSend collateral) every time instead of with a 10% probabiblity. Masternodes kind of have an economic interest to do so because they get half of the transaction fees.

Also I get that Dash Core increases the priority of mixing transactions but I don't think that it is enforced by the protocol.
 

thephez

Member
Dash Core Team
Jan 23, 2016
113
49
78
A few rogue masternodes would not make much of a difference and probably would not benefit from trying to game this. The masternode that performs the mixing would not be likely to be the one receiving the advantage. This PR from earlier this year skips masternodes likely to be paid soon when selecting a mixing node.