This report summarizes the work and activity of a grantee Juraj Hlista.
The main focus of my work was Miner signalled consensus upgrade, which is a mechanism for activation of a new hard-forking consensus based on the outcome of miner signalling.
We worked on the design in the first half of the month trying to identify the impact on the current code base and come up with a solution for computing the signalling outcome (PR #385).
Next, we focused on the implementation, which involved some initial refactoring work (PR #2678, PR #2686, PR #2697, PR #2705) and computation of miner signalling outcome using asynchronous processes (Github branch and especially aec_fork_signalling module).
Moreover, a new approach for signalling outcome computation was suggested - we changed our initial assumption that the miner signalling parameters could be modified during node restarts and decided it’d safer not to be able modify them instead. The second approach uses a database table to store aggregated signal count per a key block (PR #2868).
End of September - mid October
With addition of the miner signalled consensus upgrade, the configuration of the node was changed as well. Also there were unit and system tests implemented. All of this was part of the PR #2868. Moreover, there were two minor issues found and fixed (PR #2910, PR #2913).
A summary of miner signalled consensus upgrade can be found in this forum post.
There is a paper on this topic written as well.