Avalanche 的跨链桥机制引入了 Intel SGX 的内置可信执行环境,加上白名单作为密钥分享管理者,兼顾了效率、费用和安全性。

撰文:李尼, Wanchain 全球副总裁

Avalanche Bridge (简称 AB)是 Avalanche 项目团队设计的跨链机制,替代之前的 Avalanche-Ethereum Bridge (简称 AEB)。其核心技术为 Intel SGX (小知识:什么是 Intel SGX?2013 年,Intel 推出 SGX(software guard extensions) 指令集扩展,旨在以硬件安全为强制性保障,不依赖于固件和软件的安全状态,提供用户空间的可信执行环境,通过一组新的指令集扩展与访问控制机制,实现不同程序间的隔离运行,保障用户关键代码和数据的机密性与完整性不受恶意软件的破坏。不同于其他安全技术,SGX 的可信计算基 (trusted computing base, 简称 TCB) 仅包括硬件,避免了基于软件的 TCB 自身存在软件安全漏洞与威胁的缺陷,极大地提升了系统安全保障;此外,SGX 可保障运行时的可信执行环境,恶意代码无法访问与篡改其他程序运行时的保护内容,进一步增强了系统的安全性)。因此,Avalanche 的 AB 跨链桥主打的特点是「快速」和「费用低」。目前在 Ethereum 和 Avalanche 之间双向跨链所支持的 ERC20 代币,包括 ETH (只支持 WETH),Wrapped Token 和托管型 WBTC。

跨链资金管理

Avalanche Bridge 技术的核心(或者说技术差异度)主要就是体现在跨链资金的管理机制上。区别于其他项目,虽然其跨链对象(即 Ethereum 和 Avalanche)支持智能合约,但 AB 并没有使用智能合约去管理跨链资金,而是通过 Intel SGX 产生一个普通的 Ethereum 和 Avalanche 地址,去完成跨链资金的管理和 Wrapped Token 的 Mint。具体流程如下:

  1. 在 Intel SGX Application 中,内部存在一个 Master Secret;
  2. 通过 Master Secret 产生两个私钥 sk1 和 sk2;
  3. sk1 对应于 Ethereum 上一个普通地址 Eth_Add,用于锁定用户跨链资金;
  4. sk2 对应于 Avalanche 上一个普通地址 Ava_Add,用于在 Avalanche 上部署合约、在合约中 Mint Wrapped Token;
  5. Master Secret 会在 Intel SGX Application 中通过 Shamir 秘密分享拆分为 4 个碎片,分别加密发送给四个 Warden;
  6. 重启 Intel SGX Application 时候,需要至少三个 Warden 将秘密碎片发送过去,以重构出 Master Secret,进而计算 sk1 和 sk2。

小结:跨链资金是由两个普通地址控制,而不是合约控制。而控制地址的私钥也并不是由 Warden 直接掌握,而是放在 Intel SGX 使用,但是 Warden 具备 Master Secret 的碎片,可以重启 Intel SGX Application,在其内部计算得到私钥。

跨链信息的验证

不同链上发生的事件,是由一组 Warden 通过(3/4 门限)共识达成,即共有 4 个 Warden,3 个认可同一笔交易,那么就可以进行下一步跨链操作。而四个 Warden 都是项目方的合作单位,目前为 Ava Labs、Halborn、BwareLabs 和 Avascan。

跨链流程

方向 1:Ethereum -> Avalanche

  • Step1:用户在 Ethereum 上发送一笔普通转账交易,将需要跨链的 ERC20 Token 发送到 Eth_Add;
  • Step2:四个 Warden 监控 Eth_Add,发现这笔交易后,分别将看到的交易发送给 Intel SGX Application;
  • Step3:当至少有三个 Warden 发送的交易达成一致时,Intel SGX Application 利用内部的 sk2 私钥,通过控制 Ava_Add,调用 Avalanche 上对应于这个 token 的合约,为用户 Mint 相应数量的 Wrapped Token,Avalanche 用户地址与以太坊地址一致。

方向 2:Avalanche -> Ethereum

  • Step1:用户在 Avalanche 上发送一笔调用合约的交易,将需要跨链的 Wrapped Token 发送到对应的合约 Burn;
  • Step2:四个 Warden 监控到这笔交易后,分别将看到的交易发送给 Intel SGX Application;
  • Step3:当至少有三个 Warden 发送的交易达成一致时,Intel SGX Application 利用内部的 sk1 私钥,由 Eth_Add 向用户地址发送一笔交易,将对应的 Token 返回用户账户

跨链时间

  • Ethereum 交易确认时间:需要 35 个块确认,一般用时约 6-7 分钟
  • Avalanche 交易确认时间:几秒钟(解释:与 Avalanche 的共识机制有关,其 finality 性质比较好)
  • 总体时间:6-9 分钟

跨链费用

方向 1:Avalanche -> Ethereum

  • 浮动部分:以太坊交易费用,即在以太坊上从 enclave 地址提币给用户的交易所产生的交易费
  • 固定部分:约 5 美金

方向 2:Ethereum -> Avalanche

Min {5% 的跨链 token, 价值 1 美金的 token}

  • 解释:因为跨链主要费用的产生是在 Ethereum 上,从 Ethereum 跨链到 Avalanche,以太坊上交易是用户发送,因此只收取与跨链代币数量相关的跨链交易费
  • 预估:根据项目方官方的说法,在以上规则下,一般情况下跨链成本在 1-5 美金

整体方案评估

**关于交易费用:**交易费用确实低,因为任何跨链机制的交易费用主要在以太坊上,但是在 AB 机制中,以太坊上交易都是普通转账交易,不需要调用合约的交易,因此交易费必然比较低。

**关于安全性:**AB 宣称通过引入 Intel SGX 去增强安全性,但是我个人认为有点多此一举的感觉,因为虽然关键账户的私钥确实是在可信环境中保持,不过需要指出 Master Secret 仍然通过 Shamir 秘密分享的方式,以碎片的形式被 Warden 掌握。那么一旦碎片泄露或者 Warden 合谋,理论上是有可能计算得到账户私钥呢的。不过由于前期的 Warden 都是可靠受控的管理者,其风险应该相比别的多签或者单签机制要好得多。

**关于去中心化程度:**跨链机制的去中心化就是看跨链信息的验证方式和跨链资金的管理方式,分析 AB 的机制,其实无论是跨链资金的管理还是跨链信息的验证,都是由 4 个 Warden 决定,实现效果和四个节点的多签基本相同。不过 Avalanche 是很明确清晰的告诉了社区这几个 warden 都是谁,所以相比市面上大多数的项目都透明了很多,这点要点个赞!相信后期 Avalanche 官方肯定会开放更多的 Warden 名单,往着去中心化的目标继续推进!

总结

Avalanche 的 AB 以太坊跨链桥机制的设计很有创新,引入了 Intel SGX 这样一个内置的可信执行环境,加上白名单 Warden 作为密钥分享的管理者,兼顾了效率,费用和安全性三点,应该是以太坊很多跨链桥 / 机制中不错的一个可应用型的设计和产品!如果 AB 的跨链桥以后能够融合 Wanchain 所采用的安全多方计算 MPC 的方式,那么一定会为一个更好的跨链方案。

资料来源

https://docs.avax.network/learn/avalanche-bridge-faq#aeb-deprecated-bridge

https://www.youtube.com/playlist?list=PLRHl-ulWK4-FPRA7SS1OrCOC8cOc2K8sP

https://medium.com/avalancheavax/avalanche-bridge-secure-cross-chain-asset-transfers-using-intel-sgx-b04f5a4c7ad1

https://cchain.explorer.avax.network/tx/0xaeab2ea9c3547e195c7eaf4fa4fbe01ab72098fa9430a2ca463d57d361ac21bb/raw-trace

https://etherscan.io/address/0xe78388b4ce79068e89bf8aa7f218ef6b9ab0e9d0

免责声明:作为区块链信息平台,本站所发布文章仅代表作者个人观点,与链闻 ChainNews 立场无关。文章内的信息、意见等均仅供参考,并非作为或被视为实际投资建议。