购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

区块链的模型架构和衍生技术

一、区块链的模型架构

区块链系统由自下而上的数据层、网络层、共识层、激励层、合约层、应用层组成。该模型中基于时间戳的链式区块结构、分布式节点的共识机、基于共识机制的经济模型和灵活可编程的智能合约,是区块链技术最具代表性的创新点,其中数据层、网络层和共识层是构建区块链应用的必要因素,否则将不能称之为真正意义上的区块链。而激励层、合约层和应用层则不是各区块链应用的必要因素,有些区块链应用并不完整包括这三层结构。

(一)数据层

数据层是最底层技术,主要包含两大功能:数据存储、账户和交易的实现与安全。

狭义的区块链是去中心化系统各节点共享的数据账本,各分布式节点都能通过特定的哈希算法和Merkle树数据结构,将一段时间内收到的交易数据和代码封装到一个带有时间戳的数据区块中,并链接到当下最长的主区块链上,形成一种全新的区块,该过程涉及数据区块、链式结构、哈希函数、Merkle树等技术。

1.数据区块(Block)

数据区块的主要作用是保存交易数据,不同的系统采用的结构不同。

2.链式结构(Chain)

经典的区块链是一种单向链式结构,由区块连接而成。第一个区块被叫作创始区块。除了创始区块,各区块都保留了上一个区块的哈希值,引用上一个区块的哈希值,区块间就形成了链式关系,从而形成了区块链。区块链内区块的数量,被称为区块的高度。

3.时间戳(Timestamp)

区块链通过时间戳,保证各区块依次顺序相连。使用时间戳,区块链上的每一笔数据都具有时间标记。简单来说,时间戳证明了区块链上什么时候发生了什么事情,且任何人无法篡改。

4.哈希(Hash)函数

哈希函数是将任意长度的输入内容,经过不可逆的处理过程,转换为固定长度的输出内容。主要有两大类:Message Digest Algorithm、Secure Hash Algorithm。

5.默克尔树(Merkle Tree)

通常也被称作“Hash Tree”,顾名思义,就是存储在Hash值的一棵树。Merkle树的叶子是数据块(例如文件或文件的集合)的Hash值。非叶节点是其对应节点串联字符串的Hash。

6.非对称加密

对称加密算法是指,在加密和解密时使用同一个密钥。

非对称加密是现代密码学历史上最伟大的发明,非对称加密的加密密钥和解密密钥是不同的,分别称为公钥和私钥。公钥一般是公开的,任何人都能获取;私钥一般是个人持有,不能被他人获取。公钥用于加密,私钥用于解密。公钥由私钥生成,私钥可以推导出公钥,而公钥无法推导出私钥。

(二)网络层

网络层是区块链的主要通信层,在网络层上构建了一个点对点网络,其中包括数据传输协议。

网络层包括分布式组网机制、数据传输机制和数据验证机制等,采用了完全P2P(Peer to Peer)的组网技术。这种P2P组网技术是一种相对成熟的技术。而所谓P2P网络,就是对等网络,区块链网络的去中心化来自P2P组网方式,网络中各节点地位对等,以扁平式拓扑结构相互连接和交互,不存在任何中心化的特殊节点和层级结构,各节点都会承担网络路由、验证交易信息、传播交易信息、发现新节点等工作。

(三)共识层

共识层主要封装网络节点的各类共识机制算法。

共识机制算法是区块链技术的核心技术,因为它决定了到底由谁来记账,记账者选择方式会影响整个系统的安全性和可靠性。目前,已经实现了十多种共识机制算法,最关键的有工作量证明机制(Proof ofWork, PoW)、权益证明机制(Proof of Stake, PoS)、委托权益证明机制(Delegated Proof of Stake, DPoS)等。共识机制的作用主要有两个:奖励和惩罚。它们依据各自的机制得出算力进行奖励或惩罚。

共识层负责综合协调,可以保证全网各节点数据记录的一致性。常见的共识机制可以分为两大类:

1.概率性的共识机制

先写入数据,之后再达成共识,如PoW、PoS、DPoS,大概率一致就达成共识,计算的复杂度较高。如果一次共识出现多个记账节点,就会产生分叉,最终以最长链为准。节点数量可以随意改变,节点数越多,系统越稳定。

2.确定性的共识机制

先达成共识,之后再写入,确认一致之后再达成共识,共识即确认。网络复杂度高,要求法定人数投票,各节点之间采用P2P广播沟通,没有分叉,如PBFT、BFT变种等。随着节点数的不断增加,性能逐渐下降,节点数量不能随意改变。

从应用来看,为了提高效率,使用共识机制时,需在安全性、可靠性、开放性等方面进行取舍。且现实社会的应用场景是多元化、多层次协作完成的,因此公链兼容高并发、支持多层次场景共存即从单一共识机制向混合共识机制方向演进就是必行之路。

(四)激励层

激励层将经济因素集成到区块链技术体系中,主要包括经济激励的发行机制和分配机制等,该层主要出现在公有链(Public Blockchain)中,因为在公有链节点中,必须激励遵守规则、参与记账的节点,并对不遵守规则的节点进行惩罚,才能让整个系统朝着良性循环的方向发展。

激励机制也是一种博弈机制,让更多遵守规则的节点愿意记账。而在私有链(Private Blockchain)中,不一定需要进行激励,因为参与记账的节点往往是在链外完成了博弈,可能有强制力或其他需求来要求参与记账。

(五)合约层

合约层主要封装各类脚本、算法和智能合约,是区块链可编程特性的基础。

智能合约(Smart Contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议,允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转或不可篡改。

智能合约并不一定依赖于区块链来实现,而区块链的部分基础链特效则决定了智能合约更加适合于在区块链上来实现,比如去中心化、数据的防篡改、高可用性等。

(六)应用层

应用层封装了区块链的各种应用场景和案例,比如可编程金融等。

二、区块链的衍生技术

(一)分片技术

分片是区块容量的一种解决方案。通常情况下,各节点和区块链网络都包含区块链的完整副本,分片是一种允许节点具有完整的区块链的部分副本的技术,可以提高整体性能和稳定速度。

1.闪电网络(Lightning Network)

闪电网络是一种允许加密货币的交易即时发生和成本降低的技术。闪电网络基于一个可扩展的微支付通道网络,通过序列到期可撤销合约RSMC,可以使交易双方在区块链上预先设置的支付通道进行的、多次高频的双向交易瞬间完成。同时,它通过哈希时间锁定合约HTLC,在没有直接点对点支付信道的交易双方之间,连接一条由多个支付通道构成的支付路径,实现资金的转移。

2.雷电网络(Raiden Network)

雷电网络是一种以太坊链下扩容解决方案,可以让使用以太坊技术的加密货币即时且低成本地交易。交易双方只要在链上存在交易信道,就能在链下根据被锁定的余额进行高频、双向地即时确认交易,将多条通道形成的支付路径构成“雷电网络”。

3.隔离见证(Segregated Witness, SW)

隔离见证是一种技术,可以把占用大量存储空间的区块的数字签名重新放置到不同的记录(也称为隔离)中,使各区块能进行更多的交易,达到扩容的目的。区块链上不仅记载了每笔转账的具体信息,还包括每笔交易的数字签名,核实交易的合法性。

(二)跨链协议
1.跨链技术(Cross-Chain)

跨链技术是实现区块链之间互联互通的技术,对标互联网,则可以理解为“去中心化网络的结合”。

区块链技术的特性,让跨链技术的落地以及对于链外信息的获取变得异常困难,早期跨链技术以Interledger Protocal和BTC Relay为代表,多关注资产的转移;现有跨链技术以Aion、Kyber Network、Bletchley、Polkadot、Cosmos为代表,多关注跨链基础设施。

如果说共识机制是区块链的灵魂核心,那么对于区块链特别是联盟链及私链来说,跨链技术就是实现价值链网的关键,它是把联盟链从分散单独的孤岛中拯救出来的良药,是区块链向外拓展和连接的桥梁。

2.原子互换(Atomic Swap)

原子互换是一种处于开发中的去中心化、无需第三方的新技术,允许在不同类型的数字资产之间实现无需信任的点对点交易,任何一方都能在瞬间完成的点对点交易中遵守协议,之后若一方退出,资金会在规定的时间内返回各方账户。

3.见证人机制(Notary Schemes)

见证人模式是一种中心化的结构,通过选定一批见证人并在见证人之间采用拜占庭容错结构,监听目标链上的事件和状态并签名,进行资产的转移,比如,Ripple的Interledger Protocal的早期版本。

4.侧链协议(Sidechain Protocol)

侧链协议是一种实现双向锚定(Two-way Peg)的协议,通过侧链协议实现资产在母链和其他链之间互相转换,或以独立的、隔离系统的形式,降低核心区块链上发生交易的次数。

5.楔入式侧链技术(Pegged Sidechain)

该技术可以实现数字资产在多个区块链间的转移,用户使用自己已有的资产,就可以对新的加密货币系统进行访问。

6.中继技术(Relays)

中继技术是在两个链中加入一个数据结构,使两个链可以通过该数据结构进行数据交互,并在一个链上调用数据结构的API,实现监听,对另一个链上的交易进行验证。如果该数据结构是一个链式结构,就会具备侧链的形式,并称作中继链。

(三)其他技术
1.图灵完备(Turing Complete)

所谓图灵完备,就是在可计算理论中,当一组数据操作的规则(一组指令集、编程语言或元胞自动机)满足任意数据时,按照一定的顺序可以计算出结果。

2.缠结(Tangle)

缠结是IOTA项目创造的一种改革性的去区块化分布式账本,不仅是可扩展的、轻量级的,还能在无需任何费用的前提下进行价值转移。

缠结是基于有向无环图(DAG)的机构,不是连链式架构,能定期添加区块,提高交替吞吐量,实现零交易手续费。

3.有向无环图(Database Availability Group, DAG)

有向无环图是一个常被使用于计算机领域的数据结构。DAG具备独特的拓扑结构,经常被用于处理动态规划、导航中获得最短路径等场景中。

在区块链领域,可以用DAG解决扩容性问题,通过增加区块大小或提高区块频率,在网络中产生大量分叉,但还需要51%的算力才能进行攻击。

4.去中心化应用(Decentralized Application)

去中心化应用是一种在网络上公开运行的软件应用程序,由多人维护,而不是由一个组织维护,黑客不能改变应用程序的数据,除非他们能访问几乎所有的网络计算机并进行调整。

5.去中心组织(Decentralized Organization)

该组织没有中央领导,以正式民主投票进程和共识主动性自我组织的结合,作为基本操作原则。

6.去中心化自治组织(Decentralized Autonomous Organization, DAO)

该组织通过编码为智能合约的规则运行,由计算机网络支持,没有单一的领导者,是一种自主的或自治的组织结构。 mmeBiVaZzR1TdCU0tJNlKFdEGoOI2+qaXqF8rk9n1+f0f47KBFGpc0Azcfyu+uK/

点击中间区域
呼出菜单
上一章
目录
下一章
×