亲爱的社区成员,特别是此次提案的参与者们:
我代表 DAO 管理委员会,就本次提案的投票结果,发布以下调查与仲裁结果说明。
一、背景
在提案投票结束后,社区收到了多起关于投票公正性的投诉。
此外,还有多位成员通过私下渠道反映相似问题。
投诉的主要焦点在于:
投票账户 BroAllen 与 Mod 的投票权重的最后五位数完全相同,疑似重复使用了相同的 NervosDAO 地址 进行投票。
在收到投诉后,DAO 管理委员会认为这些怀疑合理且值得调查。
尽管当时尚无直接证据,但线索足以构成调查的起点。
我们随即启动了正式调查程序,期限为一周。
二、调查与结论摘要(TL;DR)
在截止日期前,我们找到了直接且可验证的证据。以下是调查与仲裁的主要结论:
-
Bug 发现
我们确认 Metaforo 在基于 NervosDAO 存款计算投票权重时存在一个漏洞:
用户在绑定 NervosDAO 地址完成投票后,可以解除绑定(unbind),再绑定到另一个账户进行重复投票。
-
漏洞被实际利用
调查确认该漏洞在本次投票中被利用。
涉及的重复地址如下:
ckb1qzda0cr08m85hc8jlnfp3zer7xulejywt49kt2rr0vthywaa50xwsq22vda73jzdlu3lf6luskzcjz7z5ksa58stp95p5 ckb1qzda0cr08m85hc8jlnfp3zer7xulejywt49kt2rr0vthywaa50xwsqwpcdzq3q7klvy9esgjlsy9vrapke97kgsqmwwrp重复利用的权重合计:71,247,257
该部分权重被用于反对票。
-
未发现其他异常
我们未发现除上述两个地址外的其他重复投票行为。
-
仲裁决定:修正投票结果
因此,委员会决定剔除重复的 71,247,257 票权重,并重新计算投票结果:
-
赞成票:343,524,829
-
反对票(修正后):184,348,409 - 71,247,257 = 113,101,152
-
新比例:343,524,829 / (343,524,829 + 113,101,152) = 75.23%
修正后投票结果:提案以 75.2% 赞成票通过。 -
三、调查过程说明
-
调查进展比预期更复杂。
原因是 Metaforo 后端未保留完整的请求日志,数据库中也未记录 bind/unbind 状态变化。
-
我们最终通过 Metaforo 前端实现细节,结合 CKB 浏览器后端日志,锁定了重复投票的证据。
-
在调查过程中,我们意外联系到了 MOD(BroAllen)本人。
他(她)承认了利用漏洞重复投票的事实,并提供了部分操作细节和动机。出于隐私考虑,本文不披露其个人信息。他(她)表示将在仲裁结果公布后以个人身份回应此事件。
四、致谢
此次调查和最终报告的形成得到了以下团队和个人的协助与支持:
-
App5 团队(CKB浏览器团队)
-
Metaforo 团队
-
社区成员 Yixiu
五、调查报告与日志资料
Metaforo 投票权重获取逻辑
-
绑定地址时,会去查询:
-
该地址是否已被绑定(Metaforo平台内部)
-
该地址下是否有处于「存款中」状态的 NervosDAO Cell(通过浏览器的/api/v2/dao_events接口获取),并拿到capacity,判断是否 > 0
-
-
投票时,会去:
-
查询用户下绑定了多少NervosDAO地址
-
依次遍历请求这些地址下处于「存款中」状态的 NervosDAO Cell(通过浏览器的/api/v2/dao_events接口获取),并拿到capacity(权重)
-
对各个地址权重进行累加,得到该用户的投票权重
-
获取权重的代码如下:
用户「Mod」的投票记录数据追踪
Metaforo 上 Mod 的投票完成的时间为 2025-10-28 08:18:27(UTC+0):
在ckb explorer的接口服务端,可以看到相同的时间段内,有三个地址顺序请求了/api/v2/dao_events 接口:
Table1
图中数据两两一组,分别记录了请求入口,以及数据返回的时间(UTC+8)、请求地址。上图的日志里展示了在投票时 Metaforo 后端请求该账号当前绑定的3个CKB地址的权重,结合CKB浏览器的数据,这三个地址以及权重如下:
考虑到 Metaforo 里忽略了小数点之后的权重,此累计权重与在 Metaforo 提案投票结果中 「Mod」的相符。
更进一步,我们抓取了Oct 28, 2025 @ 16:00:00.000 - Oct 28, 2025 @ 17:00:00.000 之间的请求记录(详细日志参见附件2):

Table2 BroAllen 投票前后的日志
发现只有上述3个地址相关的请求,由于来自 Metaforo 的投票均会进入这个请求,因此可以排除在此时间段有别的地址参与投票的可能性。
用户「BroAllen」的投票记录数据追踪
Metaforo 上 BroAllen 的投票完成的时间为 2025-11-03 19:44:05(UTC+0):
同样,我们抓取了 ckb explorer 后端的接口服务日志,看到该时段内有两个地址顺序请求了/api/v2/dao_events 接口(如图中红色标注区域),符合投票时 Metaforo 的请求行为:
Table3
这两个地址的信息分别如下:
考虑到 Metaforo 里忽略了小数点之后的权重,此累计权重与在 Metaforo 提案投票结果中 「BroAllen」的相符。
更进一步,我们抓取了 Nov 4, 2025 @ 03:00:00.000 → Nov 4, 2025 @ 04:00:00.000 之间的请求记录(详细日志参见附件3):
![]()
Table4 BroAllen 投票前后的日志
发现只有上述上述两个地址相关的请求,由于来自 Metaforo 的投票均会进入这个请求,因此可以排除在此时间段有别的地址参与投票的可能性,也即这一阶段只有 BroAllen 在 Metaforo 上投票。
分析
通过跟踪「Mod」和「BroAllen」的投票记录和请求日志,发现「BroAllen」和「Mod」两个账号在投票期间共用了以下地址来投票:
-
ckb1qzda0cr08m85hc8jlnfp3zer7xulejywt49kt2rr0vthywaa50xwsq22vda73jzdlu3lf6luskzcjz7z5ksa58stp95p5
-
ckb1qzda0cr08m85hc8jlnfp3zer7xulejywt49kt2rr0vthywaa50xwsqwpcdzq3q7klvy9esgjlsy9vrapke97kgsqmwwrp
累计权重达到 71,247,257 。









