达尔文主网渐进式上线已经来到了第三阶段:完整的「达尔文-以太坊跨链桥」。现在,你可以自由的在达尔文和以太坊之间以去中心化的方式转移达尔文资产,当然,你需要支付一些网络手续费。本文将首先回顾达尔文-以太坊跨链桥的一些背景知识及上一阶段的单向桥,然后重点讲解本次开启的达尔文→以太坊桥,带你了解其特点、重要组成部分和使用,期间还会介绍到一些达尔文采用的或者创新的技术,带你由浅入深的了解达尔文双向桥,以及为什么它是去中心化的和去信任的!看完本文,你将会更好的理解什么是达尔文跨链桥。背景知识
达尔文网络是基于Substrate开发的去中心化桥接网络,是跨链生态的金门大桥枢纽,提供最安全的通用桥接方案,可以实现波卡,以太坊,波场等异构链之间的资产跨链和通用远程链调用,作为连接异构链的桥中心,任何网络都可以实现一次接入达尔文即可打通连向其他已连接网络间的跨链桥接链路,而无需重复自己建造两两直连桥。主要应用领域包括Defi,跨链NFT交易市场,游戏等。##RINGRING是达尔??络的原?资产,RING可以作为交易的燃料费。燃料费包括交易费?,合约执?费?,跨链服务费?等等。##KTON为了鼓励用户进行长期锁定和承诺投入,用户在质押RING的过程中,可以承诺锁定RING1-36个月,系统会给参与质押用户相应数量的氪石通证作为承诺奖励,KTON可以再次参与质押获得更多的票权。以太坊→达尔文桥
以太坊→达尔文桥,之前被称为以太坊达尔文单向桥,是达尔文主网渐进式上线第二阶段开通的主要功能。ERC20版的RING和KTON,以及RING存单都可以通过以太坊→达尔文桥跨链转移回达尔文主网。以太坊→达尔文桥通过在达尔文链上实现一个超级轻客户端,在降低成本的同时,实现跨链验证的目的。超级轻客户端使用了特殊的MMR数据结构,目前已经被Grin、Beam等项目采用,但是在源链块头不支持超级轻客户端的情况下,链上实现该协议还有很多链下实现没有遇到的挑战。Darwinia创新性的解决了链上实现SuperLightCient的挑战,引入了乐观验证博弈游戏并整合成一套经济可行的跨链转接桥方案,为未来异构链的跨链提供一个方向。点此回顾「以太坊→达尔文桥」的详细信息达尔文→以太坊桥
达尔文→以太坊桥是达尔文至以太坊的去中心化跨链桥,简称D2E桥。D2E桥是达尔文渐进式上线过程中第三阶段开通的一个主要功能,标识着以太坊和达尔文之间的跨链桥双向开通。D2E桥目前的主要功能,是以去中心的方式,将达尔文主网上的数字资产跨链转移到以太坊上。具体来说,用户在达尔文主网一端将原生资产锁定,于合约中进行安全保管,任何人无法取出。以太坊一端的智能合约实现了观察达尔文网络的超级轻客户端,得以验证用户提交的原生资产锁定证明,并生成等量的ERC20资产。得益于达尔文网络上运行的具有不可逆最终性的GRANDPA协议,以太坊端的超级轻客户端可以在很短的时间内确认并校验用户提交的密码学凭证。以上过程正好与前期开放的以太坊→达尔文单向桥功能相反,同时,由于是将达尔文原生资产从本链跨链转移至其他链,所以D2E桥也常常被称之为达尔文以太坊反向桥。D2E桥的特点1、去信任
在区块链领域,去信任的意思,是无需信任任何中心化的系统及系统中的任何参与者,就能管理或操作自己的资产,且确保自己的资产的安全。想要达成资产的跨链,有很多的方法,包括中心化的和去中心化的。中心化的方法最为简单,比如依靠中间人或者托管人来达成。但是中心化的方式最大的弊端是依赖信任。达尔文桥包括D2E桥,被设计成以去中心化的方式来提供跨链能力。使用者只需要信任这套跨链协议,以及实现这套协议的代码、密码学、经济学即可。所有参与者被激励遵循这套跨链协议所确保执行的游戏规则,包括达尔文的开发者在内,否则将收到经济惩罚。SubstrateGRANDPA具有不可逆的最终性,可以很快帮助敲定Darwinia源链的区块;相比之下,工作量证明共识系统只有基于概率的最终性,需要等待较多的块确认数以获得大概率的最终性。通过GRANDPAJustification相关的证明,就可以在以太坊轻客户端智能合约中敲定Darwinia源链的区块头以及区块头中嵌入的MMRRoot,进而可以敲定Darwinia源链的历史区块。这实际上就在以太坊目标链上构建了一个Darwinia源链的超轻客户端,GRANDPA敲定机制以及MMR证明是其中的核心验证逻辑。2、低燃料消耗
众所周知,区块链的运行是有成本的,因此区块链的使用是需要费用的。很多去中心化跨链方案都采用了在对手区块链中运行轻客户端的方式来实现,达尔文也属于这个分类。但是,经典轻客户端,需要维护完整区块链的所有块头,这是一个不小的开销,尤其是如果这条链已经很长,会在源链上占据极大的存储空间。但是,达尔文的轻客户端是一种超轻量的客户端,它只需要有限的、按需的少量区块头,就能保证轻客户端的正常工作,也就是可以用来通过默克尔树证明来校验交易的存在性,具体方案将在下面的章节介绍。经典轻客户端在技术上可行,但是在经济上不可持续,而达尔文的亚线性超级轻客户端解决了这个问题。正因为D2E桥在以太坊中用智能合约实现了这样一个超轻客户端,所以用户可以以极低的费用完成去中心化的跨链操作。D2E桥的组成D2E桥主要由以下几部分组成,其整体结构如下图:
1、以太坊上的达尔文超轻客户端
前文提到,去中心化跨链方案大都会使用轻客户端。所谓轻客户端,就是一个只包含区块链块头的数据结构,它无需存储体积巨大的完整区块链,让用户无需同步完整的区块链即可以安全、分散的方式访问区块链并与之进行交互。但是对于用智能合约开发,在链上保存源链上所有块头的轻客户端来说,它称不上是轻的。达尔文通过引入MerkleMountainRange(MMR)实现了一种按需提交块头的超轻客户端。超轻客户端无需保存每一个块头,只在需要的时候,由桥矿工向其提交所需的块头即可满足数据验证的要求。而桥矿工所提交的块头的正确性,则由D2EAuthorities来保证。相较于PoW协议网络,如以太坊到达尔文桥需要引入额外的乐观验证博弈进行确认,超轻客户端花费时间更短、效率更高。未来,当以太坊预编译合约支持Ed25519后,块头的正确性可以由达尔文GRANDPAAuthorities来保证。2、桥矿工
由于链之间无法直接去访问对方,所以轻客户端的块数据及其MMR摘要提交需要由第三方来完成,这个第三方就是桥矿工。任何人都可以成为桥矿工,桥矿工通过完成桥间的中继任务来获取收益。桥矿工互相监督,提交错误数据将被惩罚,而诚实桥矿工则可获得跨链服务费收益以及可能的吹哨人奖励。这种激励的存在可以促使桥矿工稳定存在,以此保证桥的稳定工作。3、D2EAuthorities
前文提到,目前块头的正确性无法通过GRANDPA来保证,这是因为以太坊上验证Ed25519Justification的Gas费非常昂贵。如果直接使用GRANDPA来验证块头,整体的跨链费用也会相应变得非常昂贵。因此,达尔文采用了一个额外的Authorities集合来完成此事,这个Authorities集合由议会投票产生,包括增加成员或者减少成员,都将由议会来投票决定。D2EAuthorities本质上是对GRANDPA协议的一种模拟,替换了以太坊暂不支持的Ed25519到Ecdsa加密算法。任何人都可以申请成为Authority,由议会投票决定是否同意其加入,一旦成为Authority,则必须履行Authority职责,在有达尔文块头向以太坊提交前,对验证块头所需要的MMRRoot进行Ecdsa签名。另外,除了对MMRRoot签名这个职责外,在Authorities换届变更时,同样需要由原Authorities对新一轮的Authorities集合进行签名,如此才能完成Authorities换届过程。Authority在完成自己的职责时会得到激励,如果未能在一定时间内完成自己的职责将会受到惩罚,申请时所质押的RING将被全部被系统扣除。4、达尔文上的EthereumBacking模块
EthereumBacking是为达尔文资产在以太坊上发行进行背书的模块。简单来说,就是转移到以太坊上的资产都需要被锁定到这个模块进行安全保管。任何人无法从其中提取资产,除非用户提供在以太坊端的资产销毁证明,通过模块的超级轻客户端验证确认资产销毁确实发生后,才能取出相应数量的资产。这个过程也就是正向桥的赎回协议,即用户在以太坊端将资产转移回达尔文网络。所以,当用户想通过D2E桥跨链转账到以太坊时,首先要做的就是去锁定资产,虫洞应用将帮助你完成这一步,并协助收集相应的加密学锁定证明。5、安全机制
达尔文→以太坊双向桥开通伊始,我们应用了几项安全模块:每日跨链转账限额目前设定了不同资产的每日累积跨链数量限制,超过该限额将暂停转接桥,并在24小时后重置配额重新开启桥接,以此控制可能的损害范围。守护者正向桥中启用了守护者,这是一个由达尔文网络上技术委员会成员构成的多签体系,他们的唯一职责是监测桥矿工提交的块头数据,并看护乐观验证博弈过程的进行。一旦发生意外,如诚实矿工缺失、MMR计算错误等情况发生导致错误块头未被成功指出时,守护者可以通过多签操作将该块标记为非法,以确保不会发生错误验证。守护者只能标记错误区块头,无法动用锁定在模块中的用户资产。随着技术迭代开发以及合约审计的推进,限额将逐渐提高,直至去除该限制,并最终移除守护者进程。6、D2E的改进规划
Darwinia和以太坊之间的去中心化跨链转接桥不仅存在设计上的难度,同时还存在一些工程上的挑战。例如,目前的GRANDPAJustificationProof里包含Ed25519的密码学签名,但是目前的以太坊智能合约尚不支持Ed25519的验签预编译合约,如果直接用智能合约实现签名算法,则面临Gas费用过高的问题。虽然已经有相关的改进提案,例如EIP665,但目前仍然是Draft状态,还没有被实现。为了解决这些现实的工程问题,我们创新设计了一套GRANDPAAuthorities代理机制,通过在DarwiniaRuntime中嵌入这套代理模块,成功实现用一组Ethereumstandardsecp256k1ECDSA加密签名来代理Ed25519的签名。D2E桥不会止步于此,为了达到更加完备和健壮的状态,还将进行一系列改进。1.采用BEEFY协议在EIP-665未被以太坊采纳前,BEEFY将会是一个更为通用的方式。Parity正在为Substrate开发一个名为BEEFY的GRANDPA附属协议,此协议基于GRANDPAFinality,其目的是为了让基于Substrate的链更高效地接入非Substrate区块链。目前的主要接入对象就是以太坊。此协议在GRANDPAFinality之上,运行另一轮BFT协议,其中每个Validator将对同一件事进行投票。即,每个Validator将对GRANDPA最终确定的最新区块的MMRRoot进行投票。对以太坊来说,就是采用Ethereumstandardsecp256k1ECDSA算法进行签名。D2E桥计划未来在BEEFY成熟后,使用BEEFY结合Grandpa来实现轻客户端。2.在以太坊端的超轻客户端中直接使用GRANDPAJustification进行区块验证如果EIP-665被以太坊正式采纳,那么在以太坊智能合约中使用GRANDPAJustification验证区块的费用将会大幅下降,届时可以用GRANDPAAuthorities替代Authorities进行区块的验证。3.通过Merkle树来减少公钥和signatures的数据量4.通用化及框架化5.支持任意通证的注册及跨链虫洞
虫洞是一个Web3应用,它连接着各条链,为用户跨链操作提供更方便的操作界面。虫洞将用户需要分散操作的多个步骤集中于一个地方,并为这些操作提供了友好的交互向导和状态展示,协助用户与各链的钱包交互来完成跨链操作。D2E跨链教程如何通过虫洞将资产跨链转移至以太坊,请见同日发布的公众号文章「如何通过虫洞将资产跨链转移至以太坊」。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。