產業觀察丨hyperledger fabric v1.0.0 七月十一日release

文章來源:熊貓区块链
The efforts around Hyperledger Fabric have grown into a true, vibrant community including engineers from: Arxan, Cloudsoft,  CLS, d20 Technical Services, DTCC, Digital Asset, Fujitsu, GE, Gemalto, HACERA, Hitachi, Huawei Technologies, Hyperchain, ImpactChoice,  IT People, Knoldus, The Linux Foundation, Netease, Passkit, State Street Bank, SecureKey, IBM, SAP, Thoughtworks and Wanda Group. There were also contributions from 35 unaffiliated individuals. In total, 159 developers have contributed to Hyperledger Fabric.

July 11,2017

hacera 标记了这个 38 minutes ago

------------------------发行说明-------------错误修复,文档和测试覆盖率改进,UX改进基于用户的反馈和更改来处理各种静态扫描发现(未使用的代码,静态安全扫描,拼写,更新等)。已知的漏洞---------------------没有已解决的漏洞------------------------https://jira.hyperledger.org/browse/FAB-5207已知问题和解决办法--------------------------用于构建链码的fabric-ccenv映像目前包括github.com/hyperledger/fabric/core/chaincode/shim(“shim”)包。这是方便的,因为它提供了打包链码的能力而不需要包括“垫片”。但是,这可能会导致未来的问题释放(和/或尝试使用“垫片”中包含的软件包时)。为避免任何问题,建议用户手动提供“垫片”在使用对等CLI进行打包和/或之前,使用它们的链码打包用于安装链码。请参阅https://jira.hyperledger.org/browse/FAB-5177了解更多详情,并且,请注意,鉴于上述情况,我们可能会最终改变fabric-ccenv将来。更改日志----------https://github.com/hyperledger/fabric/blob/master/CHANGELOG.md#v100-rc1

Fabric V1.0.0 术语集锦

Anchor Peer / 锚节点

所有其他peer可以发现并与之通信的channel上的一个peer。channel上的每个Member都有一个(或者对个,以防止单点故障)Anchor Peer,允许属于不同Member的peer发现channel上的现有其他peer。

Block / 区块

在一个channel上与前一个block加密连接的一组有序交易集。

Chain / 链

chain就是block之间以hash连接为结构的交易日志。peer从order service接收交易block,并根据背书策略和并发冲突标记block上的交易是否有效,然后将该block追加到peer文件系统中的hash chain上。

Chaincode / 链码

Chaincode是一个运行在ledger上的软件,对资产和交易指令(业务逻辑)编码来修改资产。

Channel / 通道

channel是在Fabric网络中的私有区块链区域,实现了数据的隔离和保密。channel特定的ledger在该channel上的所有peer之间共享,交易方必须有对该channel正确的认证才能与该ledger交互。channel由Configuration Block定义。

Commitment / 提交

一个channel中的每个peer都会验证交易的有序block,然后将block提交(写或追加)至该channel上ledger的各个副本。peer还会标记每个block中的每个交易是否有效。

Concurrency Control Version Check / CCVC

CCVC是一种channel中各peer间保持状态同步的方法。peer并行执行交易,在提交至ledger之前会检查在执行期间读到的数据有没有被修改。如果读取的数据在执行和提交之间被改变,就会引发CCVC冲突,该交易就会被标记为无效,值不会更新到状态数据库中。

Configuration Block / 配置区块

包含 system chain (ordering service) 或 channel 的Member和策略配置数据。对某个channel或整个网络的任何修改(比如,Member离开或加入)都将导致一个新的Configuration Block追加到适当的chain中。这个Configuration Block会包含 genesis block的内容加上增量。

Consensus / 共识

Consensus是贯穿整个交易流程的广义术语,其用于产生对于order的共识和确认构成block的所有交易的正确性。

Current State / 当前状态

ledger的current state表示其chain交易log中所有key的最新值。peer会将处理过的block中的每个交易对应的修改value提交到ledger的current state,由于current state表示channel所知的所有最新的k-v,所以current state也被称为World State。Chaincode执行交易proposal就是针对的current state。

Dynamic Membership / 动态成员

Fabric支持动态添加/移除members、peers和ordering服务节点,而不会影响整个网络的操作性。当业务关系调整或因各种原因需添加/移除实体时,Dynamic Membership至关重要。

Endorsement / 背书

Endorsement 是指一个peer执行一个交易并返回YES/NO给生成交易proposal的client app 的过程。chaincode具有相应的endorsement policies,其中指定了endorsing peer。

Endorsement policy / 背书策略

Endorsement policy定义了依赖于特定chaincode执行交易的channel上的peer和响应结果(endorsements)的必要组合条件(即返回Yes或No的条件)。Endorsement policy可指定对于某一chaincode,可以对交易背书的最小背书节点数或者最小背书节点百分比。背书策略由背书节点基于应用程序和对抵御不良行为的期望水平来组织管理。在install和instantiate Chaincode(deploy tx)时需要指定背书策略。

Fabric-ca

Fabric-ca是默认的证书管理组件,它向网络成员及其用户颁发基于PKI的证书。CA为每个成员颁发一个根证书(rootCert),为每个授权用户颁发一个注册证书(eCert),为每个注册证书颁发大量交易证书(tCerts)。

Genesis Block / 初始区块

Genesis Block是初始化区块链网络或channel的配置区块,也是链上的第一个区块。

Gossip Protocol / Gossip协议

Gossip数据传输协议有三项功能:1)管理peer发现和channel成员;2)channel上的所有peer间广播账本数据;3)channel上的所有peer间同步账本数据。

Initialize / 初始化

一个初始化chaincode程序的方法。

Install / 安装

将chaincode放到peer的文件系统的过程。(译注:即将ChaincodeDeploymentSpec信息存到chaincodeInstallPath/chaincodeName.chainVersion文件中)

Instantiate / 实例化

启动chaincode容器的过程。(译注:在lccc中将ChaincodeData保存到state中,然后deploy Chaincode并执行Init方法)

Invoke / 调用

用于调用chaincode内的函数。Chaincode invoke就是一个交易proposal,然后执行模块化的流程(背书、共识、 验证、 提交)。invoke的结构就是一个函数和一个参数数组。

Leading Peer / 主导节点

每一个Member在其订阅的channel上可以拥有多个peer,其中一个peer会作为channel的leading peer代表该Member与ordering service通信。ordering service将block传递给leading peer,该peer再将此block分发给同一member下的其他peer。

Ledger / 账本

Ledger是个channel的chain和由channel中每个peer维护的world state。(这个解释有点怪)

Member / 成员

拥有网络唯一根证书的合法独立实体。像peer节点和app client这样的网络组件会链接到一个Member。

Membership Service Provider / MSP

MSP是指为client和peer提供证书的系统抽象组件。Client用证书来认证他们的交易;peer用证书认证其交易背书。该接口与系统的交易处理组件密切相关,旨在使已定义的成员身份服务组件以这种方式顺利插入而不会修改系统的交易处理组件的核心。

Membership Services / 成员服务

成员服务在许可的区块链网络上认证、授权和管理身份。在peer和order中运行的成员服务的代码都会认证和授权区块链操作。它是基于PKI的MSP实现。

fabric-ca组件实现了成员服务,来管理身份。特别的,它处理ECert和TCert的颁发和撤销。ECert是长期的身份凭证;TCert是短期的身份凭证,是匿名和不可链接的。

Ordering Service / 排序服务或共识服务

将交易排序放入block的节点的集合。ordering service独立于peer流程之外,并以先到先得的方式为网络上所有的channel作交易排序。ordering service支持可插拔实现,目前默认实现了SOLO和Kafka。ordering service是整个网络的公用binding,包含与每个Member相关的加密材料。

Peer / 节点

一个网络实体,维护ledger并运行Chaincode容器来对ledger执行read/write操作。peer由Member拥有和维护。

Policy / 策略

有背书策略,校验策略,区块提交策略,Chaincode管理策略和网络/通道管理策略。

Proposal / 提案

一种针对channel中某peer的背书请求。每个proposal要么是Chaincode instantiate要么是Chaincode invoke。

Query / 查询

对于current state中某个key的value的查询请求。

Software Development Kit / SDK

SDK为开发人员提供了一个结构化的库环境,用于编写和测试链码应用程序。SDK完全可以通过标准接口实现配置和扩展,像签名的加密算法、日志框架和state存储这样的组件都可以轻松地实现替换。SDK API使用gRPC进行交易处理,成员服务、节点遍历以及事件处理都是据此与fabric通信。目前SDK支持Node.js、Java和Python。

State Database / stateDB

为了从Chaincode中高效的读写,Current state 数据存储在stateDB中,包括levelDB和couchDB。

System Chain / 系统链

包含在系统级定义网络的配置区块。系统链存在于ordering service中,与channel类似,具有包含以下信息的初始配置:MSP信息、策略和信息配置。对整个网络的任何变化(例如新的Org加入或者添加新的Ordering节点)将导致新的配置区块被添加到系统链。

系统链可看做是一个channel或一组channel的公用binding。例如,金融机构的集合可以形成一个财团(以system chain表示),然后根据其相同或不同的业务创建channel。

Transaction / 交易

Chaincode的invoke或instantiate操作。Invoke是从ledger中请求read/write set;Instantiate是请求在peer上启动Chaincode容器。



Everything just begins.
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容