Hi everyone. This announcement is to let you know that we have identified a bug in the Livepeer protocol smart contracts, and will be conducting a fix. This is a non-critical bug that doesn’t put existing user token value at risk, nor is it short term exploitable at the direct expense of other users. However it does affect the accuracy of inflationary token allocation accounting leading to slightly inaccurate inflationary token allocations according to spec. Some users may see slightly more inflation than expected in certain rounds, and some may see slightly less.
The issue is being tracked here: https://github.com/livepeer/protocol/issues/230
After an analysis following the precedent of the process laid out in the first mainnet protocol issue , we have decided not to pause the protocol, as no greater negative consequences for any node can come as a result of the protocol continuing to operate while the fix is being tested, code reviewed, and deployed. While Livepeer is still in the alpha testing stage, this sort of issue is fully expected, and we have built these upgrade and bug fix mechanisms for exactly this purpose. It is important for us to mitigate risks for our early protocol participants as much as possible.
The estimated timeframe for a deployed fix to mainnet is 48-72 hours . However it is possible that the protocol will be updated quicker, avoiding the need for the accounting error to effect even a single additional round.
The Livepeer team is working hard to fix the bug, and we will be in constant communication with updates. Expect a full post-mortem with details of the issue and remedy after the fix has been deployed and verified. If you notice any issues, please report to the discord channel at http://discord.gg/q6XrfwN, and check here for updates.
If you are an active transcoder, you can mitigate the potential impact of this issue by calling the
claimEarnings() transaction via “Invoke ‘claim’ (for rewards and fees)” from the CLI, up to a recent round. As a reminder however, don’t call
claimEarnings() for the current round unless you have already called reward in this round.