前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Fabric概览

Fabric概览

作者头像
路之遥
发布2022-09-26 17:01:09
4250
发布2022-09-26 17:01:09
举报
文章被收录于专栏:luzhiyaoluzhiyao

模块介绍

模块概览
  1. Assets: 实现了具有货币属性的物品进行交换的功能,例如:视频、古董、期权等。。。
  2. ChainCode: 提供了智能合约功能,将它的执行从交易排序中分割出去,从而限制跨节点时所需要的信任和验证级别,并优化网络的拓展性和性能
  3. Ledger(分布式账本): 不可变的、共享的账本,存储每个channel中完整交易的历史,并提供了类似sql的查询方式
  4. Privacy: Channels和隐私数据集提供了隐私和多边秘密交易的功能,用来满足日常生活中竞争性的企业和行业的需求
  5. Security&Membership Service(安全和成员服务): 基于授权许可模型,通过被许可的成员来提供可信的区块链环境,所有的交易都会被授权的监管、审查机构进行检测和跟踪。
  6. Consensus: 提供了灵活和可拓展的共识组件,来满足日常商业的需求
模块详细介绍

Assets

资产既包括有型的资产、也包含无形的资产,Hyperledger使用chainCode去修改用户的资产。

在内部实现中,资产表现为一系列key-value的键值对集合,状态变更记录为Channel账本中的交易(即:通过交易来修改用户的资产)。可以编码为任意的二进制或Json格式.

ChainCode

ChainCode是定义资产、修改资产指令的软件代码;ChainCode是用于读取、修改键值对或其它数据库状态时强制执行的规则。

Ledger

在Fabric中,账本是顺序的、不可变的状态转换记录,状态转换是ChainCode的执行结果,由参与方提交给网络中所有对等节点,交易会导致一系列的资产键值对被更新、修改或删除,然后这些状态变动被提交至账本。

每个channel一个账本,每个节点都为它所属的channel维护一个账本拷贝。

账本提供了下面的一些功能:

  • 一系列的查询功能
  • channel的账本包含了区块策略、 访问控制列表、以及其他的配置的信息
  • 包含Membership Service Provider实例,允许不同证书鉴权机构 派发的加密证书。

Privacy

Hyperledger在每个channel上采用了不可变的账本,chaincode用于维护、修改当前的资产状态。账本存在于channel中,可以被共享给整个网络,也可以仅被共享给特定的参与方,在随后的场景中,参与方可以创建一个独立的channel,从而在公开网络上隔离他们的交易和账本。为了解决这种在透明和隐私实现之间的差距,chaincode需要被安装在那些需要访问资产状态的节点上(即:如果chaincode未被安装在该节点上,则该节点无法正确与账本进行交互)

当在channel上组织的子集需要维护它们交易数据的隐私性时,使用隐私数据集来在私有数据库中分离它们的数据,在channel账本上进行逻辑分离,仅有被授权的子组织可以访问这些隐私数据

因此:在隐私的实现中,使用了两种概念:channel, privacy collection; channel在公网上维护交易隐私,collection在channel上的不同子组织间维护隐私。

同时在发送交易给排序服务或添加区块至账本时,chaincode中的值(部分/全部)可以使用通用的加密算法(AES)来加密,以便进一步混淆链上数据。账本上的加密数据,仅有含有对应密钥的用户才可以解密。

Security & Membership Services(安全和成员服务)

Hyperledger 支持网络中的所有参与方都有公开的身份标识(如:身份证、网站证书);基于此,可以在公共网络和channel级别上对对数据的访问控制进行维护和管理;Hyperledger使用身份许可和channel,来解决隐私和保密场景问题。

Consensus

在分布式账本技术中,Consensus逐渐演变为一种特定算法的同义词。但是,共识不仅简单是对交易的排序,在Hyperledger中,通过其在整个交易流程中(提案、背书、排序、验证、提交)的基础作用,这种差别越加明显。简单来说,Hyperledger中的共识被定义为组成区块的交易集合的完整验证流程。

当交易顺序、区块的执行结果符合明确的检查标准时,节点之间达成共识。检查和余额发生在交易的生命周期中,且包含使用背书策略去指定特定成员必须对特定的交易类型进行背书,以及系统chaincode去保证这些策略被强制执行。在状态被提交之前,节点必须使用系统chaincode来确保有足够的背书,且这些背书派生自对应的实体。此外,在将包含交易的区块追加至账本时,将进行版本检查,来确保就当前账本的状态达成共识。最后的检查可以防止双花和其他可能破坏数据完整性的操作,而且可以允许在非静态数据上执行一些功能(不懂)

除了多节点背书、合法性、版本检查外,在交易流程的各个方向上,也会进行身份验证。同时在网络层实现数据访问控制功能(排序服务在channel中实现),当交易在不同组件中传输时,它的载荷数据会被重复签名、验证、认证。

总体来说,共识不仅仅是对一系列交易的排序,相反,排序是一项总体特征,它是交易从提案到提交整个过程中不断验证的副产品。

Reference

https://hyperledger-fabric.readthedocs.io/en/latest/fabric_model.html

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-12-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 模块介绍
    • 模块概览
      • 模块详细介绍
      • Reference
      相关产品与服务
      多因子身份认证
      多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档