原作者|?VitalikButerin
本文目的在于阐述在eth1链和eth2链之间建立
双向桥接的一些挑战(例如,支持ETH的双向转换),以及如何实现。
Eth2提案中已经包含eth1->eth2的
单向桥接,这对能够把Eth1中的ETH抵押到eth2中是必要的。这种单向桥接通过eth1数据投票机制来实现。请注意,
该机制
假设大多数的PoS验证者是诚实的,同时PoW链没有受到攻击(具体来说,就是PoW链中回滚不会超过5个小时)。如果这两个假设中的任一假设失败,那么eth1和eth2这两条链将不再彼此“一致”。其中一开始便存在一条隐式的“社会合约”,即
工信部:将面向区块链等前沿技术 遴选一批新型信息消费示范项目:工业和信息化部办公厅将组织开展2020年新型信息消费示范项目申报工作,通知中提到,以满足人民日益增长的美好生活需要为根本目标,以供给侧结构性改革为主线,面向5G、人工智能、区块链等前沿技术,从提升产品服务供给、加快模式创新和优化消费环境等方面着力,遴选一批新型信息消费示范项目,总结形成可复制、可推广的经验做法,加快扩大和升级信息消费。(工信部官网)[2020/4/15]
如果发生任何一种意外都有补救措施,很可能通过PoS链的软分叉来补救;然而也有可能如果PoW链回滚确实超过5个小时,那么社区可能会达成攻击链无效的共识。需要注意的是,不管在哪种情况下,PoS链的故障是不可能需要PoW链进行软分叉的。
声音 | 工信部赛迪研究院蒲松涛:区块链是信任机器:在2018国际区块链大会分论坛上,电子信息产业发展研究院赛迪工业和信息化研究院行业研究员蒲松涛表示,区块链是信任机器,也有人认为现在这种新的技术特别多,大数据、人工智能、云计算,他们可能改变的是某一些环节生产力的问题,区块链改变的是生产关系的问题。涉及到关系实际上就涉及到共识。而且我认为生产关系后面就是共识,共识后面是代码是软件,区块链的这种共识由软件所决定的,这个意义非常大。[2018/12/4]
而如果我们希望eth1链知道eth2的状态,有两种方法可以实现:
一种是使PoW链接受一个PoS链的轻客户端;
另一种是使PoS终态也敲定PoW链。
声音 | 工信部信软司李颖:区块链有望构建新型的产业协作模式:工信部信软司巡视员李颖表示,区块链作为目前最具热度的新兴技术代表,其所具有的一些独特优势有望构建新型的产业协作模式,丰富社会数字化实践。近年来,信息化和软件服务业司采取深入开展技术研究、支持开展区块链创业创新、组织推进标准化等有效措施,有效推动区块链相关产业研究、技术研发和应用推广等工作。[2018/7/3]
第一种方法要求eth1中实现eth2客户端?(见下图)
。这将需要对BLS-12-381验证的webassembly或者原生支持,不要期望这种支持能够很快实现。另外,
这种方法仅提供轻客户端级别的安全性。
工信部五所相里朋:区块链不是比特币更不是ICO:工信部五所相里朋表示:区块链不是比特币,更不是ICO。我们不应过多关注其货币属性,而忽视区块链在各行业应用所带来的深远影响。当前,中美两国正在营造未来互联网,天地如何分工合作,正考验两国科学家战略智慧。如何借助区块链技术实现天地一体天领地,从而引领地面网络安全,这是一项艰巨任务。李幼平院士,一位耄耋之年的老人,正重定义区块链,“UCL”、“人事物时地”,形成物证代码,排除地址造假与数据篡改,保证未来网络的安全,期望创造免中介的静默存储的隐私环境,支持区块链技术“天领地”。[2018/6/20]
第二种方法可以通过添加这一机制来实现,即如果一个经由?eth1_data?投票的PoS区块?
Bs?包含一个指向PoW区块?
Bw?的引用(reference),
当区块Bs确认后,Bw区块也可视为被确认?(见下图)。不过这意味着PoW矿工(和客户端)也要运行eth2实现版,以便他们知道哪些eth2链被确认。
第二种方法更有趣,因为它为eth1提供了“原生”版回滚限制。请注意,这与第一种方法有所不同,因为虽然它确实使eth1的分叉选择知道eth2,但并没有立即使eth1知道eth2的状态。例如,理论上有可能两条竞争的eth2链确认同一个eth1区块(这意味着eth2已经出故障,但从理论上讲还是有可能出现的)。更常见的情况是eth2链确认的两个区块,其中一个区块是另一个的子区块,而这两个区块都支持相同的eth1区块,从而有些矿工可能知道这两个eth2区块的最近状态,而另一些矿工不知道。这对“eth2作为终态小工具”来说不是问题,但这确实意味着我们需要更多底层设计,使eth1清楚知道eth2的区块状态,以便允许从抵押合约(DepositContract)中提取ETH。
一种可能方案是在eth1中简单地创建一个?eth2_data?投票机制;本质来说,就是复制使eth2知道eth1状态的同一种机制。可将其与上文方案结合起来确保一致性:eth1矿工仅会为?eth2_data?区块进行投票,条件是只有当这些区块满足已确认,以及引用的?eth1_data?区块是矿工正在打包的eth1区块的祖块。
面临的挑战
这两种方法都需要对eth1方面进行改动。目前在eth1->eth2的“最终转换”之前,eth2路线图对eth1方面没有改动。而如果eth2中断,这两种方法都需要eth1采取紧急补救措施。
第二种方法将要求所有eth1矿工也要运行eth2节点。因此,
尽管这两个中方法都是绝对可行的,但并不会很快实现。但是,随着eth2持续运行并证明其稳健性,那么
肯定会到一个实现这种双向桥接很有意义的阶段。为了降低风险,可以做一些事情:
在eth1上运行eth2投票时有一周的投票时间,以便在出现问题时有时间进行人工干预;
由于同样的原因,eth1通过轻客户端知道eth2中已敲定的区块时,ETH的提取也会有一周时间的延迟;
当抵押的ETH数量足够多的时候才开启这种桥接;
将投票阈值设置为高于50%;并使系统更倾向于不包含任何eth2区块(除非这些区块获得了很强的共识)。
原文链接:
https://ethresear.ch/t/two-way-bridges-between-eth1-and-eth2/6286
参考链接:
:https://github.com/ethereum/eth2.0-specs/blob/fffdb247081b184a0f6c31b52bd35eacf3970021/specs/core/0_beacon-chain.md
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。