典型(xíng)区(qū)块链架构
当前主流的区(qū)块链架构包(bāo)含(hán)六个层级:网络层、数据层、共识层、激励(lì)层、合约层(céng)和应(yīng)用层。图(tú)中将数(shù)据(jù)层(céng)和网络层(céng)的位置进行了(le)对调(diào),主要(yào)用途(tú)将在(zài)下(xià)一节中(zhōng)详述(shù)。
网络层:区块链网络本质是一(yī)个P2P(Peer-to-peer点对点)的(de)网络,网络中的资源(yuán)和服务分散在所有节点上,信息的传(chuán)输和服务(wù)的实现都直接在节点(diǎn)之(zhī)间进行,可(kě)以无需中间(jiān)环(huán)节和服务器的介入。每一个节点既接收信息,也(yě)产生信(xìn)息,节点之间通过维护一个共同的区块(kuài)链来同(tóng)步信息(xī),当一个节点创造出新的区块后便以广播(bō)的形式通(tōng)知其他节点(diǎn),其他节点收到信息后对该(gāi)区(qū)块进行验证,并在该区块的基础上去创建新的区块,从而达到全网共(gòng)同维护一(yī)个(gè)底层账本的(de)作用。所(suǒ)以网络层会涉及到P2P网络,传播机制,验(yàn)证机制等的设计(jì),显而易见,这些设计都能(néng)影(yǐng)响到区块信息的确认(rèn)速度,网络层可以(yǐ)作为区(qū)块链技术可扩展(zhǎn)方案中的一个研究方向;
数据层:区块链的底(dǐ)层数据是一个区块(kuài)+链表的数据结构,它包括数据(jù)区块、链式结构、时间戳、哈希函(hán)数、Merkle树、非(fēi)对称加(jiā)密等设计。其中数据区块(kuài)、链式结构都可(kě)作为区块链技术可扩展方案对数据层研究时的改(gǎi)进方向。
共识层:它是让高度分散的节点对区块数(shù)据的有效性达到(dào)快速(sù)共识的基础,主(zhǔ)要(yào)的共识机制(zhì)有(yǒu)POW(Proof Of Work工作量证明(míng)机制),POS(Proof of Stake权(quán)益(yì)证明机制),DPOS(Delegated Proof of Stake委托权(quán)益证明机制)和PBFT(Practical Byzantine Fault Tolerance实用拜占庭(tíng)容错)等(děng),它们一(yī)直是区块链技术可扩(kuò)展方案中的重头戏。
激(jī)励层:它是大家常说的挖矿机制(zhì),用来设计一定的经济激励模型(xíng),鼓励节点(diǎn)来(lái)参与(yǔ)区块链的安全验证(zhèng)工作(zuò),包(bāo)括发行机制,分配机制的设计等。这(zhè)个(gè)层级(jí)的改进貌似与(yǔ)区块链可扩展并(bìng)无直接联(lián)系。
合约层:主要是指(zhǐ)各种(zhǒng)脚本(běn)代码(mǎ)、算法机制以(yǐ)及智能合(hé)约(yuē)等。第一代区块链严格讲这一层(céng)是缺失的,所以它们(men)只能进行交易,而无法用(yòng)于(yú)其他的领域或(huò)是进行其他的逻辑处(chù)理,合(hé)约层(céng)的出现,使得(dé)在(zài)其他领域使用区块链成为了现实,
以太坊中(zhōng)这部分包(bāo)括了EVM(以太坊虚拟机)和智能合约两部分。这(zhè)个(gè)层(céng)级的改进貌似给区块链可(kě)扩展提供了潜在的(de)新方(fāng)向,但结构上来看(kàn)貌(mào)似并无直接联系。
应用层:它(tā)是区块链的展示(shì)层,包括(kuò)各种应(yīng)用(yòng)场景(jǐng)和案例。如以太坊使用的是truffle和web3-js.区(qū)块(kuài)链的应用层可以是(shì)移动(dòng)端(duān),web端,或是是融(róng)合进现有的服务器,把当(dāng)前的业务服务器当成应用层。这个层级(jí)的改进貌似也(yě)给(gěi)区块链可扩展提供了潜在的新方向(xiàng),但结构上(shàng)来(lái)看(kàn)貌似并无直接联系。
由此(cǐ)可见,单从结构上分析,区(qū)块链技术可扩展方案可以直接(jiē)从(cóng)网络层(P2P网络、传播(bō)机制和验证机制)、数据层(数据区块和链式结(jié)构(gòu))以(yǐ)及共识(shí)层(céng)进行改进达到优(yōu)化。
以太坊社区在(zài)区块链可扩(kuò)展性上曾提出过Layer分层改进的概念:Layer 1层(céng)改进和Layer 2层改进。Layer 1层(céng)改进是指通过对某条公链本身的改进来提升它的(de)可扩(kuò)展性(xìng),即On-Chain链上改进;Layer 2层改进是(shì)指不影响(xiǎng)该(gāi)公链本身(shēn),通过其他方式来实现可扩展性的提升,即Off-Chain链(liàn)下改(gǎi)进(jìn)(此处链下的含义(yì)仅(jǐn)仅指脱离(lí)该公链(liàn)),如后文将会(huì)介绍的侧链、跨链和状态通道等(děng)。
在这个理解(jiě)的基(jī)础上,我们借鉴计算机网络分层(céng)管理、各层标(biāo)准化设计的(de)思想,将区块链与(yǔ)传统互联(lián)网OSI模(mó)型结合,建立区块链技(jì)术可扩展方案分层模(mó)型三个一级层级:Layer 0层数据传(chuán)输(shū)层(céng),Layer 1层On-Chain公链自身(shēn)(底层(céng)账本)层和Layer 2层Off-Chain扩展性(应用扩(kuò)展)层。在一级层级的(de)基(jī)础上(shàng),结合区块链(liàn)架构又可以(yǐ)进一步分解成七(qī)个二级层级来详(xiáng)细研究,具体(tǐ)如(rú)图7的划分:
区块链分层研究构(gòu)架图
版权申明:本内容来自于互联网(wǎng),属第三方汇集(jí)推荐平(píng)台。本文的版权归(guī)原作(zuò)者所(suǒ)有,文章言论不代表(biǎo)链门(mén)户的观点,链门户不承担(dān)任何法律责任。如(rú)有(yǒu)侵权(quán)请联系QQ:3341927519进行反(fǎn)馈。