分布式账本平台比较(转)总结

参考链接是对比以太坊、Hyperledger Fabric和Corda

参考文章中的表1对三个分布式账本技术(DLT,distributed ledger technologies)框架的总结十分完整,本文只总结要点。原文章最后的参考文献很有价值


三个DLT简介

以太坊(Ethereum):开源的有智能合约功能的公共区块链平台,数字货币是以太币(Ether),提供decentralized的Ethereum Virtual Machine(EVM)处理点对点的合约,由Vitalik Buterin提出,使用Solidity语言开发EVM描述智能合约,Proof Of Stake,底层操作需要Gas,gas用完后会回滚操作,避免停机问题,gas价格高会优先打包你的交易

Hyperledger Fabric:由 Linux 基金会发起创建的开源区块链分布式账本,可用于全球供应链管理、金融交易、资产账和去中心化的社交网络等场景,但无意以此来构建一种加密货币,每个交易都会产生一组资产键值对,可重用公司自带的身份管理功能,HSM(硬件安全模块)支持对保护和管理数字密钥,数据格式是json,数据库CouchDB支持富格式和富数据查询

Corda:由分布式账本创业公司R3开发,本地数据库受到多交易主体之间的业务关系约束,图谱(Graph)把需要自带的证据组织成有向无环图(DAG)结构,交易对手方或流程下游的主体可沿着图谱的走向一一验证,Notary节点是一群节点的总称,是交易各方共同指定并明确认可的,拥有私钥,法律文本加入到智能合约中,

白硕:关于R3 Corda的10个自问自答


对等端的参与

有授权(预先选定参与者)与无授权(任何人可以参与)两种操作模式,多个实体拥有底层数据库的副本,任意一个副本的更改需要传播到其他节点上达成consensus(共识)。


共识(Consensus)

以太坊:所有参与者对全部已发生交易顺序达成共识,不论是否参与交易:防止double-spends问题

共识机制的建立基于POW(Proof Of Work)方案的挖矿,所有参与者必须认同一个共同的账本,可以访问账本中的所有条目

出现隐私问题

Fabric和Corda的共识设计更精细,可以记录提供更细粒度的访问控制,只有参与交易的各方达成共识即可


Fabric:节点在达成共识的过程中承担的角色不同,Client节点,Peer节点和Orderer节点。Client代表最终用户,创建并调用交易,与peer和orderer沟通;peer维护账本,并接收orderer订购的更新消息,以向账本提供新的交易;endorser是特殊的peer节点,任务是通过检查自身是否满足一些必要的和充分的条件(例如提供所需的签名),对交易提供背书;order节点确保所有已连接的peer按照相同的逻辑顺序传递相同的消息

引入一致性算法使账本的复制过程容错,”可插入式“的算法

对交易的访问仅限于相关方,在交易层面达成共识即可,endorser节点就交易达成一致,client收集endorser的批准发送给已连接的orderer,orderer们达成共识,最后提交给peer完成交易

对共识有细粒度的控制,保证了扩展性和隐私


Corda:共识在交易层面达成,仅涉及交易各方,交易取决于共识是满足交易合法性(validity),还是交易唯一性(uniqueness);Validity运行与交易相关的智能合约检查签名并确保引用的交易有效;uniqueness涉及交易的输入状态,确保不存在消耗状态的其他交易,为了避免double-spends,在notary节点中达成的

也是”可插入式“的算法,BFT算法


智能合约(Smart Contract)

两种常用方式:智能合约代码(smart contract code)和智能法律合约(smart legal contracts)

code是一种软件,承担了分布式账本的任务和责任,履行某些义务、行使某些权利,并以自动的方式控制分布式账本中的资产,在fabric中使用同义词”chaincode“;Corda的智能合约中包括code和legal prose,赋予code以合法性


内建代币

以太坊有自己的以太币,Fabric和Corda不需要内建加密货币,Fabric支持本地货币或带有区块链代码的数字代币,Corda不建议创建代币


总结

以太坊是一个通用型的DLT平台

Fabric采用有授权的操作模式,模块化体系结构可以进行定制应用

Corda专门为金融服务行业设计,增加了法律条文是考虑到了高度管制的环境


你可能感兴趣的:(Study)