We recently discovered a bug in p2pool that requires an emergency hard fork. There was a bug in the address handling code that failed to zero-pad pubkeyhashes in output scripts. If the first byte of the script should have been 0x00, that byte was simply omitted. This resulted in 1/256th of all addresses resulting in unspendable scripts, and coins being effectively burned. This bug only affected the addresses and outputs in question; the blocks containing these unspendable outputs were still valid, and all other users continued to get paid normally. As a result of this bug, two Bitcoin Cash blocks contained unspendable payments of approximately 0.9 BCH each. I am unaware of any fund losses occurring on any other chains.
Since this bug affects the contents of the coinbase transaction, and since all nodes in p2pool need to be able to agree exactly on the contents of the coinbase transaction at any point in the share chain, fixing this bug is a hard fork of the p2pool share chain. Fixing this bug does not require any forks on BCH or BTC; only p2pool is affected.
I have published an updated version of p2pool (v35) in the master branch on my github. If you're already using the master branch of my code, a simple git pull
and restart of the node should suffice. Otherwise, there are instructions on the page linked above for how to create a fresh installation.
This bug should affect all coins on p2pool, including BTC and LTC. Users of p2pool on any cryptocurrency should update immediately.
On BCH, the fork is expected to get locked in tonight or early tomorrow morning, and the fork is expected to take place on Tuesday or Wednesday.
This does not affect anyone who is not mining on P2pool.
[link] [comments]
source https://www.reddit.com/r/btc/comments/f1i5l8/p2pool_users_update_required_for_emergency_hard/
No comments:
Post a Comment