1. Hyperledger Fabric 专题 - 核心技术构件

Hyperledger Fabric 专题 - 核心技术构件

共享账本

Hyperledger Fabric 具有一个账本子系统,该子系统包括两个组件:世界状态 (world state) 和交易日志 (transaction log)。每个参与者都有一份他们所属的那个 Hyperledger Fabric 网络的账本副本。

世界状态组件描述帐本在给定时间点的状态。这是帐本的数据库。交易日志组件记录所有导致世界状态当前值的交易,这是世界状态的更新历史。帐本是世界状态数据库和交易日志历史记录的组合。

帐本对于世界状态的数据存储采用可替换机制。默认情况下,这是一个 LevelDB 键值存储数据库。交易日志不需要是可插拔的。它仅记录区块链网络使用的帐本数据库的前后值。

智能合约 (Smart Contract)

Hyperledger Fabric 智能合约以链码编写,并在区块链外部的应用程序需要与账本交互时由该应用程序调用。在大多数情况下,链码 (chaincode) 仅与帐本的数据库组件,世界状态 (例如,查询状态) 交互,而不与交易日志交互。

链码可以用几种编程语言实现。当前,支持 Go 和 Node.js 还有 Java。

对端节点

Fabric 网络中的账本实例和链码实例都存储在对端节点上,管理员和应用程序都需要通过对端节点与 Fabric 网络交互。对端节点是 Fabric 网络中最重要的物理载体。

管理员

具有管理 Fabric 网络的某些权限,能够操作 Fabric 网络。

应用程序

外部应用程序,能够交互 Fabric 网络上的链码,或者访问 Fabric 的状态和交易日志。

交易排序器 (?)

交易排序器用于 Fabric 网络智能合约执行模型 execute-order-validate 中的 order 部分。

是共识算法中的一部分。

MSP

MSP (Membership Service Provider) 是 Hyperledger Fabric 中用于达成网络中各成员之间互相信任的构件,类似于比特币中的 POW (Proof Of Work) 机制。

注意,这里 MSP 并不具备达成数据共识的能力,它只是提供了 Fabric 网络中各对端节点之间的互信能力。

通道

Hyperledger Fabric 通过通道 (Channel) 允许一组参与者创建单独的交易账本。

这是一个特别重要的选项,因为网络中的某些参与者可能是竞争对手,同时他们也不希望进行的每笔交易 (例如,他们为某些参与者而不是其他人提供的特殊价格) 都被所有参与者知道,因为,只有这些参与者 (没有其他参与者) 拥有该通道的交易账本。

隐私性

根据网络的需求,企业对企业 (B2B) 网络的参与者可能对他们共享多少信息非常敏感。对于其他网络,隐私将不是头等大事。

Hyperledger Fabric 支持以隐私 (使用通道) 为主要操作要求的网络以及相对开放的网络。

共识机制

交易必须按它们发生的顺序写入账本,即使它们可能会处于网络中由参与者构成的不同的组中。为此,必须建立交易顺序,并且必须采用一种方法来拒绝错误 (或恶意) 插入帐本中的不良交易。

这是计算机科学领域中经过深入研究的领域,有很多方法可以实现,但都需要权衡取舍。例如,实用拜占庭式容错 (Practical Byzantine Fault Tolerance, PBFT) 可以为文件副本复制提供相互通信的机制,即使在出现损坏的情况下,也可以使每个副本保持一致。或者,在比特币中,排序通过称为挖矿的过程进行,在此过程中,竞争的计算机竞相解决一个密码难题,该难题定义了随后所有进程所依据的顺序。

Hyperledger Fabric 旨在允许网络参与者选择一种共识机制,以最能代表参与者之间存在的关系。与隐私一样,也有各种各样的需求。从关系高度结构化的网络到点对点的网络。

Hyperledger Fabric 共识机制目前包括 SOLO (?),Kafka 和 Raft。

Hyperledger Fabric 的特性

  • 数据存储可以支持多种格式
  • 共识机制是可替换的
  • 支持不同的 MSP

Reference

  1. Docs » Key Concepts » Introduction, https://hyperledger-fabric.readthedocs.io/en/release-1.4/blockchain.html

项目源代码

项目源代码会逐步上传到 Github,地址为 https://github.com/windstamp

Contributor

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

推荐阅读更多精彩内容