联盟链简介


区块链包括公链和联盟链,公链大家都很熟悉,比特币、以太坊等。参与公链记账的节点可以随时加入或者退出这个系统。公链采用的共识协议,如POW和POS都是概率型共识协议,也就是说节点获得记账权利的概率和算力(POW)或者股份(POS)有关。与分布式数据库相比,区块链的安全性和信任模型都是不一样的。

 传统的数据库采用的crash-failure模型,就是说一个出错的节点会停止发送或者响应请求。而区块链系统在一个更为恶劣的环境下运行,因此使用了更强的失败模型,即拜占庭失败(存在恶意伪造消息的攻击者的情况下)。

区块链是一种数据结构,每一个区块中包含交易信息,区块之间用hash指针前后链接,以达到不可篡改的安全保护。区块链可以被看作一种分布式记账系统,账本是需要在多个节点形成共识、备份的。如果要达成多节点之间的账本信息同步,传统的数据库集群可能会采用的方式是主从(Master-slave)或者主主(master-master)复制,在这种情况下对交易的顺序和更新记录是信任的;对于区块链系统来说,由分布式节点达成共识,信任共识产生的账本交易顺序。

区块链系统一般使用的共识算法可以分为两类:CFT和BFT。Crash Fault Tolerant是指无恶意节点的情况下的容错,如Paxos、Raft算法。Byzantine Fault Tolerant是指有恶意节点的情况下的容错,如PBFT、POW算法。

联盟链中比较有名的就是我们本次项目使用的HyperLedger Fabric底层区块链平台,目前该项目由Linux基金会托管,国内外许多开发者都对项目代码进行贡献,IBM对其也是贡献颇多。与公链不同,在联盟链中,节点在加入联盟前就预先定义了身份信息。可以认为在联盟链中,节点之间互相不信任(或者弱信任),但是可以通过共识算法中的签名、信息校验等手段,确认其他节点记账的真实、准确性。

一个比较好的场景是跨境支付,两家公司在不同的国度,通过联盟链节点的共识记账,可以从数字签名(信息交互)的角度确认在这个过程中产生的交易账本的一致性,由此构建信任,并增加安全性,对传统的业务流程进行改变。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM