achow101 / coin-selection-simulation

13 stars 5 forks source link

Add Dias payment data #3

Closed murchandamus closed 2 years ago

murchandamus commented 2 years ago

The data was provided by João Dias (jaonoctus) and is composed of 3,000 payments received to a merchant's self-hosted BTCPay server. The amounts have been slightly altered for privacy by less than 5%.

jaonoctus commented 2 years ago

LGTM 😄

murchandamus commented 2 years ago

I've added two scenarios based on João's data. Both make 400 payments of ₿0.01 which the wallet should be able to support given that it has a total of about ₿5 after the received payments. In one scenario, feerates alternate between 1 s/vB and 25 s/vB, while in the other scenario feerates are steadily increasing with each payment by 0.1 s/vB starting from 1 s/vB.

I expect for feerate-sensitive coin selection approaches to perform better in the alternating feerate scenario. I expect more consolidatory approaches to perform better on the rising feerate scenario.

Generally it might be a good idea that we formulate hypotheses before running experiments and then see whether our results support or disprove our hypotheses, rather than just running simulations and seeing what numbers we get.