Hyperledger Fabric 官方最新翻译---关键概念(三)(Hyperledger Fabric Model)

点此查看最新,fabric官方文档中文翻译目录

  本段概述了Fabric设计中的关键特性,实现了它全面的、可定制的企业级区块链解决方案的承诺。
- 资产 - 资产定义能够在网络上交换几乎所有具有货币价值的东西,从整个食品到古董车到货币期货。

  • 链码 - 链码的执行与交易的排序分开,限制了跨节点类型的所需信任级别和验证级别,优化了网络的可伸缩性和性能。

  • 账本功能 - 不可改变的共享账本为每个渠道编码整个交易历史,包括用于高效审计和纠纷解决的类似于SQL的查询功能。

  • 隐私 - channel和私有数据集合允许私有和机密的多边交易,它们常常被竞争性交易和通过共同网络交换资产的受监管行业所需要。
  • 安全和会员服务 - 受许可的会员关系提供了一个可信任的区块链网络,参与饿着知道所有的交易可以被认证过的监管机构和审计师跟踪
  • 共识 - 一种达成共识的独特方式保证了企业所需要的灵活性和可伸缩性

资产

  资产可以从有形(不动产和硬件)到无形(合同和知识产权)。Fabric提供了使用链码交易来修改资产的能力。
  Fabric中资产是以键值对集合的方式表示,状态的改变记录是是在一个channel账本上以交易的形式。资产能以二级制或/和Json的方式进行表示。
  你可以使用Hyperlesger Composer工具,简单的定义和使用Fabric应用程序中的资产。
  

链码

  链码是一个定义资产以及修改资产交易指令的软件,换句话说,它是商业逻辑。链码强制执行了读取、修改键值对或者其它状态数据库信息的规则。链码函数针对账本的当前状态执行,同时通过一个交易背书启动。链码执行产生一组键值写入(写集),可以被提交到网络同时被应用到账本的所有peer节点。
  

账本功能

  账本是一个顺序的,防篡改fabric所有状态转换记录。状态转换是参与者提交链码调用(交易)的结果。每一个交易产生一个资产键值对集合,作为创建、修改、删除被提交到账本中。
  账本由一个块链(‘链’)组成,用来存储块中不可变的顺序记录,以及维护当前fabric状态的一个状态数据库。一个peer channel一个账本。每一个channel中的成员peer节点维护者这个channel的账本副本。
  
fabric账本的一些功能

  • 使用基于键的查找、范围查询和组合键查询来查询和更新账本。   使用富查询语言进行只读查询(如果使用CouchDB作为状态数据库)。
  • 只读历史查询-为一个key查询账本历史记录,来完成数据来源场景。
  • 交易是由链码对多个版本的键值对的读取(读集)和链码对多个版本键值对的写入(写集)组成。
  • 交易包干了每个背书peer节点的签名,然后被提交给了ordering服务。
  • 交易被排序放入块中,然后被ordering服务‘交付’给了同一个渠道上的peer节点。
  • peer节点通过背书策略验证交易同时执行相关策略。
  • 在附加到块以前,会进行一个版本检查来确认读取的资产状态,在链码的执行时间内没有被改变。   
  • 一个交易被验证和提交后,那它就具备不变性。
  • 一个channel账本包含了定义策略、访问控制列表和其他应用信息的配置块。
  • channel包含了会员服务提供商实例,用来允许密码材料被不同的认证机构之间传递。

      查看Ledger主题,深入了解更多关于数据库、存储结构以及‘查询能力’的深入了解。
      

隐私

  Fabric基于一个channel的基础上维护一个不可改变的账本和能够维护和修改当前资产状态的链码。一个账本的存在范围是一个channel-它能被整个网络间共享(假设每一个参与者都在一个公共channel上操作)-或者他只能被一组特定的参与者私有化。
  后一种场景中,这些参与者将会创建一个隔离的channel,籍此来隔离和分开他们的交易和账本。为了解决缩小全透明和隐私之间差距的场景,链码只能被安装在需要访问资产状态以执行读取和写入的peer节点上。(换句话说,如果一个链码没有被安装在一个peer节点上,它将无法正确的与账本连接)。
  当某个渠道上的一部分组织需要保留他们交易的数据机密性,这些数据会被一个私有数据库中的私有数据集合分离,从channel账本中物理分离,只有被认证过的那一部分组织才可以访问。
  因此,channel保证交易在广域网上私有,而collection保证私有数据在一个channel间的某些组织之间私有。
  为了进一步混淆数据,链码相关的值(部分或者全部),在被交易发送ordering 服务前以及加入到账本块之前可以使用常用的密码算法(例如AES)加密。一旦加密数据被写入到了账本中,它就只能被拥有创建该密文的秘钥的用户解密。更多关于链码加密的细节,可以查看“chaincode of Devlopers”章节。
  

安全性和会员服务

  Fabric基于一个所有的参与者都已知身份的交易网络。公钥基础结构用于生成与组织,网络组件,最终用户或客户端应用程序绑定的加密证书。结果,数据访问控制可以在广域网和channel的级别被操纵和管理。这是fabic的‘许可’概念,再加上渠道的存在和功能,帮助解决隐私和机密性是首要问题的情况。
  查看“会员服务提供者(MSP)”章节更好的理解加密实现,以及fabirc中使用到的签名、验证、认证机制。
  

共识

  在分布式账本技术中,就单一功能来说,共识已经成为一个专用算法的同义词。但是,共识不仅仅是围绕交易顺序的一致认可,fabirc通过它的整个交易流的基本角色突出了这个差异性,从提议和背书,到排序、验证和提交。简而言之,共识被定义为一个区块中一系列交易的全周期验证。
  当区块的交易的执行顺序和结果遇到了明确的策略标准检查,共识是最终一致性的。这些制衡是在交易的全生命周期中发生的,包括使用背书策略来指明哪一个特殊的成熟必须背书某个交易类别,同时系统链码保证这些策略被执行和维护。在提交之前,peer使用系统链码确保有足够的背书存在,同时他们都来源于适当的实体。此外,在任何包含交易的区块被加到账本之前,都要进行版本检查,在此期间账本的状态都是agreed或者是consented upon。最后一个检查提供了,防止双重花费操作和其他可能危机数据完整性的保护,同时允许对非静态变量执行函数。
  除了大量的背书、有效性和版本检查发生之外,同时在交易流程中也全方位的进行着身份认证。访问控制列表在网络中分层实现(从ordering 服务到channel),同时当一个交易背书在不同的架构组件中传播时,负载信息被重复签名、验证和认证。总而言之,共识并不仅限于一批交易顺序的一致,相反,它是一个总体特征,当交易从背书到提交过程中正在进行的认证的副产品。
  查看交易流程图获得共识的直观展示。
  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值