区块链的网络层和共识层

论坛 期权论坛 期权     
Ulam乌拉姆   2020-4-3 23:56   1947   0

网络层



网络层封装了区块链系统的组网方式、消息传 播协议和数据验证机制等要素. 结合实际应用需求, 通过设计特定的传播协议和数据验证机制, 可使得 区块链系统中每一个节点都能参与区块数据的校验 和记账过程, 当区块数据通过全网大部分节点验 证后, 才能记入区块链.



组网方式: 区块链系统的节点一般具有分布式、 自治性、开放可自由进出等特性, 因而一般采用对等式网络 (Peer-to-peer network, P2P 网络) 来组织散布全球的参与数据验证和记账的节点. P2P 网络 中不存在任何中心化的特殊节点和层级结构, 每个节点均会承担网络路由、验证区块数据、 传播区块数据、发现新节点等功能. 按照节点存储数 据量的不同, 可以分为全节点和轻量级节点.
全节点保存有从创世区块到当前最新区块为止的完整区块链数据, 并通过实时参与区块数据的校验和记账来动态更新主链. 全节点的优势在于不依赖任何其他节 点而能够独立地实现任意区块数据的校验、查询和 更新, 劣势则是维护全节点的空间成本较高;轻量级节点则仅保存一部分区块链数据



数据传播协议: 任一区块数据生成后, 将由生成 该数据的节点广播到全网其他所有的节点来加以验
证. 现有的区块链系统一般根据实际应用需求设计 比特币传播协议的变种, 例如以太坊区块链集成了 所谓的 “幽灵协议” 以解决因区块数据确认速度快 而导致的高区块作废率和随之而来的安全性风险[4]
. 根据中本聪的设计, 比特币系统的交易数据传播协 议包括如下步骤[3]:
1) 比特币交易节点将新生成的交易数据向全网 所有节点进行广播;
2) 每个节点都将收集到的交易数据存储到一个 区块中;
3) 每个节点基于自身算力在区块中找到一个具 有足够难度的工作量证明;
4) 当节点找到区块的工作量证明后, 就向全网 所有节点广播此区块;
5) 仅当包含在区块中的所有交易都是有效的且 之前未存在过的, 其他节点才认同该区块的有效性;
6) 其他节点接受该数据区块, 并在该区块的末 尾制造新的区块以延长该链条, 而将被接受区块的 随机哈希值视为先于新区块的随机哈希值.



数据验证机制: P2P 网络中的每个节点都时刻 监听比特币网络中广播的数据与新区块. 节点接收 到邻近节点发来的数据后, 将首先验证该数据的有
效性. 如果数据有效, 则按照接收顺序为新数据建 立存储池以暂存尚未记入区块的有效数据, 同时继 续向邻近节点转发; 如果数据无效, 则立即废弃该 数据, 从而保证无效数据不会在区块链网络继续传 播.
比如当某矿工“挖” 到新区块后, 其他矿工节点也会按照预定义标 准来校验该区块是否包含足够工作量证明, 时间戳 是否有效等; 如确认有效, 其他矿工节点会将该区块 链接到主区块链上, 并开始竞争下一个新区块.
由网络层设计机理可见, 区块链是典型的分布 式大数据技术. 全网数据同时存储于去中心化系统 的所有节点上, 即使部分节点失效, 只要仍存在一 个正常运行的节点, 区块链主链数据就可完全恢复 而不会影响后续区块数据的记录与更新. 这种高度 分散化的区块存储模式与云存储模式的区别在于, 后者是基于中心化结构基础上的多重存储和多重数 据备份模式, 即 “多中心化” 模式; 而前者则是完全 “去中心化” 的存储模式, 具有更高的数据安全性.

      共识层




如何在分布式系统中高效地达成共识是分布式 计算领域的重要研究问题. 正如社会系统中 “民主” 和 “集中” 的对立关系相似, 决策权越分散的系统达 成共识的效率越低、但系统稳定性和满意度越高; 而 决策权越集中的系统更易达成共识, 但同时更易出 现专制和独裁. 区块链技术的核心优势之一就是能 够在决策权高度分散的去中心化系统中使得各节点 高效地针对区块数据的有效性达成共识.



PoW 共识过程 (俗称挖矿, 每个 节点称为矿工)中本聪在其比特币奠基性论文中设 计了 PoW 共识机制, 其核心思想是通过引入分布式 节点的算力竞争来保证数据一致性和共识的安全性.通常是各节点贡献自己的计算资源来竞争解决一个难度可动态调整的数学问题, 成功 解决该数学问题的矿工将获得区块的记账权, 并将 当前时间段的所有比特币交易打包记入一个新的区 块、按照时间顺序链接到比特币主链上. 比特币系 统同时会发行一定数量的比特币以奖励该矿工, 并 激励其他矿工继续贡献算力. PoW 共识机制是具有重要意义的创新, 其近乎 完美地整合了比特币系统的货币发行、交易支付和 验证等功能, 并通过算力竞争保障系统的安全性和 去中心性; PoW 共识机制同时存在着显著的缺陷, 其强大算力造成的资源浪费



PoS 共识机制: PoS 共识是为解决 PoW 共识机 制的资源浪费和安全性缺陷而提出的替代方案。PoS 共识本质上是采用权益证明来代替 PoW中的基于哈希算力的工作量证明, 是由系统中具有 最高权益而非最高算力的节点获得区块记账权. 权 益体现为节点对特定数量货币的所有权, 称为币龄。币龄是特定数量的币与其最 后一次交易的时间长度的乘积, 每次交易都将会消消耗掉特定数量的币龄.例如, 某人在一笔交易中收到10 个币后并持有 10 (10*10), 则获得 100 币龄; 而后其花 掉 5 个币后, 则消耗掉 50 币龄.用 PoS 共 识机制的系统在特定时间点上的币龄总数是有限的, 长期持币者更倾向于拥有更多币龄, 因此币龄可视 为其在 PoS 系统中的权益. PoW 共识过程中 各节点挖矿难度相同, 而 PoS 共识过程中的难度与交易输入的币龄成反比, 消耗币龄越多则挖矿难度 越低.节点判断主链的标准也由 PoW 共识的最高 累计难度转变为最高消耗币龄, 每个区块的交易都 会将其消耗的币龄提交给该区块, 累计消耗币龄最 高的区块将被链接到主链. 由此可见, PoS 共识过程仅依靠内部币龄和权益而不需要消耗外部算力和资 源, 从根本上解决了 PoW 共识算力浪费的问题, 并 且能够在一定程度上缩短达成共识的时间.但是POS有一个很大的缺点就是币龄越大越容易打到包,会使币高度集中,产生马太效应。



DPoS 共识机制的基本思路类 似于 “董事会决策”, 即系统中每个股东节点可以将 其持有的股份权益作为选票授予一个代表, 获得票 数最多且愿意成为代表的前 101 个节点将进入 “董 事会”, 按照既定的时间表轮流对交易进行打包结算 并且签署 (即生产) 一个新区块. 每个区块被签署之 前, 必须先验证前一个区块已经被受信任的代表节 点所签署. “董事会” 的授权代表节点可以从每笔交 易的手续费中获得收入, 同时要成为授权代表节点 必须缴纳一定量的保证金, 其金额相当于生产一个 区块收入的 100 倍. 授权代表节点必须对其他股东 节点负责, 如果其错过签署相对应的区块, 则股东将 会收回选票从而将该节点 “投出” 董事会. 因此, 授 权代表节点通常必须保证 99 % 以上的在线时间以 实现盈利目标。显然, 与 PoW 共识机制必须信任 最高算力节点和 PoS 共识机制必须信任最高权益节 点不同的是, DPoS 共识机制中每个节点都能够自主决定其信任的授权节点且由这些节点轮流记账生 成新区块, 因而大幅减少了参与验证和记账的节点 数量, 可以实现快速共识验证.DPOS的缺点是不是完全去中心化,而是属于多中心化。


扫码关注我们!






分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:233
帖子:6
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP