区块链数字金融:数字经济时代的新引擎
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.4 区块链技术逻辑与运行原理

区块链技术逻辑由底层到应用层,共分为六层,分别是数据层、网络层、共识层、激励层、合约层、应用层,每一层都有不同的作用,它们相互独立但又不可分割。

(1)数据层

数据层又被称为最底层,包括数据区块、链式结构、哈希函数、默克尔树、非对称加密技术和时间戳。数据层对区块链起到确保数据安全的作用。数据层是最底层的技术,主要实现两个功能:数据存储、账户和交易的实现与安全。数据存储主要基于默克尔树,通过区块的方式和链式结构实现,大多以KV数据库的方式实现持久化。账户和交易的实现与安全这个功能基于数字签名、哈希函数和非对称加密技术等多种密码学算法和技术,保证了交易在去中心化的情况下能够安全地进行。

(2)网络层

网络层用于节点之间的信息交流和传递,参与区块数据的校验和记账过程。用这句话很好理解:A给B转账十元钱,通过网络层的点对点传播到其他节点上,节点再验证交易的真实性,从而存储交易信息。网络层包括P2P(个人对个人)网络、安全传输、访问控制。在区块链的网络中,每一个节点都可以创造出新的区块,新区块被创造出以后,会通过广播的形式通知其他的节点,而其他节点反过来会对这个节点进行验证。当区块链网络中超过51%的用户对其验证通过以后,这个新的区块就会被添加到主链上。

(3)共识层

共识层能够让高度分散的节点在去中心化的系统中针对区块数据的有效性达成共识。区块链中比较常用的共识机制包括工作量证明、权益证明和股份授权证明等。当交易、区块等数据成功通过网络层到达全网所有节点后,分布式节点通过共识机制对本地组建的区块链一致性达成共识。区块链技术的核心优势之一,就是能够在决策权高度分散的去中心化系统中,使得各节点高效地针对区块数据的有效性达成共识。区块链作为分布式的网络系统在全球范围内运行,没有任何单一的中心化机构。然而,这种分散是有代价的:当网络中没有人“负责”时,我们如何确保网络参与者同意“真相”?这项重要的任务便由共识机制执行,它就像是区块链网络中的裁判,只不过非人工方式,而是通过算法及协议进行裁决。在区块链动态变化的网络中,这些公开共享的账簿需要一个高效、公平、实时、有效、可靠和安全的机制,以确保网络上发生的所有交易都是真实的,所有参与者都对账簿的状态达成一致。它激励参与者产生并记录真相,包括但不限于在一个分布式网络中,哪些资金属于哪些地址,并允许其他人验证真相。当这种对真相的认同得到证实时,共识就会在没有中央权威的情况下产生。

(4)激励层

激励层起到的根本作用就是激励。当个人寻求减少不确定性时,激励机制可以驱动人类行为,最终产生符合社会预期的效果。在区块链网络中,如果说密码学是保障P2P系统通信安全的基础,那么激励机制就是通过经济平衡的手段,鼓励节点参与到维护区块链系统安全运行中来,防止对总账本进行篡改,是维持区块链网络长期运行的动力。目前激励层在公有链的应用中使用较为广泛,在联盟链和私有链的应用中较少使用。在公有链中,激励层引入的激励机制是通过经济平衡的手段,鼓励节点参与到维护区块链系统安全的运行中来,防止对总账本进行篡改。而在私有链中,则不一定需要进行激励,因为参与记账的节点往往是在链外完成了博弈,通过强制力或自愿来要求参与记账。

(5)合约层

合约层建立在激励层之上,如果说数据层、网络层和共识层这三层,分别承担了区块链底层数据表示、数据传播和数据验证功能的话,合约层则用于封装各类脚本代码、算法以及更为复杂的智能合约,是区块链系统实现灵活编程和操作数据的基础。脚本代码与智能合约是部署在分布式区块链节点上的一段程序,其执行过程中需要读取区块链中的数据并将执行结果写入区块链中,是区块链可编程特性的基础。其中,脚本代码与智能合约分别是区块链1.0时代与2.0时代的链上代码。合约层作为介质可以将代码嵌入区块链或者令牌中,凭此可以实现自定义的智能合约,并且在达到某些条件的情况下,无需经由第三方就能够自动执行,它是区块链实现机器信任的基础。

(6)应用层

应用层则封装了区块链中面向各种应用场景的应用程序。应用层建立在合约层的基础上,采用服务端技术、前端技术等对智能合约实行封装,为用户提供各种分散化的应用服务。区块链应用层通过开发去中心化应用(DApps),调用协议层及智能合约层的接口,以适配区块链的各类应用场景,为用户提供各种服务和应用,来丰富整个区块链生态。