成都链安:以太坊2.0技术浅析

就在刚过去的7月31日,加密货币市值第二高的以太坊迎来了5周年生日。随着以太坊的不断发展,社会各界对以太坊的关注也在不断增加,用户及应用的不断激增,也使得大家对以太坊 2.0的呼声不断高涨...

就在刚过去的7月31日,加密货币市值第二高的以太坊迎来了5周年生日。随着以太坊的不断发展,社会各界对以太坊的关注也在不断增加,用户及应用的不断激增,也使得大家对以太坊 2.0的呼声不断高涨。 **什么是以太坊2.0?** 以太坊2.0是计划中的以太坊替代方案。 随着DeFi等项目的迅速升温,以太坊上交易量不断激增,这使得交易费用不断攀升,交易时间不断加大。总的来说,现行的以太坊1.0已经难以满足用户的使用需求和发展需求。 今年4月份,信标链创建创世区块,“0阶段”正式启动测试。以太坊 2.0网络启动协调员Danny Ryan也在论坛中初步宣布,以太坊2.0最终测试网预计将于8月初正式启动测试。这也意味之以太坊2.0已离我们近在咫尺。 以下是以太坊2.0的设计目的: <figure data-size="normal" style="margin: 1.4em 0px; color: rgb(26, 26, 26); font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", "WenQuanYi Micro Hei", sans-serif; font-size: medium; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;"><img src="https://pic4.zhimg.com/80/v2-7e292b442995ade5f24ea085773ad217_720w.jpg" data-caption="" data-size="normal" data-rawwidth="666" data-rawheight="343" class="origin_image zh-lightbox-thumb lazy" width="666" data-original="https://pic4.zhimg.com/v2-7e292b442995ade5f24ea085773ad217_r.jpg" data-actualsrc="https://pic4.zhimg.com/v2-7e292b442995ade5f24ea085773ad217_b.jpg" data-lazy-status="ok" style="display: block; max-width: 100%; margin: 0px auto; cursor: zoom-in; background-color: transparent; animation: fxRichTextFadeIn 0.5s ease-in 0s 1 normal none running;"/></figure> 图1 1、 使其更加简洁,哪怕影响一些效率 2、 当主要网络分区以及大部分节点离线时仍能保持存活状态 3、 选择可以抵抗量子计算的组件或者使用日后可以替换为抗量子计算的组件 4、 使用加密技术并使验证者在单位时间里能够参与更多的出块 5、 使任何消费级个人电脑也可以参与到分片的处理中 为实现这些目标,以太坊2.0采用了信标链、分片、POS及eWASM等技术。我们先来看看以太坊2.0完全实现后的样子,如下图所示: <figure data-size="normal" style="margin: 1.4em 0px; color: rgb(26, 26, 26); font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", "WenQuanYi Micro Hei", sans-serif; font-size: medium; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;"><img src="https://pic3.zhimg.com/80/v2-935f913b6b686249d350412621720a82_720w.jpg" data-caption="" data-size="normal" data-rawwidth="1267" data-rawheight="704" class="origin_image zh-lightbox-thumb lazy" width="1267" data-original="https://pic3.zhimg.com/v2-935f913b6b686249d350412621720a82_r.jpg" data-actualsrc="https://pic3.zhimg.com/v2-935f913b6b686249d350412621720a82_b.jpg" data-lazy-status="ok" style="display: block; max-width: 100%; margin: 0px auto; cursor: zoom-in; background-color: transparent; animation: fxRichTextFadeIn 0.5s ease-in 0s 1 normal none running;"/></figure> 图2 整个以太网2.0分为四层: 1、 POW主链层:也就是以太坊1.0的单链,作为最底层的基础,在以太坊1.0向2.0过渡阶段,会将以太坊1.0中的价值(以太币)逐渐转移到信标链中,当以太坊2.0过渡完成,可能会作为一条分片链,也可能继续保留,还未有定论。 2、 信标链层:此层最终将是分片链的管理层,负责管理分片链,并参与分片链之间的互通,在过渡阶段也涉及价值转移等。 3、 分片链层:64条不同的链,与同一条信标链进行沟通,存储数据,运行合约等,每一条链都相当于一条以太坊1.0。 4、 虚拟机层:eWASM虚拟机,运行智能合约的执行环境,建立于分片上。 **以太坊2.0的关键技术** 鉴于区块链的不可篡改及出现漏洞后影响巨大(The DAO)等特性,以太坊1.0到2.0的过渡期将持续2年左右,并且分阶段进行。 阶段0:主要实现信标链及以太坊1.0中的部分价值转移。 阶段1:主要实现分片,并稳步将区块链1.0上的数字资产转移到分片中 阶段2:主要实现eWASM虚拟机 …… …… 由于阶段2的具体实现还不清晰,我们主要针对阶段0和阶段1的技术实现进行简单分析。 **信标链和POS** 信标链就是一条基于POS(Casper FFG)机制的区块链单链。 在实现Casper FFG共识时,定义了“验证者”和“提案者”两种角色。一个节点如果想要成为“验证者”,就需要向以太坊1.0中的一个智能合约抵押至少16ETH,智能合约触发事件(event),信标链检测到事件并将地址其加入“验证者”列表。 信标链将“验证者”随机分配到分片中进行作业。在进行出块时,信标链从“验证者”中随机选出“提案者”,“提案者”提出区块,由“验证者”进行验证。信标链会对所有“验证者”和“提案者”进行监视,如若其诚实的完成作业,就给予奖励(相当于挖矿),如果其作恶,就会没收其抵押的ETH。 在实现信标链时,定义了信标链上保存的数据时分片链上的世界状态。当分片链上的世界状态发生变化,信标链上就会产生新的区块,只有在信标链上被记录的分片的世界状态,才是被认可的不可逆的区块数据,如下图所示:(蓝色表示信标链;绿色表示分片链;黄色表示已被信标链确认的分片链区块) <figure data-size="normal" style="margin: 1.4em 0px; color: rgb(26, 26, 26); font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", "WenQuanYi Micro Hei", sans-serif; font-size: medium; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;"><img src="https://pic4.zhimg.com/80/v2-7484cd9e50f326c079c4798d2212fbc8_720w.jpg" data-caption="" data-size="normal" data-rawwidth="821" data-rawheight="381" class="origin_image zh-lightbox-thumb lazy" width="821" data-original="https://pic4.zhimg.com/v2-7484cd9e50f326c079c4798d2212fbc8_r.jpg" data-actualsrc="https://pic4.zhimg.com/v2-7484cd9e50f326c079c4798d2212fbc8_b.jpg" data-lazy-status="ok" style="display: block; max-width: 100%; margin: 0px auto; cursor: zoom-in; background-color: transparent; animation: fxRichTextFadeIn 0.5s ease-in 0s 1 normal none running;"/></figure> 图3 **分片** 分片就是不同的子区块链。 分片的实现其实是基于地址的。这里我们可以假设:我们将地址为0x00开头的地址定义为分片1,将地址为0x01开头的地址定义为分片2.以此类推,我们就可以拥有16*16=256个分片。 当节点1被信标链分配到分片1时,那么节点1只会对地址是0x00开头的地址交易进行打包和交易,对于其他地址开头的交易,将直接丢弃。这样就抽象出了不同的分片,整个区块链就被抽象的分割成不同的分片。 **以太坊2.0展望** 以太坊2.0将会是与以太坊1.0完全不同的系统,可能在未来的几年就会正式上线运行。我们应该在以太坊2.0正式上线前对它的功能特性进行了解,更好的迎接区块链的新浪潮。

就在刚过去的7月31日,加密货币市值第二高的以太坊迎来了5周年生日。随着以太坊的不断发展,社会各界对以太坊的关注也在不断增加,用户及应用的不断激增,也使得大家对以太坊 2.0的呼声不断高涨。

什么是以太坊2.0?

以太坊2.0是计划中的以太坊替代方案。

随着DeFi等项目的迅速升温,以太坊上交易量不断激增,这使得交易费用不断攀升,交易时间不断加大。总的来说,现行的以太坊1.0已经难以满足用户的使用需求和发展需求。

今年4月份,信标链创建创世区块,“0阶段”正式启动测试。以太坊 2.0网络启动协调员Danny Ryan也在论坛中初步宣布,以太坊2.0最终测试网预计将于8月初正式启动测试。这也意味之以太坊2.0已离我们近在咫尺。

以下是以太坊2.0的设计目的:

<figure data-size="normal" style="margin: 1.4em 0px; color: rgb(26, 26, 26); font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", "WenQuanYi Micro Hei", sans-serif; font-size: medium; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;"><img src="https://pic4.zhimg.com/80/v2-7e292b442995ade5f24ea085773ad217_720w.jpg" data-caption="" data-size="normal" data-rawwidth="666" data-rawheight="343" class="origin_image zh-lightbox-thumb lazy" width="666" data-original="https://pic4.zhimg.com/v2-7e292b442995ade5f24ea085773ad217_r.jpg" data-actualsrc="https://pic4.zhimg.com/v2-7e292b442995ade5f24ea085773ad217_b.jpg" data-lazy-status="ok" style="display: block; max-width: 100%; margin: 0px auto; cursor: zoom-in; background-color: transparent; animation: fxRichTextFadeIn 0.5s ease-in 0s 1 normal none running;"/></figure>

图1

1、 使其更加简洁,哪怕影响一些效率

2、 当主要网络分区以及大部分节点离线时仍能保持存活状态

3、 选择可以抵抗量子计算的组件或者使用日后可以替换为抗量子计算的组件

4、 使用加密技术并使验证者在单位时间里能够参与更多的出块

5、 使任何消费级个人电脑也可以参与到分片的处理中

为实现这些目标,以太坊2.0采用了信标链、分片、POS及eWASM等技术。我们先来看看以太坊2.0完全实现后的样子,如下图所示:

<figure data-size="normal" style="margin: 1.4em 0px; color: rgb(26, 26, 26); font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", "WenQuanYi Micro Hei", sans-serif; font-size: medium; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;"><img src="https://pic3.zhimg.com/80/v2-935f913b6b686249d350412621720a82_720w.jpg" data-caption="" data-size="normal" data-rawwidth="1267" data-rawheight="704" class="origin_image zh-lightbox-thumb lazy" width="1267" data-original="https://pic3.zhimg.com/v2-935f913b6b686249d350412621720a82_r.jpg" data-actualsrc="https://pic3.zhimg.com/v2-935f913b6b686249d350412621720a82_b.jpg" data-lazy-status="ok" style="display: block; max-width: 100%; margin: 0px auto; cursor: zoom-in; background-color: transparent; animation: fxRichTextFadeIn 0.5s ease-in 0s 1 normal none running;"/></figure>

图2

整个以太网2.0分为四层:

1、 POW主链层:也就是以太坊1.0的单链,作为最底层的基础,在以太坊1.0向2.0过渡阶段,会将以太坊1.0中的价值(以太币)逐渐转移到信标链中,当以太坊2.0过渡完成,可能会作为一条分片链,也可能继续保留,还未有定论。

2、 信标链层:此层最终将是分片链的管理层,负责管理分片链,并参与分片链之间的互通,在过渡阶段也涉及价值转移等。

3、 分片链层:64条不同的链,与同一条信标链进行沟通,存储数据,运行合约等,每一条链都相当于一条以太坊1.0。

4、 虚拟机层:eWASM虚拟机,运行智能合约的执行环境,建立于分片上。

以太坊2.0的关键技术

鉴于区块链的不可篡改及出现漏洞后影响巨大(The DAO)等特性,以太坊1.0到2.0的过渡期将持续2年左右,并且分阶段进行。

阶段0:主要实现信标链及以太坊1.0中的部分价值转移。

阶段1:主要实现分片,并稳步将区块链1.0上的数字资产转移到分片中

阶段2:主要实现eWASM虚拟机

……

……

由于阶段2的具体实现还不清晰,我们主要针对阶段0和阶段1的技术实现进行简单分析。

信标链和POS

信标链就是一条基于POS(Casper FFG)机制的区块链单链。

在实现Casper FFG共识时,定义了“验证者”和“提案者”两种角色。一个节点如果想要成为“验证者”,就需要向以太坊1.0中的一个智能合约抵押至少16ETH,智能合约触发事件(event),信标链检测到事件并将地址其加入“验证者”列表。

信标链将“验证者”随机分配到分片中进行作业。在进行出块时,信标链从“验证者”中随机选出“提案者”,“提案者”提出区块,由“验证者”进行验证。信标链会对所有“验证者”和“提案者”进行监视,如若其诚实的完成作业,就给予奖励(相当于挖矿),如果其作恶,就会没收其抵押的ETH。

在实现信标链时,定义了信标链上保存的数据时分片链上的世界状态。当分片链上的世界状态发生变化,信标链上就会产生新的区块,只有在信标链上被记录的分片的世界状态,才是被认可的不可逆的区块数据,如下图所示:(蓝色表示信标链;绿色表示分片链;黄色表示已被信标链确认的分片链区块)

<figure data-size="normal" style="margin: 1.4em 0px; color: rgb(26, 26, 26); font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", "WenQuanYi Micro Hei", sans-serif; font-size: medium; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;"><img src="https://pic4.zhimg.com/80/v2-7484cd9e50f326c079c4798d2212fbc8_720w.jpg" data-caption="" data-size="normal" data-rawwidth="821" data-rawheight="381" class="origin_image zh-lightbox-thumb lazy" width="821" data-original="https://pic4.zhimg.com/v2-7484cd9e50f326c079c4798d2212fbc8_r.jpg" data-actualsrc="https://pic4.zhimg.com/v2-7484cd9e50f326c079c4798d2212fbc8_b.jpg" data-lazy-status="ok" style="display: block; max-width: 100%; margin: 0px auto; cursor: zoom-in; background-color: transparent; animation: fxRichTextFadeIn 0.5s ease-in 0s 1 normal none running;"/></figure>

图3

分片

分片就是不同的子区块链。

分片的实现其实是基于地址的。这里我们可以假设:我们将地址为0x00开头的地址定义为分片1,将地址为0x01开头的地址定义为分片2.以此类推,我们就可以拥有16*16=256个分片。

当节点1被信标链分配到分片1时,那么节点1只会对地址是0x00开头的地址交易进行打包和交易,对于其他地址开头的交易,将直接丢弃。这样就抽象出了不同的分片,整个区块链就被抽象的分割成不同的分片。

以太坊2.0展望

以太坊2.0将会是与以太坊1.0完全不同的系统,可能在未来的几年就会正式上线运行。我们应该在以太坊2.0正式上线前对它的功能特性进行了解,更好的迎接区块链的新浪潮。

区块链技术网。

  • 发表于 2020-08-11 10:47
  • 阅读 ( 893 )
  • 学分 ( 36 )

评论