声明:本文旨在传递更多市场信息,不构成任何投资建议。文章仅代表作者观点,不代表火星财经官方立场。
边肖:记得要集中注意力。
来源:meta之光
原标题:《区块链架构与扩容方案》
作者:托妮
结构
区块链分层架构
区块链大致分为三个主要层:
Layer0的主要工作是针对区块链与传统网络结合的非一致性问题,可以简单理解为互联网的数据传输。目前,只有少数几个项目已经为第0层进行了研究和开发。
第1层包含所有区块链的底层协议,主要负责安全性、节点共识规则和账本架构。
Layer2涉及链上和链下的协议,主要负责链上和链下的信息传递、智能合约编程和应用相关的功能。
这三个主要层可以分为七个子层。非开发者不需要执着于深入了解,只需要知道区块链是从哪几层设计的就可以了。
你可能会奇怪,明明有三层,为什么还要细分那么多子层?为什么这么复杂?
原因是现阶段区块链的技术太年轻,而且区块链本身还存在很多问题。通过将区块链划分为多个子层,我们可以更清楚地了解区块链的架构,并使开发商能够制定“扩展方案”,在不同层面上改善区块链的瓶颈。
比如针对共识层提出的“DPOS”,针对网络层提出的“分片技术”或者针对数据层提出的“块扩展”等。
扩展方案
首先解释一下什么是“扩张计划”。所谓扩张计划是指“为提高区块链的交易速度以实现规模而提出的解决方案”。各级提出的扩容方案的最终目的都是为了解决区块链的交易速度问题。
要提高区块链交易的速度和规模,有两种解决方案:
《出埃及记》切分技术(Sharding)用于在主链中划分事物。
区块链本身的设计不具备“可扩展性”。也就是说,无论区块链增加多少节点,都没有办法提高区块链处理交易的速度。以比特币为例,无论有多少人加入挖矿的行列,区块链仍然每十分钟就出来一次。
我们可以以老师改卷子为例。现在,区块链验证交易就像每个学生的试卷由学校的老师统一批改和记录。但是所有学生的卷子要两个星期才能全部复习完,效率很低。
如果把考试券分成五等份,由五位老师批改,考试速度可以提高五倍。
但是,如果每个老师都定期批改某个班级的试卷,学生就知道哪个老师会负责自己班级的试卷,学生就有了收买老师的可能。
因此,如何分发试卷以保证结果的可信度是这个解决方案的重点。
把主链上的东西转移到其他地方处理ex。侧链和子链。
举个简单的例子,每到节假日,交通要道都是人山人海,时速20公里,到家已经是半夜了。
这时候如果能再开一条高速公路或者高速公路,就能有效的缓解主要交通道路的交通流量,平均速度可以提高到50公里。
第1层扩展方案
Layer1扩容方案重点在于如何在保证全网区块链“状态”的一致性和终结性的前提下,提高区块链的交易处理速度。
以往Layer1的扩展方案大多是针对数据层和共识层的优化。近年来,网络层的“碎片化技术”成为各大链项目的研究热点。
比如以太坊2.0的目标就是通过“碎片化技术”改善以太坊的交易处理速度瓶颈。
由于区块链是一个开放的网络系统,任何人都有权作为节点参与记账。如何制定一套游戏规则,让所有节点共同遵守,让区块链能够顺利运作,是一个非常重要的问题。
Layer1,又称底层,是所有矿工都必须遵守的规则。它的设计是使区块链能够保持其状态的“账面一致性”和“事务终结性”,使节点以不可逆的方式锚定数据事务,通过加密达成共识,无需中央审查。
简单地说,第1层是区块链的协议。人们经常听到的共识机制、区块、私钥或地址等。都属于Layer1的范畴。
补充:区块链上的“计算”也叫“状态生成”。之所以用“状态”这个词,是因为一般的计算模型不存在信任和安全问题,只需要生成计算结果,不需要验证;然而,在区块链网络中,除了计算交易结果之外,还需要对它们进行验证。
第二层扩展方案
使用第2层协议,区块链事务的“状态生成”可以独立于第1层执行,因此这些协议也可以称为“链外”扩展方案。
在链下使用容量扩展方案的主要优点之一是,它可以减少层1的限制,并且不需要改变区块链本身的协议。
换句话说,Layer2扩展方案可以在不牺牲区块链网络安全性的前提下,尽可能实现高吞吐量的状态生成。
简单来说,Layer2扩展计划的概念就像“塞车”。如果今天高速公路堵车严重,我们选择走车少的省道,避开高峰时间。虽然路线比较长,但是比堵车的高速公路能更快到达目的地。
Layer2涉及链上和链下的协议,主要负责链上和链下的信息传递、智能合约编程和应用相关的功能。
即建立在现有区块链系统(第1层)之上的辅助框架或协议。
如果用法律框架做类比,Layer1就好比宪法,是所有法律的基础。法律的制定不能与宪法相抵触,如果要改变Layer1的结构,基本上就要涉及到区块链分叉,就像修宪程序一样,一般都比较复杂和困难。
另一方面,Layer2就像是根据宪法制定的法律,修改起来相对简单,也更符合实际需要。
目前,Layer2协议的主要目标大多是解决区块链面临的事务处理速度和扩展问题。
第2层不负责验证。
第二层只负责“状态生成”而不负责“状态验证”。最终结算时,仍需返回一层验证,完成交易确认。这个过程中最大的问题来自于Layer2的低安全性,可能会因为欺骗导致错误状态的产生。
因此,如何防止Layer2的数据出错,如何安全地将数据返回Layer1,是Layer2协议设计中的问题之一。
投资有风险。本文观点和看法仅代表作者本人,不构成任何建议。