文章目录
- 介绍
- Hyperledger Fabric
- 模块化
- 联盟链vs公有链
- 智能合约
- 新的方案
- 隐私与机密
- 可插拔共识
- 性能与扩展性
- 参考
本系列目录:超级账本源码(V1.3)解析目录介绍 区块链是由分布式网络节点维护的一个不可修改的交易账本,每个节点都维护一个副本,账本中的交易都由共识算法验证后打包成区块的形式,每个区块中包含前一个区块的哈希值,形成链状。
中文 | 英文 |
---|---|
公有链 | public blockchain;permissionless blockchain |
联盟链 | consortium blockchain ; permissioned blockchain |
但是公链对于企业来说,有很多不足,企业可能有如下的需求:
- 参与者必须可认证/识别
- 区块链网络需要准入权限
- 高吞吐量
- 低延迟
- 某些交易需要保证隐私性与机密性
Hyperledger Fabric Fabric是准入型区块链(permissioned blockchain),节点之间拥有一定的信任。
Fabric拥有一个高度模块化、可配置的架构,支持通用语言编写智能合约。
Fabric最大的特点之一是支持可插拔式的共识算法,用户可以根据使用场景配置不同的共识算法(CFT/BFT)。
Fabric不需要加密货币的支持,降低了被攻击的风险,不需要挖矿,降低了能源消耗。
Fabric支持交易的隐私与机密性。
模块化
- 可插拔的排序服务(ordering service)对交易顺序建立共识,然后广播区块给其他节点。
- 可插拔的成员服务(membership service)为区块链网络中的实体提供密码学身份(证书)。
- 可选的gossip协议用来分发区块。
- 隔离运行(Docker)的智能合约。
- 账本支持多种数据库。
- 背书策略和验证策略可以为每个应用单独定制。
联盟链vs公有链 公有链没有准入机制,任何人都可以加入网络,网络成员之间不存在任何信任。比特币和以太坊都使用了PoW来建立共识,需要加密货币/交易费用的激励。
联盟链的成员之间存在一定程度的信任,可以使用传统的CFT、BFT共识算法支持更高的吞吐量。同时更加容易追踪到恶意节点。
智能合约 在Fabric中,智能合约(smart contrat)被称为链码(chaincode),是区块链应用程序的商业逻辑代码。
已有的支持智能合约的平台(Ethereum, Tendermint, Chain, and Quorum.),遵循一种排序–>执行的模式来运行智能合约。即先验证交易并对交易进行排序,然后分发给所有的节点,节点顺序执行这些交易。
这种模式存在的两个问题:
- 所有的智能合约必须保证是确定的(deterministic),否则无法达成共识,为了消除不确定性,需要使用特定的编程语言(比如Solidity)。
- 节点顺序执行交易,系统无法扩展。
- 执行:执行一个交易,检查正确定性,为其背书
- 通过共识算法对交易就行排序
- 提交交易到账本之前对其进行验证(背书策略、交易冲突)
隐私与机密 在公有链中,合约与交易都公开存储在区块链上,毫无机密与隐私可言,对于企业来说很多场景下无法接受。
可能存在的解决方案:
- 加密交易后再存储到区块链上。(但是由于每个人都可以或许到账本,解密也只是时间问题,安全性要求较高的场景可能希望即使密文也不被泄露)
- 零知识证明。(需要大量的时间和算力)
为了 提高隐私和机密性,Fabric还提出了隐私数据(private data)。
可插拔共识 0.6版本支持PBFT,后来去掉了,目前支持Kafka、raft,BFT在路上…
性能与扩展性 IBM做了测试:https://arxiv.org/abs/1801.10228v1
参考
【超级账本|超级账本(介绍)】原文链接: https://hyperledger-fabric.readthedocs.io/en/release-1.3/whatis.html
推荐阅读
- 以太坊|EIP1155 erc1155 多代币标准介绍
- 数字货币|Mint NFT 在Opensea显示
- 可信数据驱动数字新经济发展
- 分布式账本技术的潜力
- 区块链十年与传统金融的变化
- 区块链科普系列(区块链是什么())
- 区块链发展应以密码应用创新为根基
- 主流区块链技术特点及Fabric V0.6&V1.0版本特点
- 七朋元视界未来生活社交模式的诠释