Hyperledger Fabric 调研

  1. Hyperledger Fabric目前的数据量是多少,增长规模如何
    1. 以版权家为例 https://www.bqj.cn/index.html#/ 截止2019年11月13日,智能合约数12,交易数17,351,313,区块链节点数24,区块数67,366,680 http://cbca.net/ (Hyperledger Fabric 联盟链)
    2. 迅雷链 https://blockchain.xunlei.com/explorer/#/ 截止2019年11月13日,交易总数3,810,158,账号总数711,合约总数48 (迅雷联盟链)
    3. 京东区块链防伪追溯平台 https://blockchain.jd.com/AboutUs 截止2019年11月13日 接洽品牌商700+,溯源接入SKU 5万+,追溯码数据13亿+,溯源访问量280万+ (京东联盟链)
    4. 百度图腾 https://c-chain.baidu.com/eco/index?f=bdback#/ 截止2019年11月13日 存在数13284411,维权检测数2173628疑似侵权数310492,维权成功数15289 (百度联盟链)
    5. 国内的联盟链都是基于Hyperledger Fabric的修改版,但是都只提供交易数,不提供数据量的多少,进行公示
  2. 数据存储结构,可以实现关系查询吗
    1. 《深度探索区块链:Hyperledger 技术与应用》张增骏 机械工业出版社 218-01-11

 

      1. 每个Peer节点会维护多个账本,账本中包含以下元素
        1. 账本编号:快速查询存在哪些账本
        2. 账本数据:实际的区块数据存储
        3. 区块索引:快速查询区块/交易
        4. 状态数据:最新的世界状态数据,就是key的最新值,以实现快速查询
        5. 历史数据:跟踪键的历史,提供历史信息查询
      2. 每个Peer节点都会维护4个DB
        1. idStore:存储chainID
        2. stareDB:存储world state
        3. versioned DB:存储key的版本变化
        4. blockdb,存储block
      3. 总的来说就是建立不同类型的kv性数据库,来实现数据存储、检索和提供相关功能。
      4. 由于底层使用的kv型数据库LevelDB/CouchDB,所以不支持关系查询。
  • 节点类型有哪几种,可以将你提出的ESPV用在上面吗
  •  

 

    1. 来源《深度探索区块链:Hyperledger 技术与应用》张增骏 机械工业出版社 218-01-11
      1. 客户端节点:客户端或者应用程序代表由最终用户操作的实体,它必须连接到某一个Peer节点或者排序服务节点上与区块链网络进行通信。客户端向背书节点(Endorser)提交交易提案(Transaction Proposal),当收集到足够背书后,向排序服务广播交易,进行排序,生成区块。
      2. Peer节点:所有的Peer节点都是记账节点(Committer),负责验证排序服务节点区块里的交易,维护状态数据库和账本的副本。部分节点会执行交易并对结果进行签名背书,充当背书节点的角色。背书节点是动态的角色,是与具体链码绑定的。每个链码在实例化的时候都会设置背书策略,指定哪些节点对交易背书后才是有效的。也只有在应用程序向它发起交易背书请求的时候才是背书节点,其他时候就是普通的记账节点,只负责验证交易并记账。如图所示Peer节点中还有一种角色是主节点(Leader Peer),代表的是和排序服务节点通信的节点,负责从排序服务节点处获取最新的区块并在组织内部同步。可以强制设置为主节点,也可以动态选举产生。从图中还可以看出,有的节点同时是背书节点和记账节点,也可以同时是背书节点,主节点和记账节点,也可以只是记账节点
      3. 排序服务节点:排序服务节点(Ordering Service Node 或者Orderer)接收包含背书签名的交易,对未打包的交易进行排序生成区块,广播给Peer节点。排序服务提供的是原子广播(Atomic Broadcast),保证同一个链上的节点接收到相同的消息,并且有相同的逻辑顺序。排序服务的多通道(MutiChannel)实现了多链的数据隔离,保证只有一个链的Peer节点才能访问链上的数据,包含用户数据隐私。排序服务可以采用集中式服务,也可以采用分布式协议。可以实现不同级别的容错处理,目前正式发布的版本支持Apache Kafka集群,提供交易排序的功能,只实现CFT(Crash Fault Tolerance,崩溃故障容错),不支持BFT(Byzantine Fault Tolerance,拜占庭容错)
      4. CA节点:CA节点是Hyperledger Fabric 1.0的证书颁发机构(Certificate Authority),由服务器和客户端组件组成。CA节点接收客户端的注册申请,返回注册密码用于用户登录,以便获取身份证书。在区块链网络上所有的操作都会验证用户的身份。CA节点是可选的,可以用其他成熟的第三方CA颁发证书。
    2. 不可以,他没有币的概念,也不是使用的UTXO模型,底层使用kv型数据库,保存每个key值对应的信息。只是交易数据存储。通过KV型数据库来管理数据,建立不同的数据库,以提供不同的功能(数据冗余)。
  • 性能瓶颈在哪
    1. 吞吐量(区块链之间的一致性协议,需要耗时,与传统数据库相比吞吐量小)
    2. 存储可扩展性(链式结构)
    3. 数据冗余(不同功能靠使用相同数据,建立不同数据库来提供服务,数据冗余)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sbfmjscs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值