Could you describe the actual problem that might be affecting network performance and how this action will fix
The problem is described in the first github issue mentioned in the description. Basically it’s an error message in parity logs produced by RewardByBlock contract. The actual performance impact is not clear because the error is happening only on some nodes and because overall tx rate is not too high at the moment.
Also, if this is a bug fix, could you describe why this particular issue merits a ballot? Is the goal to be able to test the ability to change reward method or similar?
During our investigation of the issue we discovered that parity sometimes sends a zero address as a block author to the reward contract (https://github.com/paritytech/parity-ethereum/issues/9764#issuecomment-431070493) and this seems to cause the issue. It’s not clear why it does so. But reward contract doesn’t expect a zero address and reverts. The proposed change is to handle this situation without throwing an exception (https://github.com/poanetwork/poa-network-consensus-contracts/pull/205/files#diff-8315f75f7610f81de832bf0767b2ba6c).
This requires an update of reward contract, but reward method is not changed. To make it possible to change the reward contract we first need to add the ability to create a ballot for it. So there will be two ballots required. The first required ballot is described in this post
Maybe since chain spec will be modified it requires a vote?
Chainspec is not modified, this is not a hard fork.
Hello Pavel. From an earlier Github post at following link, there is an exchange that seems to treat this as a test, not a fix. It is not clear what problem will be fixed. Could you explain in a bit more detail, please? Here is relevant section from comments:
varasev commented on Dec 14, 2018 @phahulin I propose to upgrade BlockReward contract in Sokol network in the following manner: varasev/poa-network-consensus-contracts@cde6f30 - and watch for some time whether the error still appears.
@phahulin
phahulin commented on Dec 14, 2018 @varasev I think it’s a good idea. If the error would still persist, we should revert back to the original BlockReward contract so that they are the same on Sokol and on Core. @igorbarinov do you agree with this test?
@igorbarinov
igorbarinov commented on Dec 14, 2018
Sounds good