术语表

术语很重要,以便所有Hyperledger Fabric用户和开发人员都同意每个特定术语的含义,例如,什么是智能合约。文档将根据需要引用术语表,但如果你愿意,可以随意阅读整个内容;这很有启发性!

锚点

由八卦使用以确保不同组织中的对等点彼此了解。

当提交包含对锚点更新的配置块时,对等点会联系到锚点并从中了解锚点已知的所有对等点。一旦来自每个组织的至少一个对等点已经联系了锚点,锚点就会了解通道中的每个对等点。由于八卦通讯是连续的,并且因为对等点总是要求被告知他们不知道的任何对等点的存在,可以为通道建立共同的成员资格观点。

例如,假设我们在通道中有三个组织 — A、B、C和一个单独的为组织C定义的锚点 - peer0.orgC,当peer1.orgA(来自组织A)联系peer0.orgC时,它会告诉它关于peer0.orgA,而且,稍后peer1.orgB联系peer0.orgC,后者会告诉前者关于peer0.orgA。从那时起,组织A和B将开始直接交换成员资格信息,而无需peer0.orgC的任何帮助。

由于跨组织的通信依赖于八卦以便工作,因此必须在通道配置中定义至少一个锚点,强烈建议每个组织都提供自己的一组锚点,以实现高可用性和冗余。

ACL

ACL或访问控制列表,将对特定对等点资源(例如系统链码API或事件服务)的访问权限关联到策略(指定需要多少和什么类型的组织或角色类型)。ACL是通道配置的一部分,因此它存在于通道的配置块中,并可使用标准配置更新机制进行更新。

ACL被格式化为键值对列表,其中键标识我们希望控制其访问权限的资源,并且该值标识允许访问它的通道策略(组)。例如,lscc/GetDeploymentSpec: /Channel/Application/Readers定义对生命周期链码GetDeploymentSpec API(资源)的访问可由满足/Channel/Application/Readers策略的身份访问。

configtx.yaml文件中提供了一组默认ACL,configtxgen使用该文件来构建通道配置。可以在configtx.yaml的顶级“Application”部分中设置默认值,也可以在“Profiles”部分中按每个配置文件覆盖默认值。

区块

区块包含一组有序的交易,它以加密方式链接到前一个区块,然后链接到后续区块,这种区块链中的第一个区块称为创世区块,区块由排序系统创建,并由对等点验证。

区块B1链接到区块B0,区块B2链接到区块B1。

分类帐的链是一个交易日志,结构为哈希链接的交易区块,对等点从排序服务接收交易区块,根据认可策略和并发冲突将区块的交易标记为有效或无效,并将区块附加到对等点的文件系统上的哈希链。

区块链B包含区块0,1,2。

链码

请参阅智能合约。

通道

通道是私有区块链覆盖,允许数据隔离和机密性,一个特定于通道的分类帐在通道中的对等点之间共享,并且交易方必须正确地认证到通道,以便与其进行交互,通道由配置区块定义。

通道C连接应用程序A1,对等点P2和排序服务O1。

提交

通道上的每个对等点验证有序的交易区块,然后将区块提交(写入/附加)到其通道分类账的副本,对等点还将每个区块中的每个交易标记为有效或无效。

并发控制版本检查

并发控制版本检查是一种跨通道上的对等点保持状态同步的方法。对等点并行执行交易,在提交到分类账之前,对等点检查执行时读取的数据未更改,如果为交易读取的数据在执行时间和提交时间之间发生了变化,然后发生了并发控制版本检查违规,并且交易在分类帐上标记为无效,并且状态数据库中的值不会更新。

配置区块

包含定义系统链(排序服务)或通道的成员和策略的配置数据,对通道或整个网络的任何配置修改(例如,离开或加入的成员)将导致将新配置区块附加到适当的链,该区块将包含创世块的内容加上delta。

共识

整个交易流的更广泛的术语,用于生成顺序协议并确认构成区块的交易集合的正确性。

联盟

联盟是区块链网络上的非定序组织的集合,这些是组建和加入通道以及拥有对等点的组织,虽然区块链网络可以有多个联盟,大多数区块链网络只有一个联盟。在通道创建时,添加到通道的所有组织必须是联盟的一部分,但是,未在联盟中定义的组织可能会添加到现有通道。

当前状态

请参阅世界状态

动态成员资格

Hyperledger Fabric支持添加/删除成员、对等点和排序服务节点,而不会影响整个网络的可操作性,当业务关系调整并且出于各种原因需要添加/删除实体时,动态成员资格至关重要。

认可

认可策略

Hyperledger Fabric CA

创世区块

八卦协议

初始化

安装

实例化

调用

领导对等点

分类账

成员

请参阅组织。

成员资格服务提供商

成员资格服务

排序服务

一个已定义的将交易排序到一个块中的节点集合,排序服务独立于对等点进程,并以先到先服务的方式为网络上的所有通道排序交易,排序服务旨在支持超越开箱即用的SOLO和Kafka变种的可插拔实现,排序服务是整个网络的通用绑定;它包含与每个成员关联的加密身份资料。

组织

对等点

维护分类帐并运行链码容器以便对分类帐执行读/写操作的网络实体,对等点由成员拥有和维护。

一个对等点,‘P’。

策略

策略是由数字身份的属性组成的表达式,例如:Org1.Peer OR Org2.Peer。它们用于限制对区块链网络上的资源的访问,例如,他们决定谁可以读取或写入到通道,或谁可以通过ACL使用特定的链码API,在引导排序服务或创建通道之前,可以在configtx.yaml中定义策略,或者可以在通道上实例化链码时指定它们,示例configtx.yaml中提供了一组默认策略,适用于大多数网络。

私有数据

私有数据集合(集合)

提案

针对通道上特定对等点的认可请求,每个提案都是实例化或调用(读/写)请求。

查询

软件开发工具包(SDK)

智能合约

智能合约就是代码 - 由区块链网络外部的客户端应用程序调用 - 管理对世界状态中一组键值对的访问和修改。在Hyperledger Fabric中,智能合约被称为链码,智能合约链码安装在对等节点上并实例化为一个或多个通道。

状态数据库

当前状态数据存储在状态数据库中,用于从链码进行有效的读取和查询,支持的数据库包括levelDB和couchDB。

系统链

交易

调用或实例化提交给排序、验证和提交的结果。调用是从分类帐读取/写入数据的请求,实例化是一个启动和初始化通道链码的请求。应用程序客户端收集来自认可的对等点的调用或实例化响应,并将结果和认可打包到提交给排序、验证和提交的交易中。

一个交易,'T'。

世界状态

也被称为“当前状态”,世界状态是HyperLedger Fabric分类账的一个组件,世界状态表示链交易日志中包含的所有键的最新值,链码针对世界状态数据执行交易提案,因为世界状态提供对这些键的最新值的直接访问,而不是通过遍历整个交易日志来计算它们。每当键的值发生变化时(例如,当汽车的所有权 - “键” - 从一个所有者转移到另一个所有者 - “值”)或添加新键时,世界状态就会改变(一辆车被创造出来)。因此,世界状态对交易流至关重要,因为必须知道键值对的当前状态才能改变它,对等点将处理块中包含的每个有效交易的最新值提交到分类帐世界状态。

世界状态,'W'。

Hyperledger Fabric(术语表)相关推荐

  1. Hyperledger Fabric 词汇表

    Anchor Peer 在channel中每一个组织都有一个AnchorPeer,用于在不同的组织之间通过Gossip协议进行数据分发和同步. Block(块) 与channel上的前一个块加密链接的 ...

  2. 以太坊、Hyperledger Fabric和Corda,哪个更好?

    原创: Philipp Sandner 区块链前哨 昨天 编译|盖磊编辑|前哨小兵甲区块链前哨导语: 我们分析了 Hyperledger Fabric,R3 Corda 和以太坊这三种分布式账本技术间 ...

  3. 以太坊和Hyperledger Fabric之间的差异

    在这篇文章中,我们将介绍区块链中两个主要平台之间的差异:以太坊和Hyperledger.如果你正在考虑在项目中使用哪一个.这个博客的亮点是希望帮助你做出决定.但在我们详细说明之前,我们先来看一些定义. ...

  4. Hyperledger Fabric 2.0 官方文档中文版 第6章 教程(下)

    Hyperledger Fabric 2.0 官方文档中文版 第6章 教程下 总目录 6.教程(下) 使用CouchDB 为什么使用CouchDB? 在Hyperledger Fabric中启用Cou ...

  5. Hyperledger Fabric 2.0 官方文档中文版 第3章 关键概念

    Hyperledger Fabric 2.0 官方文档中文版 第3章 关键概念 总目录 3.关键概念 引言 什么是区块链? 区块链为什么有用? 什么是Hyperledger Fabric? Hyper ...

  6. (转)HyperLedger Fabric协议规范

    HyperLedger Fabric协议规范 协议规范 前言 这份文档是带有权限的区块链的工业界实现的协议规范.它不会详细的解释实现细节,而是描述系统和应用之间的接口和关系. 目标读者 这份规范的目标 ...

  7. 区块链相关论文研读3- 关于超级账本Hyperledger Fabric的性能优化

    这是2019年6月发表在顶会Sigmod上面的论文,论文题目为<Blurring the Lines between Blockchains and Database Systems: the ...

  8. Hyperledger Fabric 1.4 搭建区块链浏览器

    Hyperledger Fabric 1.4 搭建区块链浏览器 原创iCyberpunk 最后发布于2020-01-09 12:11:01 阅读数 233  收藏 展开 1. 准备工作 安装nodej ...

  9. Hyperledger Fabric 超级账本 Java 开发区块链环境构建

    面向 Java 开发人员的链代码简介 您听说过区块链超级账本Hyperledger Fabric?对Java开发人员有何用.我将分步展示用 Hyperledger Fabric v0.6来搭建开发环境 ...

最新文章

  1. React-Native中的flexbox布局的使用
  2. JMP跳转指令的指令长度、直接转移与间接转移、段内跳转与段间跳转
  3. Pycharm:debug调试时使用参数
  4. 深入分析事务的隔离级别
  5. 光纤收发器的分类介绍
  6. 在winform上内嵌入其它的程序
  7. idea 中maven依赖报错3部曲
  8. Atlas 配置高可用
  9. Leetcode 437.路径总和III
  10. Android跨进程通信--AIDL原理解析
  11. 电厂运维的cis数据_浅析电力企业信息系统运维综合监管平台设计-
  12. Ubuntu 下安装Skype聊天工具
  13. 为什么 React17-rc.2 要发布新的 jsx 转换逻辑
  14. Python_配置清华镜像源的方法
  15. 智能测试实践之路-UI 缺陷检测
  16. Spring系列学习之Spring Data Elasticsearch数据访问
  17. JavaScript Errors 指南
  18. QT以文本流形式读写文件操作
  19. 物联网平台-工业4.0应用程序的边缘处理
  20. 花开再会,BIGBANG十周年回顾大展北京站于12月7日开幕

热门文章

  1. python笔记基础
  2. 电脑服务器高配置和高性能,为高性能工作站服务 超算系统配置推荐
  3. tf.expand_dims() 的用法
  4. Jupyter Notebook 使用流程
  5. LeetCode 72. Edit Distance--动态规划--Levenshtein Distance Algorithm--Java,Python解法
  6. linux上安装mysql5.5_【Python】Linux安装Mysql5.5
  7. shell常用的基础命令
  8. python if语句能否判断中文,Python之判断语句(if语句)
  9. c语言实现椭圆曲线算法,椭圆曲线加密算法的C语言设计和实现
  10. 使用seafile搭建自己的百度云