ETH2:引介 | ETH 1.0 需要为 ETH 2.0 提供什么支持?

新的疆域

ETH2.0Phase0的主网预计将于今年晚些时候上线。眼下,我们应该思考这样一个问题:现有网络可以做些什么来推动新的系统平滑上线?我们可以想象出一些令人振奋的应用场景,可以利用两个网络之间的互操作性,但是事实表明,如果不能修改EVM来适应ETH2.0系统使用的新密码学元件,这些应用就将受阻。在此我希望为这些新的密码学元件提供概要的说明,并解释为什么将其整合进EVM有助于我们在Eth1在迁移之前也能利用新系统的功能。

ETH1.0少了什么?

以太坊区块链上的所有数据都是公开的,因此我们必须使用密码学签名来确保特定交易反映相关方的诉求。以太坊所使用的签名方案是以椭圆曲线为基础的,使用的是名为secp256k1?的曲线。这条曲线上的点被用于名为ECDSA的签名方案,为我们的密码学签名赋予我们所期望的属性。

-https://en.wikipedia.org/wiki/Elliptic_curve_point_multiplication,该椭圆曲线的属性提高了ECDSA签名方案的安全性-

尽管基于secp256k1?的?ECDSA?签名方案已经经过了多年的使用测试,但是二者的定义标准分别只有20和10年左右的历史。ETH2.0采用了较为新颖的构造,利用了密码学方面的新进展。ETH2.0系统中的验证者使用?BLS?签名方案,以另一种名为?BLS12-381?的椭圆曲线为基础。ETH2.0之所以采用这种新技术,主要是因为它可以高效地将多个签名聚合到一个签名中,直接促进ETH2.0安全性的参与可行性。欲知更多信息,请参见?CarlBeekhuizen?的文章,了解ETH2.0中签名聚合的重要性。

虽然BLS签名对Eth2有很多好处,但是我们遇到的问题是,ETH1.0本身并不支持这种新的密码学元件,而且其底层数学逻辑对计算要求很高,致使我们无法在EVM中实行BLS签名。幸运的是,我们可以将计算逻辑添加为“预编译”部分,以此规避EVM在性能上的局限性——通过硬编码算法让原生实现在EVM解释器之外被智能合约调用。

如何实现预编译?

以太坊协议的预编译部分属于稀缺资源,因此仅留给社区认为重要的计算逻辑。此外,预编译需要通过硬分叉来部署,因此协调成本很高。幸运的是,在当前的?EIP-2537?草案中,我们可以看到这些BLS预编译的相关工作正在推进。EIP-2537?包括对BLS12-381曲线运算的预编译,以及BLS算法方案中使用的另一个被称为“映射至曲线”的高成本操作。如果你深入研究?BLS?算法方案的数学原理,你会发现需要利用某个机制才能将某个消息通过“映射至曲线”操作转化为椭圆曲线上的点。

预编译为我们带来了什么?

EIP-2537?预编译会通过提高保证金合约用户体验来帮助ETH2.0上线,并为在ETH1.0内构建ETH2.0轻客户端奠定基础。BLS12-381?曲线本身可用于构建zk-SNARKs,连同其他区块链中使用的BLS为实现这些网络之间的互操作性铺平道路。

保证金合约用户体验

成为ETH2.0信标链验证者的初始方法是,将ETH存入ETH1.0上的智能合约。为了节省Gas费用并最大程度上降低复杂性,保证金合约的主要功能就是为的某笔存款提供密码学承诺,然后这样一个承诺就能在信标链上用作证明。重要的是,确认保证金所需的BLS签名并非在ETH1.0链上验证的。测试网就因为出现漏洞而导致一系列BLS?签名计算错误,丢失了一部分测试网ETH。为了在ETH1.0链上对BLS签名进行验证,我们可以编写一个“转发”智能合约来获取保证金数据,验证签名然后仅将保证金数据发送至保证金合约。这个功能虽然不是保障保证金合约安全性的必备条件,但它确实能给那些与保证金合约交互的开发者带来心理上的慰藉。

在EVM内构建的ETH2.0轻客户端

我们认为,在ETH1.0链上构建ETH2.0轻客户端之前,必须先让ETH1.0“理解”ETH2.0采用的密码学技术。这样才有可能在智能合约中实现类似于BTCRelay的轻客户端。这种轻客户端一旦实现,将会成为沟通ETH1.0和ETH2.0网络“桥梁”的支柱,想想还有点小激动呢。通过这个双向桥梁,ETH就可以在ETH1.0和ETH2.0网络之间转移,ETH2.0分片也可以作为一种具有高度可扩展性的数据层来支撑ETH1.0上的二层架构。

激动归激动,不过要注意的是,在EVM内构建轻客户端来作为一种智能合约或许不是让ETH1.0理解ETH2.0的最佳方法。此外,对“双向桥梁”的最新研究表明,考虑到ETH1.0和ETH2.0网络的其他安全参数,这种方法并不可行。话虽如此,现在打好基础没什么坏处,而且随着后续研究的推进,ETH1.0和ETH2.0的合并策略有可能改变。

zk-SNARKs

创建BLS12-381曲线的目的是为了让ZCash能够使用更加高效的zk-SNARKs。此外,将该曲线添加到EVM上能够让以太坊验证这类SNARKs,通过零知识证明协议来实现具有隐私性和可扩展性的应用。

其他网络

一些“新一代”区块链也打算使用BLS签名方案;赋予EVM验证这些签名的原生功能,能够解锁更多互操作性用例,就像ETH1.0和ETH2.0之间那样。

宜早不宜迟

EIP-2537中提议的所有用途都不会阻碍ETH2.0上线。而且,保证金合约的优化方案会带来很好的效果;我们越早为互操作性奠定基础,就能越早开始创建这类应用的原型。该EIP有可能会放到接下来的以太坊柏林硬分叉中。如果你也想出一份力的话,可以在你喜欢的客户端上支持EIP-2537的实现?:)。

感谢?KobiGurkan?和?AlexVlasov?的审阅。

原文链接:?https://medium.com/@ralexstokes/what-eth2-needs-from-eth1-over-the-next-six-months-86b01863746作者:?AlexStokes翻译&校对:?闵敏&阿剑

本文由原作者授权EthFans翻译及再出版。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

[0:15ms0-4:499ms