赞
踩
区块链技术包含很多技术模块,数字签名、各种密码学原理、共识机制、数据存储和分发、安全防卫等。
1. 六层体系
区块链类比OSI标准可分为六层:应用层、合约层、激励层、共识层、网络层和数据层。
2. 各层主要工作部分:
应用层:可编程货币、可编程金融、可编程社会 合约层:脚本代码、算法机制、智能合约 激励层:发行机制、分配机制 共识层:PoW、PoS、DPoS 网络层:P2P网络、传播机制、验证机制 数据层:数据区块、链式结构、时间戳、哈希函数、Merkle树、非对称加密
3. 数据层
1) 数据层封装了区块链的底层数据存储和加密技术。三个级别的分层数据结构:交易、区块和链。 2) 分层数据结构 ① 交易:区块链的原子数据结构。为了保证交易记录完整性,数据层中包含了哈希函数和非对称加密功能。
哈希函数:实现将任意长度的二进制输入映射到唯一固定长度的二进制输出。具有不可逆性,即根据输出获取输入是不可行的。不同输入获取相同输出的概率可忽略不计。
非对称加密:发送方S,接收方R。S拥有自己的私钥和R的公钥,R亦然。发送方公钥加密,接收方私钥解密,发送方私钥签名,接收方公钥解密。 ② 区块:交易记录的任意子集的集合。
只有参与建立网络共识过程的节点才能进行区块的创建。
为了减少交易存储占比、防止交易数据被篡改,采用Merkle结构。 ③ 链:将上一区块的哈希码存储在当前区块的哈希指针处实现链式结构。
实际上,区块网络可以为线性链表,也可以是有向无环图。
4. 网络层
1) 网络层涉及三个方面:分布式的点对点网络、网络节点连接、网络运转所需要的传播和验证机制。 2) 根据不同场景对于中心化和开放程度的不同要求,可将区块链大致分为三大类: ① 公有链:完全不存在把控的中心化机构和组织,任何人都可以读取链上数据、参与交易和算力竞争。典型代表比特币、以太坊。 ② 私有链:权限完全由某个组织或机构把控,适用于特定机构内部使用。因此加入门槛高,节点数量一般较少,意味着更短的交易时间、更高的交易效率和更低的算力竞争成本。 ③ 联盟链:介于公有链和私有链之间,部分去中心化。仅允许授权节点启用核心功能,例如参与共识机制和数据传播。
种子节点: 长期稳定运行的节点(比特币网络中用一个种子节点列表),新节点可以与种子节点连接快速发现其他节点。(以太坊区块链网络中采用给予哈希表的Kademlia协议,通过UDP连接进行对等节点或路由发现)。
区块链中数据传输通常是基于HTTP的RPC协议实现,消息使用JSON协议序列化。
区块链网络的P2P链路建立在持久TCP连接基础上,通过该连接交换存储区块状态和使用协议、软件版本、对等节点IP地址信息列表等信息,如比特币网络。
5. 共识层
1) 共识层主要指的是不同区块链网络中使用的公式算法,如工作量证明(PoW)、权益证明(PoS)、拜占庭容错算法(BFT)。 2) 共识层的主要目的是确保每个节点都能够遵守“最长链原则”,在任何时候,只有最长的链条可以被节点纳为区块链的标准状态。 3) 在公有区块网络中,新交易只有经过诚实节点验证的才能纳入区块中,新区块也需要经过诚实节点验证才能纳入区块链中。
6. 激励层
1) 激励层的目的是为了刺激区块链网络平稳运行和发展加入的激励措施。包括发行机制和分配机制。 2) 激励机制:分为两部分。一是每挖掘一个新区块,系统就会产生相应数额的比特币交给挖掘该区块的矿工,该方式也实现了去中心化发行。二是激励来源于验证待广播到全网的交易中的手续费,因为随着区块增加,挖掘新区块的奖励将逐渐会减少至0。 2) 发行机制:以比特币为例。一个新区块的产生也就意味着新比特币的发行,而且每一个区块中的第一笔交易记录了系统将比特币交易给成功挖掘该区块的矿工,该交易称为创币交易或conibase交易。比特币实行衰减发行、总量固定,每产生21万个区块产量减半,按每10min一个区块生成,则第一个21万区块每个coinbase奖励50比特币、第二个20万区块为25,直至2140年为0,总发行量2100万个比特币。
7. 合约层与应用层
合约层是区块链技术的可编程实现,通过各类脚本、算法和智能合约,完成对区块链技术的个人独特改造。
应用层指的是建立在底层技术智商的区块链的不同应用场景和案例实现。
Merkle树:https://baijiahao.baidu.com/s?id=1614622960737412748&wfr=spider&for=pc
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。