我们知道,传统的数据库管理系统主要由单一机构管理和维护,而在多方参与者协作的场景中,因无法完全信任数据库中的数据,各方都自建数据库,由此导致繁琐的人工对账和协同争议。而区块链作为一种不可篡改、可追溯、多方共同维护的分布式数据库,能够实现可信的数据共享和点对点的价值传输。本文我们就从架构设计的角度,分析区块链技术是如何实现这一目标,并梳理与之相关的知识体系,帮助大家更进一步去学习研究。
区块链百科No.42:区块链层级结构
如果我们将区块链想象成洋葱,各技术组件就像洋葱一层紧挨一层的组织,但在实现衔接上要更为复杂,这些相邻层次的组件需要通过接口交互和支撑。
总体上来看,区块链的基础架构可以分为六层,包括数据层、网络层、共识层、激励层、合约层、应用层。每一层分别完成不同核心的功能,各层之间互相配合,从而实现了一个去中心化的信任机制。
数据层/DataLayer
数据层我们可以理解成数据库,只不过对于区块链来讲,这个数据库是不可篡改的、分布式的数据库,也就是我们所谓的“分布式账本”,主要可实现两大功能:数据存储、账户和交易的安全。
数据层主要描述区块链的物理形式,是区块链上从创世区块起始的链式结构,包含了区块链的区块数据、链式结构以及区块上的随机数、时间戳、公钥、私钥数据等,是整个区块链技术中最底层的数据结构。
网络层/NetworkLayer
数据按序组合好之后,怎么让网络中其他节点知晓呢?这就需要网络层来实现区块链节点之间的信息交流。
网络层主要通过P2P技术实现分布式网络的机制,网络层包括P2P组网机制、数据传播机制和数据验证机制,因此区块链本质上是一个P2P网络,具备自动组网的机制,节点之间通过维护一个共同的区块链结构来保持通信。每一个节点既接收信息,也产生信息。
其实可以类比于线上办公,虽然我们都处在不同地点,但通过互联网大家可以保持协作共同完成。
共识层/ConsensusLayer
流动性协议RenQ Finance完成235万美元预售轮融资:金色财经报道,流动性协议RenQ Finance宣布完成235万美元预售轮融资,目前RenQ Finance支持以太坊、币安智能链和Polygon,继而允许用户能够分散投资。(analyticsinsight)[2023/3/16 13:08:05]
如果区块链中每个节点都可以生成新的区块完成记账,那整个记账体系就容易乱套。
共识层便是让高度分散的节点在P2P网络中,针对区块数据的有效性达成共识。在区块链的世界里,共识,简单来讲就是全网要依据大家一致同意的更新数据的规则,来维护更新区块链系统这个总账本。共识层主要包含共识算法以及共识机制,能让高度分散的节点在去中心化的区块链网络中高效地针对区块数据的有效性达成共识,是区块链的核心技术之一,也是区块链社群的治理机制。
当然,为了实现这一点,算法上就必须考虑到某些节点是不可用的,或者网络上会有数据丢失。这使得区块链共识算法从一开始就具有容错能力,从而将提高网络运作的效率。
合约层/ContractLayer
区块链具有可编程的特性,其基础是其合约层封装了各类脚本、代码、算法机制以及智能合约,使得各项指令能够实现确定自动化地执行。
以智能合约为例,它是存储在区块链上的一段代码,使其在达到某个确定的约束条件的情况下,无需经由第三方就能够自动执行,这也是区块链实现信任的基础。通过程序算法替代人去仲裁和执行合约,这将为我们节省巨额的信任成本。
激励层/ActuatorLayer
从上可以看出,借由数据层、网络层、共识层,区块链保证了有数据、有网络,以及在网络上更新数据的规则。但是天下没有免费的午餐,如何让节点积极踊跃地参与区块链系统维护呢?这里就涉及到了激励。
激励层主要包括经济激励的发行制度和分配制度,其功能是提供一定的激励措施,鼓励节点参与区块链中安全验证工作,并将经济因素纳入到区块链技术体系中,激励遵守规则参与记账的节点,并惩罚不遵守规则的节点。例如比特币中的挖矿就是记录交易信息,比特币网络通过奖励BTC代币来鼓励矿工参与记账。
应用层/ApplicationLayer
区块链的应用层封装了各种应用场景和案例,类似于电脑操作系统上的应用程序、互联网浏览器上的门户网站、搜寻引擎、电子商城或是手机端上的APP。
正如能链科技提供的“区块链”解决方案及数字金融服务,就是基于区块链搭建的应用层体系,以深度服务实体产业,赋能金融效率提升。未来整个可编程社会,亦有可能搭建在区块链应用层上。
后续,我们还将陆续就区块链的各个层级架构展开详细解读,并与传统互联网架构进行对比,探索它们之间的异同,敬请期待!
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。