以太坊,一个我一直关注的项目,终于迎来了它的重要时刻——合并!这就像看着一个孩子长大成人,心里感慨万千。七年的时间,以太坊社区成功地用权益证明机制替换了工作量证明机制,这可不是一件容易的事。最直接的影响就是,网络的能源消耗一下子降了99.95%,这对于环保来说,绝对是个大好消息!
当然,这次升级带来的好处远不止这些,但很多人可能还不太清楚。所以,我想用更通俗易懂的方式,跟大家聊聊权益证明机制到底是怎么运作的,它为什么这么重要,以及未来还有哪些令人期待的功能。毕竟,现在权益证明可是守护着价值数千亿美元的资产呢!
为了让大家更好地了解,我准备了一系列文章,专门介绍权益证明协议,希望能帮到对这项技术感兴趣的朋友们。
- 模块化设计和两条区块链,
- Epochs、Slots 和信标区块,
- 验证者见证和投票协议,
- 补偿和惩罚,
- 以太坊的权益证明是否实现了其目标?
还有一些其他话题,比如:
- 注册和提款过程,
- 怠工惩罚,
- 聚合器和子委员会的角色,
- 摇摆攻击(未发布),
- 同步委员会(未发布)。
希望这些文章能让你对权益证明协议有更深入的了解,也能为你在开发过程中提供一些参考。
模块化设计和两条区块链 区块大小之战的背后,其实是关于去中心化的争论——是应该尽可能降低成本,还是应该尽可能保证可验证性?
这些年来,大家为了提高区块链的可扩展性,提出了很多想法,但核心问题始终没变:
- 可负担性:有多少用户能负担得起在网络上进行交易?
- 可验证性:有多少用户能通过硬件和带宽等条件,实时验证交易的完整性?
很多现代区块链系统都把可负担性和用户数量放在首位,觉得网络运营者会尽力去实现这个目标。但这种假设,会让区块链系统朝着中心化的方向发展,因为它可以作为运营者参与的人数减少了。
当然,我并不是说这些设计不好,只是它们可能不像比特币或以太坊那样,能得到大家的认可。在我看来,一个很重要的原因就是上面提到的那个权衡。比特币区块大小之争,其实也是这个问题的体现,社区最终选择了优先考虑谁可以验证网络的完整性,而不是长期的可负担性。
以太坊也面临着同样的问题,但它有一个根深蒂固的社会契约,让社区能够改变基础平台,克服这个难题。
在我看来,在去中心化网络中,TPS(每秒交易数)指标其实没什么意义。可扩展性不应该是不惜一切代价地增加吞吐量,而应该是在保证运行完全验证节点所需的计算、带宽和存储要求不变的情况下,增加交易吞吐量。
你可能会觉得奇怪,为什么我要说这些?这跟权益证明有什么关系?更重要的是,这次升级并没有直接增加交易吞吐量,那我说这些有什么意义呢?其实,这次升级的功能被低估了,它可以为未来的可扩展性解决方案打下基础。
单一型区块链到模块化区块链 共识参与者不需要做所有的工作,他们只需要验证并同意工作是正确的。
让我们把时间快进到区块大小战争之后。现在,我们有更好的术语来说明这个困境如何影响区块链系统的设计,即单一型区块链或模块化设计。
单一型区块链。这种区块链协议试图找到通用的解决方案,解决所有硬件瓶颈,比如如何执行交易、如何广播数据以及如何存储数据库。参与的网络运营者必须执行所有繁重的工作并运行整个单一型的实现,这很大程度上限制了谁可以参与共识协议。
模块化设计将资源按层级重新定义 —— 使得团队能够构建软件以解决每个层级的问题。
资源形成分层。以太坊权益证明设计及其长期路线图背后的重要力量之一是将每种资源定义为一个新层级。通过成为一个层,可以将问题分离并独立,从而允许团队构建新的软件客户端来解决每个特定的问题。这就是所谓的模块化区块链设计。
关于模块化方法最重要的理解可能是它如何改变共识参与者的看法。它不再是让他们负担最大的工作量。相反,它的重点是:
“区块提议者最少需要做什么工作?有没有可能把所有不必要的困难工作给到别的地方?”
答案是肯定的
验证者作为轻客户端。区块链协议的设计不再是围绕最大化网络运营者的工作。事实上正好相反,网络运营者(验证者)应该是轻客户端,只需要检查和验证在别的地方已经完成了的工作。
这就是为什么我个人喜欢“验证者”这个名字。他们唯一的工作就是验证、达成一致(共识),最终保护存储在以太坊数据库中的所有用户资产。从长远来看,参与其中应该只需要商业上可用的硬件和良好的互联网连接。
此外,通过使验证者成为轻量级客户端,它可能最终解决了运行节点软件的利他性天然症结。用户终于可以因验证区块链并实时检查其完整性而获得报酬。此外,我们也可以检查他们是否在做这项工作。
两条区块链 合并是将以太坊规范迈向模块化设计的第一个里程碑。
它将交易排序的全局共识和交易的最终执行分离。与此同时,它引入了两个新的区块链:
1)执行区块链。处理用户生成的交易和智能合约执行的原始以太坊区块链。有时被称为 ETH1 区块链。
2)共识区块链。专用于共识层的区块链。它负责决定执行区块链的规范链,并记录权益证明的转录。有时被称为信标区块链。
两个软件客户端。工作量证明 PoW 模块以及通常处理决定规范链的任何代码,都可以从原始以太坊节点软件中删除。整个执行环境保持完整,并且现在称为执行客户端。为了检索规范的执行链,它会向处理共识层的软件客户端(“共识客户端”)轮询新块。
由于执行区块链和客户端基本上保持不变,因此我们的文章将重点关注实现权益证明协议的共识层。
多客户端生态系统。由于上述分离,出现了几个独立尝试解决共识或执行问题的团队。当然,在这两种情况下,他们必须遵循通用规范,但可以自由地尝试实现细节。目前存在一个蓬勃发展(且出乎意料地资金充裕)的多客户端生态系统。例如,共识客户端包括 Teku 和 Prysm,而执行客户端如 Geth、Erigon 和Nethermind。
鼓励验证者运行不同组合的共识和执行客户端。这是防范共识级错误的第一道防线,希望相同的错误不会在多个独立实现中复制。这种软件工程实践称为 “N 版本” 编程。
如果验证者的绝大多数不遵循此建议,则可能导致末日情景。我们很快就会了解更多信息。
写在最后 细心读者可能已经注意到了这里的数据可用性、执行和结算层的使用,但是权益证明以太坊是为了共识和执行层奠定了基础。
长期的路线图是朝着以下方向发展:
共识 → 数据可用性。所有验证者都达成了对数据排序的一致意见,proto-danksharding 有助于巩固这一角色。
Rollups → 执行层。Rollups 承担执行层的角色,
ETH1 → 结算层。原始的以太坊区块链是保护所有用户定义资产的信任基础。
这种命名可能会令人困惑,依赖于以太坊协议的未来迭代。我们现在只是简单地称之为共识和执行层 —— 因为它已经被实现和部署了。
丁丁打折网©版权所有,未经许可严禁复制或镜像 ICP证: 湘ICP备20009233号-2
Powered by 丁丁打折网本站为非营利性网站,本站内容均来自网络转载或网友提供,如有侵权或夸大不实请及时联系我们删除!本站不承担任何争议和法律责任!
技术支持:丁丁网 dddazhe@hotmail.com & 2010-2020 All
rights reserved