181°

Hyperledger Fabric 实战(十一):多层 chaincode 架构设计

多层 chaincode 架构设计

联盟链的多层 chaincode 架构设计提高合约的逻辑和扩展 , 并注重私有数据的隐私性

第一层 : 公共合约 (public chaincode), 即每个组织共同合约

  • 安装在所有现有节点和未来新增节点
  • 仅存储最小交易审计数据,如资产流向记录
  • 节点组织背书 : 保证合约版本一致
  • 合约代码以及逻辑本身开源或联盟内开源,更新维护频率最低,本质上类似于ETH的智能合约

第二层 : 交易合约 (deal chaincode) , 即交易内容存在竞争关系的合约

  • 只安装在交易的双方所拥有的节点
  • 合约代码由交易双方协同维护,更新维护频率中等
  • 合约内,跨合约调用公共合约,公开资产流向记录
  • 需要交易双方同时背书,允许加入其他审计方
  • 在审计方节点安装,并新增 审计机构作为背书者,需要使用私有数据库来存储隐私数据,否则一般账本数据会暴露给没有安装合约的其他节点层

第三层 : 私有合约 (private chaincode), 原则上并不是合约,用于特殊用途

  • 用于组织内部部门之间
  • 测试用合约,将来有提升成交易合约的可能
  • 合并应用层对账本的读写操作,共用上下文,更新频率最高,仅由一个组织维护,因此组织可以完全掌控其开发生命周期

本文由【Jonluo】发布于开源中国,原文链接:https://my.oschina.net/jonluo/blog/3002574

全部评论: 0

    我有话说: