关于 SUI 这一手冻结的操作,我好奇研究了黑名单具体是怎么实现的,以及昨天更新的白名单补丁又要干嘛?
1. 冻结如何实现?
首先是 SUI 这条链一直就有个功能,叫做 Deny List (拒绝服务的黑名单),凡是进了黑名单的地址,节点都不执行相关的交易。
正是因为功能早就存在在客户端里了,所以这次才能紧急冻结掉黑客的地址,否则 SUI 虽然只有 113 个节点,但哪怕 Cetus 一个一个去打电话,依然来不及。
SUI 也不是从昨天起才【突然】变成了中心链,它【一直】就是,至少在加入了黑名单功能之后就算了。
2. 谁有权力更改黑名单?
理论上,TransactionDenyConfig 是每个验证者【本地】加载的 YAML/TOML 配置。
任何运行节点的人只要改文件、热加载或重启节点,就能换掉列表。
看似是节点们价值观的意志自由表达。
但是,你知道我要说但是。
实际上,为了保证网络的一致性和安全策略的有效性,这种关键配置的更新通常会通过【协调进行】。
所谓协调进行,这里面就是涉嫌中心化的部分了。
鉴于这是“SUI 官方紧急更新的代码”,Sui Foundation (或其授权的开发者) 基本就是这份配置名单的初始制定者和更新者。
Sui 官方率先发布黑名单,节点们【理论上】自由选择跟 or 不跟,但是根据我对节点的认识,这基本是默认自动发生的。
所以,尽管这个功能暂时保护了很多人的资金,但是它实则是中心化的。
3.昨天发布的新补丁是什么?
昨天 SUI 紧急上线了一个白名单(transaction_allow_list_skip_all_checks)功能。
任何在白名单里的交易都可以跳过所有安全检查(包括签名数、权限、封禁对象等)。
4. 白名单要干什么?
如果日后需要追回或归还资金,官方可以预先构造一笔特定“救援交易”,把其塞进 transaction_allow_list_skip_all_checks,这样即便它已经被黑名单锁住,也能绕过所有校验一次性执行。
5. 那白名单有直接拿走黑客钱的权力么?
没有。它只能让这笔钱突破黑名单。
补丁本身无法代签黑客私钥,也不会调用特权 Move 函数。它只是阻断或放行。要把钱真正转走,则必须:
(1)拥有黑客私钥,或
(2)另外发布一个还原模块(系统底层级别特权)并把该升级交易加入白名单。
6. 所以现在 SUI 是什么情况?
SUI 中心化出手
冻结了黑客的偷走的一部分钱
可是暂时也取不出(因为涉及到底层级别修改)
所以现在开始为取回这笔钱铺路
但代价是 SUI 会变得更加中心化
希望家人们早日把钱顺利拿回。
PS:一些其他相关内容可以参考 Haotian 老师这一篇。

来自推特
免责声明: 以上内容仅为作者观点, 不代表CoinNX的任何立场, 不构成与CoinNX相关的任何投资建议。