hyperledger fabric 1.2的一点特性

还有没有比特币?你也太OUT了
注册OKEx交易所 快速购买比特币  

作者:华科鸡蛋灌饼 
来源:CSDN 
原文:https://blog.csdn.net/u012412689/article/details/81083065?utm_source=copy 
版权声明:本文为博主原创文章,转载请附上博文链接!


一、private data

1.1 概念
    隐私数据保存在side DB中,Orderer service是看不见private data的
    背书、排序、审计、写入peer中,都是用的hash值
    当需要把private data分享给第三方时,验证hash值,证明数据是在某一个时间点的
1.2 数据流
    发送invoke给背书节点(authorized),private data放在transient field中
    背书节点模拟交易,并且存储再transient data store中(临时本地存储),通过goosip协议,根据collection policy传播
    背书节点返回public data给客户端,包括private key 的hash
    Orderer排序,分割区块
    Peer验证,各个peer用同一种方法验证hash值。
    Commit期间,检查自己时候有权限拿到private data,如果有,再检查transient data store,如果没有的话就从其他peer那里pull,对比hash值,然后移出transient store
1.3 使用
    在初始化链码的时候定义私有数据集合,结合private相关的函数使用
1.4 使用场景
    当完整的交易需要信任的话,还是推荐用channel
    当需要屏蔽orderer或者某些组织内节点时(存疑),使用collection

二、Service Discovery
    Sdk不需要维护静态信息,这个服务可以提供peer的动态信息,分为layouts和group to peer mapping,sdk可以根据策略选择peer进行背书。
提供功能:配置查询(MSPConfig)、peer成员信息查询、背书节点查询、本地peer成员信息查询。

三、Access Control Lists (ACL)
进一步提供了细粒度的访问控制列表,分为Signature和ImplicitMeta两种策略,具体见configtx.yaml。

四、CouchDB使用
4.1 流程
    在Hyperledger Fabric中启用CouchDB
    创建索引,索引会在出块的时候更新
    将索引添加到您的chaincode文件夹,通过node sdk可以指定位置,peer命令必须在特定位置
    安装并实例化Chaincode
    查询CouchDB状态数据库
    更新索引
    删除索引

注:深蓝在1.0上尝试直接用rest api访问couchdb,修改之后fabric未察觉到。
4.2 couchDB介绍
    couchDB的底层是一个B-tree的存储结构,为提高效率,所有的数据的插入或更新都是直接在树的叶子节点添加,不删除旧节点,通过版本号来 确定最新的数据--版本号还能用来解决并发写的冲突。所以数据文件会越来越大,可以在适当地时间运行compact过程或replication过程,会 删除旧文件,使得数据文件得到压缩。

五、动态加入组织
    生成相关证书
    获取配置、提交配置更新
    将组织加入channel
    升级相关链码

六、可插拔的背书和验证
    需要不同的交易背书,如UTXO等
    可以替换系统合约,如ESCC和VSCC
    ESCC和VSCC独立出来,提供了签名(验证策略)和state相关的依赖项,可以自己实现接口,编译成so文件引用
    插件一致性需要节点管理员保证,日后会做插件一致性的验证
    如果返回ExecutionFailureError ,则链暂停防止分歧,其他错误都会被标记为invalid
    导入插件的话推荐protobuf,其他的可能出问题

七、PeerLedger检查点
新增检查点,可以抛弃检查点之前的peerLedger,只留存vLedger(可指定策略)

八、Gossip领导人选举
静态:直接再core.yaml里面指定
动态:领导者发送心跳给其他节点,作为存活的证据,如果peer一段时间内没有收到这个信息,则开始重新选举,可以有多个领导者,但是网络稳定之后有一个领导者会放弃。
 
#参考文献

> http://hyperledger-fabric.readthedocs.io/en/release-1.2/

> https://github.com/hyperledger/fabric-samples
--------------------- 

章发布只为分享区块链技术内容,版权归原作者所有,观点仅代表作者本人,绝不代表区块链兄弟赞同其观点或证实其描述。

本文由 区块链技术网 作者:区块链 发表,其版权均为 区块链技术网 所有,文章内容系作者个人观点,不代表 区块链技术网 对观点赞同或支持。如需转载,请注明文章来源。

还有没有比特币?你也太OUT了
注册OKEx交易所 快速购买比特币  

发表评论