区块链 · 数字资产知识 · 行业资讯
文章库关于本站

数字资产知识

区块链通证投票权怎样计算|当前余额与历史快照为什么不同

摘要

治理界面的持有余额、受委托票权和提案快照可能采用不同记录。读懂三者之间的关系,可以避免把当前资产数字直接当成某次投票的有效权重。

智能合约区块链的科技主题配图

有通证余额,不代表同样多的可用票权

阅读通证区块链治理资料时,首先要问页面中的数量究竟表示什么。本文限定讨论带委托和检查点机制的投票通证,不把所有通证都归为治理工具。所参考ERC-5805页面在本次查阅时标为Stagnant,因此这里称其为提案文本,不宣称它已成为所有项目实施的最终标准。

该文本区分持有余额与投票权重:持有人可以将票权委托给自己或其他地址;票权委托不等于把通证所有权转给对方。假设某地址保留自己的通证,却将票权委托给另一地址,那么资产展示与投票展示出现不同数值,可以有正常的机制解释。这个例子不是对任何账户的实测。

当前查询与过去查询回答不同问题

ERC-5805分别描述getVotes和getPastVotes:前者查询当前受委托票权,后者查询指定历史时间点的权重。过去的检查点记录不应因后来转账而被当作当前余额重算。这里的快照主要用于确定某个时点的投票资格与权重,不是一张钱包资产截图。

例如,一份提案用时点T固定票权,而持有人在T之后才转入额外通证。只展示转入后的余额,无法证明这部分新增数量也计入该提案。核对时应记录提案采用的快照,而不是拿现在的数字倒推过去;如果快照或委托状态未知,就不应补出一个看似精确的票数。

区块链时间戳的科技主题配图

时间点可能是区块编号,也可能是时间戳

OpenZeppelin治理指南说明,投票通证的内部时钟决定相关Governor采用的时间模式,可以使用区块编号,也可以采用时间戳。查询双方必须使用一致格式。相同的整数在不同模式下含义不同,把日期转换出的秒数直接当区块编号,不是可靠的历史查询办法。

因此,整理一条投票记录,至少要保留网络、合约、时钟模式和查询时点。网页写着历史权重,却省略时点单位时,先标注资料不完整。本文没有连接实际合约验证其模式,也没有把库文档的默认设置当成每个部署都未修改过的事实。

有权重与提案成功仍是两层规则

OpenZeppelin的示例治理系统还分别配置投票延迟、投票持续期、法定参与门槛以及票数统计模块。延迟决定何时固定投票权,持续期说明投票窗口;它们不是同一个倒计时。读者不能只看到某地址有权重,就推断提案已经开始、已经达到门槛或已经执行。

比较两套治理页面时,可以先分出资产持有、委托关系、历史权重和提案状态四栏,再核对每栏证据来自哪里。这是资料整理方法,不是对治理公平性或安全性的认证。本文不推荐购买任何通证,也不提供投票交易、授权签名或资金操作步骤。

← 返回全部文章

延伸阅读 · 相关栏目

区块链基础技术原理数字资产知识资料与核验