-
Notifications
You must be signed in to change notification settings - Fork 906
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
onchaind
should scorch-earth our penatly txes
#3832
Comments
One of the effects here is that we can generate a transaction with high fees, possibly violating the "high fee" limit imposed by Unfortunately the API for
I think what we can do would be:
The above is a bit too hacky for my taste though. In particular, wumbo channels that are being stolen might end up having to scorch the earth with most of the wumbo channel value, possibly achieving 1 BTC/kB... sigh. Basically, in pre-0.19.0.1 we want the second parameter to be 1 ( A slightly less hackish solution would be to do a |
A more minor point is that we normally keep transactions that However, if we do scorched-earth, then the rebroadcasting would be done by So I think I need to add new I want to design a function like below: static struct amount_sat
compute_penalty_output_amount(struct amount_sat initial_amount,
u32 depth, u32 we_lose_depth); We store the initial output amount of the first created penalty transaction, which we feed as Then we can separately argue what is the best function for scorching the earth. Using the above, we can regenerate a new transaction that outputs the given amount, and rebroadcast it. If the above function returns below the dust limit, we create a capstone: the output is to a 0-length |
Fixes: ElementsProject#3832 Changelog-Changed: onchaind: We now scorch the earth on theft attempts, RBFing up our penalty transaction as blocks arrive without a penalty transaction getting confirmed.
Fixes: ElementsProject#3832 Changelog-Changed: onchaind: We now scorch the earth on theft attempts, RBFing up our penalty transaction as blocks arrive without a penalty transaction getting confirmed.
Fixes: ElementsProject#3832 Changelog-Changed: onchaind: We now scorch the earth on theft attempts, RBFing up our penalty transaction as blocks arrive without a penalty transaction getting confirmed.
Fixes: ElementsProject#3832 Changelog-Changed: onchaind: We now scorch the earth on theft attempts, RBFing up our penalty transaction as blocks arrive without a penalty transaction getting confirmed.
Fixes: ElementsProject#3832 Changelog-Changed: onchaind: We now scorch the earth on theft attempts, RBFing up our penalty transaction as blocks arrive without a penalty transaction getting confirmed.
Fixes: ElementsProject#3832 Changelog-Changed: onchaind: We now scorch the earth on theft attempts, RBFing up our penalty transaction as blocks arrive without a penalty transaction getting confirmed.
Fixes: ElementsProject#3832 Changelog-Changed: onchaind: We now scorch the earth on theft attempts, RBFing up our penalty transaction as blocks arrive without a penalty transaction getting confirmed.
Fixes: ElementsProject#3832 Changelog-Changed: onchaind: We now scorch the earth on theft attempts, RBFing up our penalty transaction as blocks arrive without a penalty transaction getting confirmed.
Fixes: ElementsProject#3832 Changelog-Changed: onchaind: We now scorch the earth on theft attempts, RBFing up our penalty transaction as blocks arrive without a penalty transaction getting confirmed.
Fixes: ElementsProject#3832 Changelog-Changed: onchaind: We now scorch the earth on theft attempts, RBFing up our penalty transaction as blocks arrive without a penalty transaction getting confirmed.
Fixes: ElementsProject#3832 Changelog-Changed: onchaind: We now scorch the earth on theft attempts, RBFing up our penalty transaction as blocks arrive without a penalty transaction getting confirmed.
Fixes: ElementsProject#3832 Changelog-Changed: onchaind: We now scorch the earth on theft attempts, RBFing up our penalty transaction as blocks arrive without a penalty transaction getting confirmed.
Fixes: ElementsProject#3832 Changelog-Changed: onchaind: We now scorch the earth on theft attempts, RBFing up our penalty transaction as blocks arrive without a penalty transaction getting confirmed.
Fixes: ElementsProject#3832 Changelog-Changed: onchaind: We now scorch the earth on theft attempts, RBFing up our penalty transaction as blocks arrive without a penalty transaction getting confirmed.
Fixes: ElementsProject#3832 Changelog-Changed: onchaind: We now scorch the earth on theft attempts, RBFing up our penalty transaction as blocks arrive without a penalty transaction getting confirmed.
Fixes: ElementsProject#3832 Changelog-Changed: onchaind: We now scorch the earth on theft attempts, RBFing up our penalty transaction as blocks arrive without a penalty transaction getting confirmed.
Fixes: ElementsProject#3832 Changelog-Changed: onchaind: We now scorch the earth on theft attempts, RBFing up our penalty transaction as blocks arrive without a penalty transaction getting confirmed.
Fixes: #3832 Changelog-Changed: onchaind: We now scorch the earth on theft attempts, RBFing up our penalty transaction as blocks arrive without a penalty transaction getting confirmed.
We should resolve these transaction by bumping their fees up at each block they are not confirmed, to counteract atempts at bribing miners to not confirm them before timeout.
My reading of the current
onchaind
code is that we do not do so.My plan is:
steal_to_them
andsteal_htlc
use 0xFFFFFFFD (RBF)nLockTime
nSequence
wtf.steal_to_them
andsteal_htlc
.propose_resolution
which changes thetx
and depth but does not install an existing proposal, just reuses it.tracked_output
for that transaction isTHEIR_REVOKED_UNILATERAL
, we re-propose with a higher feerate depending on theto_self_delay[REMOTE]
to_self_delay[LOCAL]
to_self_delay[REMOTE]
(becauseonchain_control.c
swaps them already) because we impose our ownto_self_delay
on the counterparty. The easiest is just to double the feerate each time.It seems to me that since the output tracking code of
onchaind
already needs to be resilient to changing feerate estimations, that should be sufficient to implement scorched-earth policy.Thoughts?
The text was updated successfully, but these errors were encountered: