• 1

  • 355

Hello,ETH2.0!线上AMA直播,带你走进ETH2.0 (上)

A_hamoment

Programming the world!

2星期前

信息来源:Hello,ETH2.0线上AMA直播群

主办:Okex & ECN

问题 1

作为全球市值排名第二的公链项目,以太坊一直吸引着海内外用户的广泛关注。以太坊2.0目前临近上线,呼声也是越来越高。什么是以太坊2.0?它和现在的以太坊相比,有哪些区别?
 
Raul Jordan @PrysmaticLabs:
 
对我来说,eth2完全颠覆了以太坊区块链从前的设计,旨在最大程度地同时实现去中心化、抗审查和扩容目标。我们过去几年不断学习,为的就是找到更加可靠的方法,来实现我们最初的目标——让以太坊成为一台连接世界的计算机,其中包括权益证明和分片机制。
 
阿剑 @EthFans:
 
Danny Ryan 说得好:“Eth2.0 is built for Ethereum, and finally it will become Ethereum itself”。以太坊2.0 是为以太坊生态打造的下一代区块链底层,它跟现在的以太坊相比有两大区别:一是使用 PoS(权益证明)算法来推动区块链的运行;二是使用 “信标链+多分片链” 的架构来提高可扩展性。
简单来说,以太坊2.0 不再由运行工作量证明算法的矿工来出块;而是各存储了保证金的验证者用数字签名来表达对区块的认可,由此确定主链并使状态获得终局性(finality),这就是权益证明(PoS)的含义.
 
此外,信标链 + 多分片链的架构实际上是将 PoS 机制内部的状态与普通用户交易的状态分离了开来,信标链不再执行交易,交易的执行都交给分片链(可以理解为多个与当前的以太坊有同样复杂性的区块链),而信标链负责敲定状态并沟通各分片。

问题 2

以太坊2.0的研发和部署计划历时已久,国内外社区对于以太坊2.0的正式启动时间也是众说纷纭。是否可以分享一下以太坊2.0目前的开发进度和大致发布时间?研发工作面临哪些主要挑战?
 
Afri Schoedon @ETH2.0 Multi-client testnet pioneer:
 
谈ETH2发布路线图的时候最好不要带上主网启动的具体日期。因为关于时间问题众说纷纭,有的说1月3日,有的又说7月30日。事实上,这两个时间都不准确。我们都没法预判主网的创世区块何时产生,因为ETH2实在是有太多变动因素了。
 
但是对于ETH2这一重大里程碑,我可以给出真实的看法。首先,所有客户端都必须实现规范的最终版本v0.12.1。目前只有一个客户端实现了规范v0.12.1并发布了最新版本,而其他四个客户端仍朝着这个目标努力。我们的计划是,本月底多客户端测试网能够实现最终版本规范v0.12.1,这将是第一个达到该目标的多客户端测试网。
 
如果这运行顺利的话,我们就可以准备在7月初启动具有主网配置的公共多客户端测试网了。大家对此期待已久了,但准确来说这并不是所谓的“官方”多客户端测试网。但是如果最终规范版本实现运行得顺利的话,7月我们就可以启动最后的公共测试网了。
 
可能有别的小型测试网正在运行中,但我们应该把重心放在公共测试网上。如果最终版本的公共多客户端测试网能够稳定运行两三个月,那我们就可以开始准备ETH2的主网启动工作了。
 
首先,启动ETH2之前需要实现存款合约。到时还得举办一个合约启动仪式,确定存款合约是将存款从ETH1向ETH2转移的唯一桥梁。启动仪式怎样设计还没决定,但我知道Carl正在为此做准备。我估计最早得到8月底,甚至9月中旬。
 
举办了启动仪式且合约部署完成之后,从技术上来说,我们就正式进入ETH2了。到那时就算没有官方发布日期,用户也可以在ETH1链上质押第一笔存款,因为质押手续是完全无需许可的。
 
我的建议是,最快都要在正式的多客户端测试网产生创世区块的90天后,ETH2信标链主网才能产生创世区块。因为我们需要8周测试时间和4周缓冲时间,以防出现漏洞。
 
不管什么时候才能能够部署存款合约,我们到时视情况而定推迟主网的创世日期就可以了。但是考虑到上述步骤,主网创世时间可能最早要等到十月份。而且主网创世之前我们还需要达到至少1.6万的质押金额,这可能得额外花几周时间。
 
最后我简单总结一下:如果一切顺利进行的话,ETH2会在11月上线。更加乐观的说法是,如果我们加快工作的话,10月就能上线。但也要做好心理准备,如果规范中有地方需要修复,并且所有客户端得再次实现新规范,那么可能就要等到2021年才能上线了。我个人觉得ETH2不会在12月上线。

问题 3

互操作性一直是以太坊的独特优势之一。去年九月,以太坊主要的七个客户端团队经历了为期一周的“互操作性封闭营”,在客户端之间的通信和同步方面取得了巨大进展。多客户端测试网作为以太坊2.0正式上线之前的终极试炼,目前我们迎来了第二个多客户端测试网Witti。所以我想请问Raul,到目前为止,客户端互操作性进展如何?客户端之间实现互操作性对以太坊2.0的意义为什么如此重大?
 
Raul Jordan @PrysmaticLabs:

客户端互操作性至关重要,因为它帮助我们在单个实现过程中发现关键漏洞。例如,当所有eth2节点都通过Prysm客户端实现运行时,如果没有客户端互操作性,那么我们不可能发现验证者奖惩机制的相关漏洞。如果没有互操作性的话,可能会影响到主网用户,甚至是整个ETH2的发展。

问题 4 

作为多客户端测试网Schlesi和Witti测试网的倡导者和开发者,请您简单介绍一下多客户端测试网的主要任务是什么?Witti多客户端测试网目前的现状如何?

Afri Schoedon @ETH2.0 Multi-client testnet pioneer

Eth2.0的第一个阶段,阶段0,即信标链。ETH1的客户端无法运行信标链节点。各种新实现的客户端将首次共同协作,采取全新的独特方法达成共识,一起构建一个新的区块链。在ETH2主网启动之前,我们需要测试网尽可能地模拟主网状态。也就是说,我们需要运行一些长期运行的稳定测试网,并且支持多个客户端运行,理想情况是能够支持所有客户端。

多客户端测试网Schlesi已退休,现正运行Witti,不久之后我们将启动Altona。Witti正平稳运行中。目前约为15万个slots,网络活性也不错。验证者参与率徘徊在71%左右。所有客户端都还会遇到漏洞且需要更新优化。我估计我们还要进行好几次多客户端测试。

问题 5

多客户端测试网在以太坊2.0上线之前需要平稳运行2-3个月,那么考量测试网平稳运行的标准有哪些?预计何时上线正式的多客户端测试网?

Afri Schoedon @ETH2.0 Multi-client testnet pioneer

怎样才算平稳运行呢?其中一点就是测试网上没有出现共识问题,不会发生永久性分叉,并且所有客户端都应该对主链达成共识。再者,不同的客户端之间存在着一些不兼容的情况,所以我们需要保证客户端之间实现良好的网络通信。我希望在启动最终多客户端测试网之前不在客户端后端中加入ENR(以太坊节点记录),并能够为线路节点提供适当的多地址格式。

还有就是要看证明和验证者活跃度的状态。如果活跃度可以维持在80%-90%以上,区块链的活性良好,并且能够持续敲定区块,那就差不多了。

至于最终多客户端测试网的发布时间,我之前有提到最快会在7月中旬启动。我非常期待这一天的到来 :)

问题 6

在以太坊2.0进展如火如荼的同时,近来,以太坊第二层扩容解决方案也成果颇丰。以太坊2.0逐步上线之后,有了PoS和分片的加持,以太坊生态即将步入扩容时代。ZK-Rollup以及Optimistic Rollup等技术的应用,极大提升交易速度的同时也大幅降低了交易费用,用户体验可谓是迎来了春天。Loopring(路印)作为首个且目前唯一一个成功采用ZK-Rollup的去中心化协议,您可以简单介绍一下ZK-Rollup是如何实现优良用户体验的吗?

Steve Guo @Loopring:

zkRollup是一种用于以太坊的可扩展性方案,通常是被定义为Layer 2的解决方案。它能处理更多交易,更快速并且成本更低。它在链下批量执行所有计算,并且只向以太坊提交一个小的零知识证明(不能是伪造的证明)进行验证。由于以太坊会验证这些证明,并且存储足够的数据来准确判断链下账户的状态,因此zkRollup拥有以太坊层级的安全性。

零知识证明框架目前有好多种,路印协议最终选定了zkSnark作为背后的零知识证明框架,主要是因为zkSnark的证明数据大小是目前最小的,这就意味着链上成本能做到最低,同时生成证明所必须的链下计算成本也不高,技术框架本身也已经过ZCash多年的实践考验过的。

ZK-Rollup技术中是会有一个中继系统。首先,中继在链下把所有账号信息组织成一颗Merkle树,Merkle树的计算过程是两两配对计算哈希,直到算出树根的哈希值,该树根的哈希值就能唯一的代表整颗树当前的状态,因为任意叶子节点上值的变化必然会导致树根的哈希值不一致。

然后中继在链下收集一组用户发起的交易(可以是转账,也可以是买卖),之后就可以为这些交易生成零知识证明。其证明包括如下内容:

  • 前一次区块链上保存的根哈希值是R1;
  • 每一笔用户的交易是经过用户签名的;
  • 按照用户的每笔交易去更新Merkle树,验证更改是否有效;
  • 本次更新之后的根哈希值是R2;

最后,中继把交易的一些关键数据(比如余额)、生成的零知识证明和新的根哈希值R2递交到区块链上,区块链上预先部署的一个智能合约会根据其记录的历史根哈希值R1和输入的交易关键数据去检查这个证明是不是有效的。如果证明有效,那么说明中继后台是诚实的更改了链下保存的Merkle树,从而更新Merkle树哈希值R2。

整个方案的关键点就在于:区块链上只是负责存储数据和验证零知识证明,其余的计算处理都是通过在链下更改Merkle树的方式来实现,从而极大的减小对区块链资源的消耗,提升区块链的整体性能。又因为链下部分有链上验证的辅助,所以也能确保链下处理资产的安全性和正确性。从而达到在不牺牲区块链带来的安全前提下,提升区块链的整体性能。

理论上我们能在保持和以太坊主网同样安全的前提下,达到每秒2025笔交易,每百万笔交易大约150美金的成本。

未完待续。。。

 

声明:分享AMA信息仅为传播ETH2.0相关知识,文中观点代表AMA嘉宾个人,不构成投资建议。

Eth2.0

355

相关文章推荐

未登录头像

暂无评论