超 10 万美元被锁定,从 unibtc 冻结事件看免信任托管的重要性

CN
链捕手
关注
6小时前

作者:DeepSafe Research

2025 年 4 月 23 日,一位名叫 Brain 的网友借朋友之手在推特上求助,称自己在某比特币 Layer2 链上进行套利操作时,超 10 万美元的 unibtc 资产被 Bedrock 官方困住且无法退出。

根据当事人 W 的披露,4 月 17 日,他发现由 Bedrock 发行的 unibtc 在某比特币 L2 链上出现价格异常并与 BTC 脱钩,W 认为脱钩是暂时的不久会回锚,这里有很好的套利机会,便将部分 BTC 跨入该比特币 L2,将其兑换为 unibtc 并待其回锚后卖出。

仅在脱钩后 24 小时内,unibtc 便已回锚,但 W 尝试将手上的 unibtc 卖出时,却发现该链上的 unibtc-BTC 流动性池被 Bedrock 官方撤掉了,而这个代币对该链上唯一的 unibtc 二级市场退出通道。W 没法将手上的 unibtc 出掉,便尝试把 unibtc 跨到其他链上。

当他找到该链上唯一一个支持 unibtc 的跨链桥(名为 Free)时,却收到提示——“交易需要项目方签名授权”。W 找到 Free 跨链桥的客服,对面如此解释:“unibtc 跨链的多签密钥由 Bedrock 托管,未经他们许可,用户无法把 unibtc 提到其他链上。”

没有办法,W 只能找到 Bedrock 相关人员询问此事,对方的初步回复是:“我们可以允许您提走本金,但您套利产生的利润能否提走,要暂留审核。”

至此,W 意识到这条链上 unibtc 的退出路径被彻底切断了,而自己手上价值约 20 万 U 的 unibtc 被“暂时冻结”——既没有办法在该链上卖掉,也不能跨到其他链上。此时他感到非常无助,只求顺利撤回本金。

然而 BedRock 相关人员的态度变得暧昧不清——既不明确说明 W 什么时候可以撤回本金,也不提供任何书面承诺,以“风险审查”“技术排查”等理由进行拖延。

拖延了一阵后,BedRock 声称,unibtc 脱钩源于 LayerBank 平台上有人大规模借走 unibtc 资产并进行砸盘,然后 BedRock 的人建议 W“向 LayerBank 追责”。而 W 找到 LayerBank 后长时间没有得到回应。

无奈之下,W 只好在推特上找到朋友进行求助,经过超两周的周旋,终于得到了了 LayerBank 和 BedRock 官方的积极响应,成功将资产追回。

W 的遭遇并非个例。根据其他当事者的反馈,去年 BedRock 也曾用类似手段切断用户的 unibtc 退出路径,导致这些 unibtc 被“实质性冻结”。当然,本文并不打算就上述事件的背后缘由加以揣测,仅从技术层面为大家阐述类似的中心化作恶行为该如何避免与杜绝。

首先复盘前述事件,我们可以看到,BedRock 身为 unibtc 发行方以及二级市场流动性池的初始 LP,天然拥有 unibtc 二级市场退出通道的权限,如果要对其权力加以限制,更多要通过治理而非技术手段;

然而,前文中 Free 跨链桥与 BedRock 合谋拒绝用户请求一事,却暴露出 unibtc 在“发行—单链流通—多链流通”环节中存在明显的技术缺陷:身为 BedRock 合作方的 Free 跨链桥显然是高度中心化的。

真正 Trustless 的桥,应该保证让桥官方无法阻拦用户退出,而 unibtc 冻结案中无论是 BedRock 还是 Free 跨链桥,都掌握着强有力的中心化权限,没有提供抗审查的退出通道。

当然,类似 unibtc 的案例并不少见,切断用户退出路径的事在各大交易所身上都屡见不鲜,而对跨链桥或其它类型的项目方来说,这种动用中心化权限的案例也不在少数。2022 年 6 月时,Harmony Horizon Bridge 曾因遭黑客攻击而暂停 57 种资产的提款通道,虽然这种行为有“正当理由”,但还是让一些人感到细思极恐;

2021 年的 StableMagnet 事件中,项目方通过事先预留的程序漏洞监守自盗 2400 万美元,最终香港和英国出动大量警力,才在社区协助下追回了 91% 的赃款。种种案例充分说明,资产托管平台若不能提供免信任的服务,最终必然酿成恶果。

然而,Trustless 并非唾手可得,从支付通道和 DLC 到 BitVM 和 ZK Rollup,人们尝试了各种实现方式,虽然可以很大程度的保障用户自主权,提供可靠的资产撤离出口,但这背后仍存在不可避免的瑕疵。

比如,支付通道需要当事人监视对手方的潜在恶意行为,DLC 需要依赖于预言机;而 BitVM 使用成本高昂,在实践环节中存在其他的信任假设;ZK Rollup 的逃生舱则要经过漫长的窗口期才能触发,且需要先将 Rollup 停机,这背后的代价十分巨大。

从当前各大技术方案的落地情况来看,并未出现堪称完美的资产托管与退出方案,市场仍需要推陈出新。在下文中,DeepSafe Research 将以 DeepSafe 官方推出的资产托管方案为例,向大家阐明一种结合 TEE 和 ZK、MPC 的免信任消息验证方案,这种方案在成本、安全、用户体验等不可兼得的指标上做出了平衡,可以为交易平台、跨链桥或任意的资产托管场景提供可靠的底层服务。

CRVA:加密随机验证网络

目前市面上应用最广泛的资管方案,大多采用多签或 MPC/TSS 的方式判定资产转移请求是否有效,这种方案优势在于落地简单、成本低、消息验证速度快,坏处则不言自明——不够安全,往往趋于中心化。2023 年的 Multichain 一案中,21 个参与 MPC 计算的节点均为一人控制,是典型的女巫攻击。此事足以证明,单纯表面上的几十个节点并不能提供较高的去中心化保障。

针对传统 MPC/TSS 资管方案的不足,DeepSafe 的 CRVA 方案作出了大量改进。首先,CRVA 网络节点采用资产质押的准入形式,达到约 500 个节点后才会正式启动主网,按照估算,这些节点质押的资产将长期维持在几千万美元或更高;

其次,为了提高 MPC/TSS 计算的效率,CRVA 会通过抽签算法随机抽选节点,比如每隔半小时抽 10 个节点,由它们作为验证人,验证用户请求是否应通过,然后生成对应的门限签名予以放行。为了防止内部串谋或外部黑客攻击,CRVA 的抽签算法采用原创的环状 VRF,结合 ZK 来隐藏被抽中者的身份,让外界无法直接观测被抽选者。

当然,仅做到这种程度还不够,虽然外界不知道有谁被选中,但此时被抽中者本人知道,所以仍然有串谋的路径。为了进一步杜绝串谋,CRVA 的所有节点都要把核心代码运行在 TEE 硬件环境内,相当于把核心工作放在黑箱里进行。这样一来,任何人都无法得知自己是否被抽中,除非他能够破解 TEE 可信硬件,当然根据目前的技术条件,这极难做到。

上面讲到的是 DeepSafe 的 CRVA 方案基本思路,在实际的工作流程中,CRVA 网络内的节点间要进行大量的广播通信与信息交换,其具体的流程如下:

1.所有节点在进入 CRVA 网络前,要先在链上质押资产,留下一个公钥作为注册信息。这个公钥又称为“永久公钥”。

2.每过 1 小时,CRVA 网络会随机挑选几个节点。但在此之前,所有候选人都要在本地生成一次性的“临时公钥”,同时生成 ZKP,证明“临时公钥”与链上记录的“永久公钥”有关联;换句话说,每个人都要通过 ZK 证明自己存在于候选人名单中,但又不透露自己是哪个;

3.“临时公钥”的作用在于隐私保护。如果直接从“永久公钥”集合中抽签,公布结果时,大家会直接知道哪些人当选。如果大家只暴露一次性的“临时公钥”,再从“临时公钥”集合中选出几个人,你最多知道自己中签,但不知道其他中签的临时公钥对应着谁。

4.为了进一步防止身份泄露,CRVA 打算让你自己都不知道自己的“临时公钥”是啥。临时公钥的生成过程在节点的 TEE 环境内完成,运行 TEE 的你无法看到里面发生了啥。

5.然后在 TEE 内把临时公钥明文加密为“乱码”后再发给外界,只有特定的 Relayer 节点可以还原。当然,还原流程也在 Relayer 节点的 TEE 环境里完成,Relayer 并不知道这些临时公钥对应着哪些候选人。

6.Relayer 还原出全部“临时公钥”后,把它们统一归集并提交给链上的 VRF 函数,从中抽选出中签者,由这些人验证用户前端发来的交易请求,然后根据验证结果生成门限签名,最后再提交至链上。(需要注意,这里的 Relayer 其实也是隐藏身份且定期抽选的)

可能有人要问,既然每个节点都不知道自己是否被抽中,那工作还怎么进行?其实前面提到,每个人都会在本地 TEE 环境内生成“临时公钥”,抽签结果出来后,我们直接把名单广播出去,每个人只要把名单传入 TEE,在里面核对自己是否被选中即可。

DeepSafe 这套方案的核心在于,几乎所有的重要活动都在 TEE 硬件内进行,从 TEE 外部无法观测到发生了什么。每一个节点都不知道被选中的验证人有谁,防止了串通作恶,并大幅度增加了外部攻击的成本。要攻击基于 DeepSafe 的 CRVA 委员会,理论上要攻击整个 CRVA 网络,加之每个节点都有 TEE 保护,攻击难度大幅攀升。

结合 CRVA 的资产自托管方案实现

上面我们介绍了 CRVA 的大致原理,为大家说清了 CRVA 如何实现去中心化免信任。下面我们将以名为 HelloBTU 的比特币算法稳定币为案例,进一步理清 CRVA 在资产托管方案中的应用方式。

众所周知,由于比特币链上不具备图灵完备的环境,无法直接实现 Defi 等复杂的智能合约逻辑,所以主流的 BTCFi 是把比特币桥接到其他链上再和智能合约交互。HelloBTU 的智能合约部分布置在以太坊上,用户可以将 BTC 存入 HelloBTU 指定的收款地址,再由后者的官方桥把 BTC 跨到以太坊链上,然后和 HelloBTU 的算稳智能合约进行交互。

假设现在用户要把 10 枚 BTC 质押到 HelloBTU 平台,具体操作是先把 10 枚 BTC 转移到比特币链上的一个 Taproot 地址下,对应的解锁需要 2/2 多签,其中一道签名由用户生成,另一道签名由 CRVA 生成。

这里涉及到的几种情况有:

假设 10 枚 BTC 转入上述 Taproot 地址后,用户用这 10 枚 BTC 铸造了稳定币,现打算将 BTC 主动赎回。此时用户和 CRVA 各生成一个签名,将这 10 枚 BTC 解锁并转回用户地址即可。如果 CRVA 长期未配合用户,等时间锁窗口期到期后,用户可以单方面将这 10 枚 BTC 可以拿回,这个功能名为“用户自主赎回”。

另一种情况是,用户作为抵押物的 BTC 遭到了清算,现在他应该配合 CRVA 把这些 BTC 转移并交由 CRVA 单向通道控制。但用户可以拒不配合,此时这些 BTC 被暂时卡住,谁也拿不走;等时间锁窗口期一过,这些钱可以被 CRVA 划转走,进入 CRVA 控制的 Taproot 地址下 (CRVA 单向通道 );

这里面有个细节,就是 BTC 进入 CRVA 单向通道的时间锁比较短,而用户自主赎回的时间锁更长,换句话说,如果 CRVA 和用户之间无法彼此配合,这些 BTC 最终会优先进入 CRVA 单向通道。这样一来,用户方面赖账作恶的行为可以被有效限制。

而对于 CRVA 作恶的情况,由于 CRVA 是一套自动化运行的节点网络系统,只要其初始启动时的代码中不包含恶意逻辑,就不会出现 CRVA 主动拒绝配合用户的情况,所以基本可以忽略;

如果 CRVA 因停电、洪灾等不可抗力导致节点大量停机,根据上述方案中提及的流程,用户依然有办法把资产安全提走。这里面的信任假设就在于,我们信任 CRVA 足够去中心化,不会主动作恶(理由前面已经充分说明)。

如果 BTC 被划转到 CRVA 单向通道内,往往说明对应的链上算稳仓位遭到了清算,此时 BTC 的实际所有权归属于清算人。清算人可以发起提款请求,由 CRVA 进行审理,若通过,CRVA 会为其生成签名,并将对应数额的 BTC 转给清算人。

此时,如果 CRVA 长期未响应,时间锁到期后,这些 BTC 会转移至 DAO 控制的地址下,这步操作由多签触发,后续的处理则由 DAO 治理解决,这个 DAO 由知名项目方、安全公司以及投资机构共同组成,以遏制单一实体作恶为宗旨而建立。

综上所述,我们对 DeepSafe 针对比特币的资产自托管方案进行了大致的阐述,而对于 ERC-20 资产,其原理与之类似,在此不作赘述。对于前文中提到的 unibtc 冻结案,如果 unibtc 跨链桥采用 CRVA 的自托管方案,很难出现资产发行方单方面掌控全局的可能。

免责声明:本文章仅代表作者个人观点,不代表本平台的立场和观点。本文章仅供信息分享,不构成对任何人的任何投资建议。用户与作者之间的任何争议,与本平台无关。如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到support@aicoin.com,本平台相关工作人员将会进行核查。

派网:注册并领取高达10000 USDT
广告
分享至:
APP下载

X

Telegram

Facebook

Reddit

复制链接