首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

区块链中的核心共识机制 一

前言

区块链技术的伟大之处就是它的共识机制,在去中心化的思想上解决了节点间互相信任的问题。区块链拥有众多节点并达到一种平衡状态是因为共识机制。区块链的共识机制通常包含了:达成共识的计算机算法,即共识算法(Consensus Algorithm),以及达成共识的规则,即共识规则(Consensus Rule)两个方面。我们常见的共识机制包括以下8种:

POW 工作量证明 、POS 权益证明、DPOS 授权权益证明、POOL 验证池、RPCA 瑞波共识算法、PAXOS算法、BFT拜占庭容错算法、RAFTT算法。

我们在传统的关系数据库管理系统,NOSQL数据库管理系统是由单一机构进行管理和维护,单一机构对所有数据拥有绝对控制权,其它机构无法完整了解数据更新过程,因而无法完全信任数据库中的数据。所以,多个机构协作模式下,中心化的数据管理系统始终存在信任问题.以金融行业的清算和结算业务为例,传统中心化的数据库因无法解决多方互信问题,使得每个参与方都需要独立维护一套承载自己业务数据的数据库,而这些数据库实际上是一座孤岛,造成清算过程中耗费大量人工进行对帐的情况,目前的清算结算时间最快是按天计。如果存在一个多方参与者一致信任的数据库系统,则可显著减少人工成本及缩短结算周期。

区块链(BLOCKCHAIN)是一去中心化、不可篡改、可追溯、多方共同给护的分布式数据库,能够将传统单方维护的仅涉及自己业务的多个孤立数据库整合在一起,分布式地存储在多方共同维护的多个节点上,任何一方都无法控制这些数据,只能按严格的规则和共识进行更新,从而实现了可信的信息共享和 监督,避免了繁琐的人工对帐,提高了业务处理效率,降低了交易成本。区块链通过集成P2P协议、非对称加密、共识机制、区块链结构等多种技术,解决了数据的可信问题。通过应用区块链技术,无需借助任何第三方可信机构,互不了解、互不信任的多方可实现可信,对等的价值传输。

2008年,一位化名“中本聪”的学者以一篇《比特币:一种点对点的电子现金系统》的文章,阐述了一种数字加密货币的实现思路。历经十年的发展,比特币一直保持着交易量和市值全球第一的地位,与此同时,支撑比特币运行的核心技术---区块链,凭借去中心化、易验证、难篡改、已成为各国政府、国际组织关注的一个热点,许多金融巨头和研究机构在该领域投上宝贵的精力。各种区块链相关项目爆发式增长。对于区块链技术,目前普遍的观点是其对未来的改变是不可估量的!

区块链技术作为支持比特币服务的核心技术,区块链是一各基础设施,是加密货币或者其他应用的底层根本。它使用链式数据结构来验证和存储数据,并使用分布式节点协商机制来生成和更新数据。根据不同的应用场景,区块链分为公链、联盟链和专有链。

公有链通常也称为非许可链,无官方组织及管理 机构,无中心服务器,参与的节点按照系统规则自由接入 网络,不受控制,节点间基于共识机制开展工作。

公有链是真正意义上的完全去中心的区块链,它通过密码学保证交易的不可篡改,同时也利用密码学验证以及经济上的激励,在互为陌生的网络环境中建立共识,从而形成去中心化的信用机制。在公有链中的共识机制一般是工作量证明(POW)或权益证明(POS),用户对共识形成的影响力直接取决于他们在网络中拥有资源的占比。公有链一般适合于虚拟货币、面向大众的电子商务、互联网金融等B2C、C2C或C2B等应用场景,比特币和以太坊等就是典型的公有链。

联盟链:是一种需要注册的许可的区块链,这种区块链也称为许可链。联盟链仅限于联盟成员参与,区块链上的读写权限、参与记账权限按联盟链规则来制定。整个网络由成员机构共同维护,网络接入一般通过成员机构的网关节点接入,共识过程由预先选好的节点控制。由于参与共识的节点比较少,联盟链一般不采用工作量证明的挖矿机制,而是采用权益证明(POS)或PBFT、RAFT等共识算法。

一般来说,联盟链适合于机构间的交易、结算或清算等B2B场景。例如在银行间进行支付、结算、清算的系统就可以采用联盟链的形式,将各家银行的网关节点作为记账节点,当网络上有超过2/3的节点确认一个区块,该区块记录的交易将得到全网的确认。联盟链对交易的确认时间、每秒交易数都与公有链有较大的区别,对安全性和性能的要求也比公有链高。

私有链个人认为没有太大意义就不讲了!

区块链体系架构

从最早应用区块链技术的比特币到最先在区块链引入智能合约的以太坊,再到应用最广的联盟链Hyperledger Fabric,它们尽管在具体实现上各有不同,但在整体体系架构上 存在着诸多共性,区块链平台整体上可划 分为网络层、共识层、数据层、智能合约层和应用层五个层次。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181009A0G87J00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券