PROPOSAL
Adopt a New Parliamentary Procedure for the Use of NNS Motion Proposals as Non-Binding Resolutions for Replica Review Reports
TL;DR
DFINITY will typically create a forum topic to announce that voting is open for a new IC release (typically on Fridays) and reviewers who participate with the CodeGov project always complete reviews 2 days later (typically by Sunday). A summary of our findings is typically posted in a comment to this forum topic along with links to our CodeGov portal on DSCVR where individual reviews can be found. To reach the larger audience of the NNS and with hopes of advancing decentralization, I respectfully request that the community consider this proposal for the NNS to adopt a new parliamentary procedure to acknowledge non-binding resolutions, in the form of Motion proposals, for these replica review reports.
The use of Motion proposals in this way would be a new practice that has not been proposed or adopted so far in our system of NNS governance. Hence, I am interested in knowing if the NNS would support this use case before submitting a formal Replica Review Report. I would not want to submit these replica review reports knowing that they will be routinely rejected. My hope is that they would be acknowledged by way of approval of the Motion proposal, with the understanding that the approval is non-binding. I look forward to learning what you think during the deliberation on this topic. If it seems favorable, then I will ask the full NNS for a decision on the idea.
INTRODUCTION
There has been a lot of discussion recently on the forum and on social media about mechanisms that can help advance decentralization of the Internet Computer Protocol. My own opinion has evolved, and I no longer believe that Periodic Confirmation of Neuron Followees (or any sort of reset of default following) will achieve that goal by itself. We need people and organizations to step up to participate in voting on technical topics. That has not happened in significant ways yet, so my hope is the community will consider mechanisms to solve that problem.
Decentralization cannot continue advancing in a meaningful way until there are Followee choices of people and organizations who vote independently on topics other than “Governance” and “SNS & Neuron Fund”. Otherwise, DFINITY will always be labeled as the centralized holder of voting power and the voting history trend of every technical proposal will continue to look like proof (0to100%). However, the reason the network nervous system (NNS) exists is to enable decentralized decisions on what code changes are allowed to be implemented. ICP is still a young blockchain and it makes sense that the founding organization, DFINITY Foundation, has most of the development skill and voting power to implement changes. They accel at ensuring complete, reliable, well tested, and secure changes are proposed. However, if the goal is decentralization, then people and organizations that have a stake in ICP need to start getting more involved at the protocol level. A good place to start is performing the IC-OS Verification as well as sanity checks on the Release Notes of Replica Version Management proposals and then voting on these proposals independently.
BACKGROUND
Motion proposal 80639 passed on Sept 2022 and was implemented a couple months later. It was an idea from DFINITY for how the community can help advance decentralization on the Replica Version Management proposal topic. Everyone can participate and DFINITY makes it feasible because of how they present every Replica Version Management proposal (recent example).
One observation I have made when talking to developers about reviewing and voting on these proposal topics is the common assumption that it should involve deep dive code audits by highly skilled rust developers. I do not believe that should be the goal at this time. Perhaps community organizations will develop that capability over time, but for now we just need to draw attention to the code changes. DFINITY has amazing resources who are the experts on the development of this protocol. The role of the community at this time should be to pay attention to the changes and make sure the changes seem reasonable. With enough developers performing this type of work, new skills and capabilities should evolve within the community. There are examples already of the community identifying mistakes and DFINITY correcting them before the changes are implemented.
For every Replica Version Management proposal that is submitted to the NNS by DFINITY, they organize information in two ways: 1) IC-OS Verification and 2) Release Notes. They provide a script anyone can run that enables us to build the replica, download the replica, compute the hash of the build and the download, and compare those hashes with the hash posted in the proposal payload. We just need people who are willing to perform this work and to vote independently if everything checks out in order to achieve decentralization on this proposal topic.
The fact that DFINITY provides the Release Notes means that anyone who is already building the replica may also choose to review the changes and perform a sanity check to see if there is anything unexpected. In other words, having more people of all skill levels participate in these reviews results in #MoreEyesOnCode. It’s not about checking DFINITY’s work (although all code changes are fully outlined and anyone can audit as deep as they want in their review). It’s just about making sure there is nothing surprising and having time to raise concerns as a community if anything comes up.
The CodeGov neuron has already found several instances where there were inconsistencies and we voted to reject those proposals. In most of these instances, DFINITY voted to reject as well and resubmitted the proposal after addressing the issues.
To me, this is what we are called to do as a community that has voting power and can offer decentralization to ICP through the NNS. DFINITY took steps to enable this kind of participation almost a year ago. Not many people and organizations are committed to performing this work yet, but I really hope it ramps up. So far, I’m only aware that CodeGov.org and Taggr Network are voting independently on these proposal topics. It would be awesome to learn if anyone else is doing the same.
Hence, my interest in submitting non-binding resolutions as governance Motion proposals is about experimenting to find a new mechanism to help advance decentralization of ICP. My hope is to continue recognizing and promoting more people and more organizations that are contributing to ICP in this way.
EXAMPLE
Below is an example of a Non-Binding Resolution presented in the form of a Motion Proposal. It is a real example from a recent Replica Version Management proposal of a non-binding resolution that could be submitted to the NNS, so please feel free to offer advice on how it can be improved.
Title: Non-Binding Resolution to Reject the New IC Release in Proposal 123008
Introduction:
Whereas the NNS governing body recognizes the critical importance of decentralized decisions regarding code changes to the Internet Computer Protocol; and
Whereas the IC-OS Verification and Release Notes are formally presented in Replica Version Management proposals for the purpose of verification and review of changes since the last release; and
Whereas every voting member of the NNS has the right and accreditation to review and vote on code changes proposed through the NNS according to their own convictions; and
Whereas Proposal 80639 was adopted by Simple Majority on Sept 18, 2022 with the vision of making it simpler for some neurons to specialize in the review of proposal topics such as “Replica Version Management” and other neurons to follow different neurons on this type of topic for the purpose of enabling decentralization of the vote; and
Whereas the NNS governing body recognizes that replica review reports such as this Motion proposal are non-binding resolutions;
Operative Clause:
-
Be it resolved that The CodeGov Project hereby expresses its Rejection of the New IC Release in Proposal 123008.
-
Be it further resolved that the work product for each reviewer for The CodeGov Project can be found in the CodeGov portal on DSCVR as linked in the References below.
-
Be it further resolved that the poll that determines the vote for the Taggr Network can be found in the NNS-GOV realm on the Taggr Network as linked in the References below.
Supporting Information:
The NNS governing body acknowledges the substantial benefits to decentralization of the Internet Computer Protocol associated with people and organizations who are willing to spend time verifying code changes that occur through the Replica Version Management proposal topic. At this time, the CodeGov.org neuron and the Taggr Network neuron are known to have publicly confirmed that they vote independently on Replica Version Management proposal topics. Any other person or organization who is willing to perform this work may also be recognized in future replica review reports when submitted to the NNS by The CodeGov Project.
References:
Conclusion:
In adopting (or rejecting) the non-binding resolution presented in this Motion proposal, the NNS governing body affirms its commitment to supporting the decentralization of voting on Replica Version Management code changes to the Internet Computer Protocol