Avalanche Bridge (简称AB)是Avalanche 项目团队设计的跨链机制,替代之前的Avalanche-Ethereum Bridge (简称AEB)。

其核心技术为Intel SGX (小知识:什么是Intel SGX2013 年,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。具体流程如下:

在Intel SGX Application 中,内部存在一个Master Secret;通过Master Secret 产生两个私钥sk1 和sk2;sk1 对应于Ethereum 上一个普通地址Eth_Add,用于锁定用户跨链资金;sk2 对应于Avalanche 上一个普通地址Ava_Add,用于在Avalanche 上部署合约、在合约中Mint Wrapped Token;Master Secret 会在Intel SGX Application 中通过Shamir 秘密分享拆分为4 个碎片,分别加密发送给四个Warden;重启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 -> AvalancheMin

{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 的方式,那么一定会为一个更好的跨链方案。