- Hyperledger Fabric目前的数据量是多少,增长规模如何
- 以版权家为例 https://www.bqj.cn/index.html#/ 截止2019年11月13日,智能合约数12,交易数17,351,313,区块链节点数24,区块数67,366,680 http://cbca.net/ (Hyperledger Fabric 联盟链)
- 迅雷链 https://blockchain.xunlei.com/explorer/#/ 截止2019年11月13日,交易总数3,810,158,账号总数711,合约总数48 (迅雷联盟链)
- 京东区块链防伪追溯平台 https://blockchain.jd.com/AboutUs 截止2019年11月13日 接洽品牌商700+,溯源接入SKU 5万+,追溯码数据13亿+,溯源访问量280万+ (京东联盟链)
- 百度图腾 https://c-chain.baidu.com/eco/index?f=bdback#/ 截止2019年11月13日 存在数13284411,维权检测数2173628疑似侵权数310492,维权成功数15289 (百度联盟链)
- 国内的联盟链都是基于Hyperledger Fabric的修改版,但是都只提供交易数,不提供数据量的多少,进行公示
-
- 数据存储结构,可以实现关系查询吗
- 《深度探索区块链:Hyperledger 技术与应用》张增骏 机械工业出版社 218-01-11
-
-
- 每个Peer节点会维护多个账本,账本中包含以下元素
- 账本编号:快速查询存在哪些账本
- 账本数据:实际的区块数据存储
- 区块索引:快速查询区块/交易
- 状态数据:最新的世界状态数据,就是key的最新值,以实现快速查询
- 历史数据:跟踪键的历史,提供历史信息查询
- 每个Peer节点都会维护4个DB
- idStore:存储chainID
- stareDB:存储world state
- versioned DB:存储key的版本变化
- blockdb,存储block
- 总的来说就是建立不同类型的kv性数据库,来实现数据存储、检索和提供相关功能。
- 由于底层使用的kv型数据库LevelDB/CouchDB,所以不支持关系查询。
- 每个Peer节点会维护多个账本,账本中包含以下元素
-
- 节点类型有哪几种,可以将你提出的ESPV用在上面吗
-
-
- 来源《深度探索区块链:Hyperledger 技术与应用》张增骏 机械工业出版社 218-01-11
- 客户端节点:客户端或者应用程序代表由最终用户操作的实体,它必须连接到某一个Peer节点或者排序服务节点上与区块链网络进行通信。客户端向背书节点(Endorser)提交交易提案(Transaction Proposal),当收集到足够背书后,向排序服务广播交易,进行排序,生成区块。
- Peer节点:所有的Peer节点都是记账节点(Committer),负责验证排序服务节点区块里的交易,维护状态数据库和账本的副本。部分节点会执行交易并对结果进行签名背书,充当背书节点的角色。背书节点是动态的角色,是与具体链码绑定的。每个链码在实例化的时候都会设置背书策略,指定哪些节点对交易背书后才是有效的。也只有在应用程序向它发起交易背书请求的时候才是背书节点,其他时候就是普通的记账节点,只负责验证交易并记账。如图所示Peer节点中还有一种角色是主节点(Leader Peer),代表的是和排序服务节点通信的节点,负责从排序服务节点处获取最新的区块并在组织内部同步。可以强制设置为主节点,也可以动态选举产生。从图中还可以看出,有的节点同时是背书节点和记账节点,也可以同时是背书节点,主节点和记账节点,也可以只是记账节点
- 排序服务节点:排序服务节点(Ordering Service Node 或者Orderer)接收包含背书签名的交易,对未打包的交易进行排序生成区块,广播给Peer节点。排序服务提供的是原子广播(Atomic Broadcast),保证同一个链上的节点接收到相同的消息,并且有相同的逻辑顺序。排序服务的多通道(MutiChannel)实现了多链的数据隔离,保证只有一个链的Peer节点才能访问链上的数据,包含用户数据隐私。排序服务可以采用集中式服务,也可以采用分布式协议。可以实现不同级别的容错处理,目前正式发布的版本支持Apache Kafka集群,提供交易排序的功能,只实现CFT(Crash Fault Tolerance,崩溃故障容错),不支持BFT(Byzantine Fault Tolerance,拜占庭容错)
- CA节点:CA节点是Hyperledger Fabric 1.0的证书颁发机构(Certificate Authority),由服务器和客户端组件组成。CA节点接收客户端的注册申请,返回注册密码用于用户登录,以便获取身份证书。在区块链网络上所有的操作都会验证用户的身份。CA节点是可选的,可以用其他成熟的第三方CA颁发证书。
- 不可以,他没有币的概念,也不是使用的UTXO模型,底层使用kv型数据库,保存每个key值对应的信息。只是交易数据存储。通过KV型数据库来管理数据,建立不同的数据库,以提供不同的功能(数据冗余)。
- 来源《深度探索区块链:Hyperledger 技术与应用》张增骏 机械工业出版社 218-01-11
- 性能瓶颈在哪
- 吞吐量(区块链之间的一致性协议,需要耗时,与传统数据库相比吞吐量小)
- 存储可扩展性(链式结构)
- 数据冗余(不同功能靠使用相同数据,建立不同数据库来提供服务,数据冗余)