Skip to content
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

powLimit attack with selfish mining #241

Open
zawy12 opened this issue Aug 9, 2018 · 0 comments
Open

powLimit attack with selfish mining #241

zawy12 opened this issue Aug 9, 2018 · 0 comments

Comments

@zawy12
Copy link

zawy12 commented Aug 9, 2018

My understanding of BCH indicates this attack is possible. The difference between this and a regular selfish mine is that the attacker can get an unlimited number of blocks. The attacker must selfish mine for at least 1.8 days (on BCH), or faster if he first sends a lot of old timestamps to delay the MTP as far back as possible before turning it into a selfish mine. It might be possible to finish in 1 day of selfish mining if a lot of pre-attack delayed stamps are sent. It's not possible to lower difficulty publicly with this n BCH because the attacker needs control of too many timestamps, assuming BCH's MTP is 11. It only requires that he have more than 50%.

This attack seems possible on many coins. I posted an issue to Litecoin to show how to do it there. Coins like Zcash that use MTP as the most recent timestamp do not seem vulnerable. The median of 3 method BCH uses does not provide protection. To get past that, the attack may need to add 1 to each sequential 24000 stamp in my example below.

This is an example with an SMA algorithm like BCH's. The 2x and 1/2 limits BCH mean the attack changes some. I have not seen anyone mention this in regards to the Verge attack, but this may have been s key to it.

I'll maintain most recent information on this attack in my Timestamp Attacks article

image

See the 2nd link above for solution for fixing it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant