Java笔记 ·

区块链基础知识 (一)

1. 区块链概念

区块链技术让参与的系统中任意多个节点,通过密码学算法把一段时间系统内的全部信息交流数据统计和记录到一个数据库(Block)中,并且生成该数据块的指纹用于链接(Chain)下个数据块和校验,系统中所有的参与节点共同认定记录是否为真。

区块链实质上是由多方参与共同维护的一个持续增长的分布式数据库,也称为分布式共享账本(Distributed Shared Ledger),其核心在于通过分布式网络、时序不可篡改的密码学账本及分布式共识机制建立彼此之间的信任关系,利用由自动化脚本组成的只能合约来编程和操作数据,最终实现由信息互联向价值互联的进化

与传统的记账技术相比,其特点包括:

  • 维护一条不断增长的链,只可能添加记录,而发生过的记录不可篡改;
  • 无须集中控制控制而能达成共识,实现上尽量采用分布式;
  • 通过密码学的机制来确保交易无法抵赖和破坏,并尽量保护用户信息和记录的隐私性。

2. 特点

  • 分布式结构
  • 信任机制
  • 公开透明
  • 时序不可篡改

3. 层次模型

共6层,包含自下而上的数据层、网络层、共识层、激励层、合约层和应用层。

数据层、网络层、共识层是区块链的必要元素。而激励层、合约层、和应用层不是区块链的必要元素,一些区块链应用并不完全包含这3层结构。

3.1 数据层

最下层,封装了底层数据区块的链式结构,以及相关的非对称公私钥数据加密技术和时间戳等技术。这是整个区块链技术中最底层的数据结构

3.2 网络层

中间层,包含P2P组网机制、数据传播机制和数据验证机制。

3.3 共识层

第三层,封装了网络节点的各类共识机制算法。

3.4 激励层

第四层,将经济因素集成到区块链技术体系中,包括经济激励的发行机制和分配机制等,主要出现在公有链中。

3.5 合约层

第五层,封装各种脚本、算法和智能合约

3.6 应用层

第六层,封装了区块链的各种应用场景和案例,未来的可编程金融和可编程社会也将搭建在应用层中。

共识算法

区块链不是某种特定的技术,而是一种类似NoSQL这样的技术解决方案的统称。共识机制算法是区块链的核心技术,因为这决定了到底由谁来记账,而记账方式将会影响整个系统的安全性和可靠性。

目前较为知名 共识机制算法有PoW(Proof of Work,工作量证明),PoS(Proof of Stake,权益证明),DPoS(Delegate Proof of Stake, 股份授权证明 )机制以及拜占庭将军容错共识等。

算法 描述 优点 缺点
PoW(工作量证明) 就是挖矿,主要应用包括比特币和以太坊前三个阶段。依赖机器进行数学运算来获取记账权,即通过与或运算,计算出一个满足规则的随机数,获得本次记账权,发出本轮需要记录的数据,全网其它节点验证后一起存储。 完全去中心化,节点自由进出。 资源消耗相比其他共识机制高,可监管性弱,同时每次达成共识需要全网共同参与运算,性能效果比较低,达成共识的周期较长,因此不适合商业应用。
PoS(权益证明) Pow的一种升级共识机制,在Peercoin、NXT和以太坊第四阶段等应用。根据每个节点所占代币的比例和时间,等比例地降低挖矿难度,从而加快寻找随机数的速度,因此节点记账权的获得难度与节点持有的权益成反比,但它依旧是基于哈希运算竞争获取记账权益的方式。 相对于PoW在一定程度减少了数学运算带来的资源消耗,性能也得到了相应的提升。 还是需要挖矿,本质上没有解决商业应用到痛点,可监管性也比较弱。
DPoS(股份授权证明): 与PoW和PoS不同,DPoS不需要再挖矿,而是通过类似董事会投票,持币者投出一定数量的节点,代理他们进行验证和记账,持股人拥有所持股份对应的表决有权。 大幅缩小参与验证和记账节点的数量,可以达到秒级别的共识验证,降低运行网络的成本和维护网络安全的费用,增强网络效能。 整个共识机制还是依赖于代币的,然而很多商业应用是不需要代币存在的。

参考自:《深度探索区块链:Hyperledger技术与应用》

参与评论