区块链系统开发|区块链的架构介绍
区块链是一种分散的数字分类帐,可以在全球数千台计算机上保存,可以在区块链金融市场交易所交易。这些是以抑制其后续修改的方式注册的。区块链技术以经济高效和透明的方式提高了安全性并加速了信息交换。它还免除了第三方的主要作用是在交易中提供信任和认证要素(如公证人和银行)。区块链开发技术应用在金融交易市场引发的能量是无与伦比的。
区块链的基础架构,可分为六个层面:从底层向上依次为:数据层、网络层、共识层、激励层、合约层、应用层。每层分别完成一项核心功能,并运用了一些技术来保证整个区块链系统的正常运作,各层之间互相配合互相支撑,实现一个去中心化的信任机制,这也是区块链的魅力所在。
但通过诸多资料总结,认为还有一个底层结构:加密层,也是区块链技术的基石,提供了整个区块链系统的安全性、匿名性的保证。但加密层中一些加密技术,实在烧脑,为了便于非专业人士的理解,还是以大多数的数据中将加密层融合在数据层中,进行简单介绍,或关注后续文章。
区块链的层级架构
1.数据层:包含了底层数据区块以及基础数据、基本算法等。
数据层主要描述区块链技术的物理形式,是区块链上从创世区块起始的链式结构,每个区块包含了区块上的随机数、时间戳、公私钥数据等,是整个区块链技术中最底层的数据结构。
2.网络层:包括分布式组网机制、数据传播机制和数据验证机制等
网络层的主要目的是实现区块链网络中节点之间的信息交流。网络层主要通过P2P技术实现分布式网络的机制,网络层包括 P2P 组网机制、数据传播机制和数据验证机制,因此区块链本质上是一个P2P(点对点)网络,具备自动组网的机制,节点之间通过维护一个共同的区块链结构来保持通信。每一个节点既接收信息,也产生信息。
3.共识层:主要包含共识算法以及共识机制,
负责点对点模式的有效识别认证;共识层能让高度分散的节点在去中心化的区块链网络中高效地针对区块数据的有效性达成共识,是区块链的核心技术之一,也是区块链社群的治理机制。区块链中比较常用的共识机制主要有:工作量证明、权益证明和股份授权证明三种。
数据层、网络层、共识层是构建区块链技术的必要元素,也是核心层,缺少任何一层都不能称之为真正意义上的区块链技术。
4.激励层:主要包括经济激励的发行制度和分配制度。
激励层的主要功能是提供一定的激励措施,鼓励节点参与区块链的安全验证工作。
激励机制在公有链中是必需的。在联盟链中,所有节点都是已经经过组织认证的节点,不需要额外的激励,这些节点也会自发地维护整个系统的安全和稳定。
在公有链中,节点不需要进行认证,可以随时加入、随时退出这个网络,记账需要消耗CPU、存储、带宽等资源,所以需要有一定的激励机制来确保矿工在记账的过程中能有收益,以此来保证整个区块链系统朝着良性循环的方向发展。
以比特币为例,它的奖励机制有两种:1.在比特币总量达到2100万枚之前,新区块产生后系统奖励的比特币和每笔交易扣除的比特币(手续费)。2.当比特币总量达到2100万枚时,新产生的区块将不再生成比特币,这时奖励机制主要是每笔交易中扣除的手续费。
5.合约层:主要包括各种脚本、代码、算法机制及智能合约。
合约层是区块链可编程的基础。负责规定交易方式和流程细节:区块链可以开发理解为是去中心化不可篡改的账本,程序代码也是数据,也可以存到账本里。智能合约是存储在区块链中的一段不可篡改的程序,可以自动化地执行一些预先定义好的规则和条款,响应接收到的信息。合约发布之后,其运行和维护就交给全网的矿工去达成共识,是区块链去信任的基础。
6.应用层:负责实现生活的各类应用场景。包含了各种应用场景和案例。
比如搭建在以太坊、EOS上的各类区块链技术应用,即部署在应用层,并在现实生活场景中落地,来丰富整个区块链的生态。而未来的可编程金融和可编程社会也将会是搭建在应用层。
激励层、合约层和应用层不是每个区块链应用的必要因素,一些区块链应用并不完整包含此三层结构。