
先分清投票要解决什么问题
区块链投票涉及不同层次。共识层关注节点如何认可同一份账本,治理层关注社区如何决定参数调整、合约升级等事项。入门时先辨认投票对象:是区块与链状态,还是一项改变系统运行方式的提案。两者的参与资格、权重与结果含义各不相同。
共识投票与账本一致性
以太坊共识机制文档将共识解释为协议、激励与相关规则的整体:权益证明下,验证者提出区块并作出证明,分叉选择会考虑按质押余额加权的验证者支持。工作量证明、权益证明还承担抵抗虚假身份扩张的作用,仅有这些机制名称不足以描述完整共识。
因此,不能把共识理解成简单的地址多数表决。阅读规则时,应分别确认谁能参与、权重来自哪里,以及出现竞争分支时如何选择。地址数量、验证者数量和投票权重并不是同一个指标。
治理投票需要哪些规则
OpenZeppelin的Governor文档展示了模块化治理方式:投票权来源、法定票数和计票方法可以分别配置;ERC20Votes支持历史投票权记录与委托;GovernorCountingSimple提供赞成、反对、弃权选项,并将赞成与弃权计入法定票数。治理还可结合时间锁设置执行延迟。
理解一项治理提案,可以沿着资格、时间、计票和执行四个环节阅读。谁可以发起提案,谁具有投票权,何时固定权重,投票开放多久,以及通过后由谁执行,都需要明确规则。这种分析适用于采用相应治理合约的系统,具体配置仍须逐项核对。
快照与门槛分别解决什么问题
快照依据某个历史时点确定投票权,有助于避免同一份代币在转移后被用于重复计票。但快照本身不保证权力分散,也不能替代完整的治理安全设计。
提案门槛决定能否发起提案,法定票数决定是否满足规定的参与要求,通过条件决定表决结果。三者应分开理解:赞成票多于反对票,仍可能因为未达到法定票数而无法通过。
常见问题与适用边界
持有代币是否立即拥有可用票权?需要检查该系统是否要求委托,以及采用哪个时点的历史投票权。弃权是否影响结果?需要查看计票模块,不能将某个模块的规则推广到所有治理系统。
提案通过是否立即生效?还要看是否存在排队、时间锁及后续执行环节。验证者认可区块,也不等于认可其中治理提案的政策内容;账本记录有效与治理决策合理,是需要分别判断的问题。