区块链智能合约技术与应用 课件 第3、4章 超级账本;Hyperledger Fabric入门.pptx

区块链智能合约技术与应用 课件 第3、4章 超级账本;Hyperledger Fabric入门.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第3章超级账本;

3.1超级账本介绍;

作为一个联合项目(CollaborativeProject),超级账本由面向不同目的和场景的子项目构成,目前包括Fabric、Sawtooth、Iroha、BlockchainExplorer、Cello、Indy、Composer、Burrow等八大顶级项目。所有项目都遵守Apachev2许可协议(ApacheLicence是著名的非盈利开源组织Apache采用的协议,该协议鼓励代码共享和尊重原作者的著作权,允许将代码修改后作为开源或商业软件再行发布),并约定共同遵守如下的基本原则:;

(1)重视模块化设计:包括交易、合同、一致性、身份、存储等技术场景。

(2)重视代码可读性:确保新功能和模块都可以很容易地实现添加和扩展。

(3)可持续的演化路线:随着需求的深入和更多应用场景的出现,将不断增加和演化新的项目。

超级账本的企业会员和技术项目发展都非常迅速,如图3-1所示。;;

3.1.2超级???本概述

HyperLedgerFabric是超级账本上的区块链项目之一。跟其他区块链技术相同,HyperLedgerFabric也有账本,也使用智能合约,是一个由参与者共同管理的系统。

但与其他区块链系统不同的地方是,超级账本是私有的,它不是一个开放的系统,所有的参与者必须是已经注册过身份的组织。

超级账本还提供了可插拔的组件,账本的数据可以用多种格式存储。此外,超级账本协商一致的机制可以被转换和输出为多种格式,使其在各个区块链分布式账本中使用执行。;

1.共享账本

共享的许可制账本(SharedPermissionedLedger)是仅可附加的记录系统(SystemOfRecord,SOR)和单一事实来源。它对业务网络的所有参与成员均可见。

超级账本有一个分类子系统,由世界状态(WorldState)和事务日志(TransactionLog)两个部分组成。

世界状态描述总账的状态,是账本的数据库;事务日志记录导致当前世界状态值改变的日志。每一个参与者都有一份属于自己的账本副本,存储在他们所属的超级账本网络上。;

2.智能合约

超级账本的智能合约是用Chaincode(链码)编写的。Chaincode支持数种语言编程,目前支持的是Go语言,在今后的版本中会新增java等其他语言。

在大多数情况下,Chaincode只与总账的数据库交互,例如世界状态。

3.隐私

超级账本网络中的参与者是企业节点,而企业商业信息是非常敏感的内容,因此超级账本把使用频道技术来保护隐私作为该区块链网络的核心目标之一。;

4.共识

事务必须按照它们发生的顺序写入账本中。通过前两章的学习,我们已经知道了对于比特币来说,排序是通过“挖矿”来实现的。对于PBFT(拜占庭式容错)来说,它可以为文件副本提供一种相互通信的机制,来保持副本间的一致性。

超级账本的共识机制目前包括Solo和Kafka两种。网络启动者可以选择一种最能代表参与者之间关系的共识机制。;

3.2社区组织结构;;

3.2.2大中华区技术工作组

技术工作组的主要职责包括如下:

(1)带领和引导中国内地的技术相关活动,包括贡献代码、指南文档、项目提案等。

(2)推动相关技术的交流,促进会员企业之间的合作和实践案例的落地,通过邮件列表、RocketChat、论坛等方式促进社区开发者们的技术交流。

(3)协助举办社区活动,如Meetup、黑客松、Hackfest、技术分享、人员培训等。;

3.3顶级项目介绍;

该项目的定位是面向企业的分布式账本平台,创新地引入了权限管理支持,设计上支持可插拔、可扩展,是首个面向联盟链场景的开源项目。

Fabric基于Go语言实现,目前提交次数已经超过5000次,核心代码超过8万行。

Fabric项目目前处于活跃状态,已发布1.0正式版本,同时包括FabricCA、FabricSDK等多个相关的子项目。;

3.3.2Composer项目

Composer项目提供面向链码开发的高级语言支持,可自动生成链码,由IBM团队于2017年3月底贡献到社区,试图提供一个HyperledgerFabric的开发辅助框架。使用Composer,开发人员可以使用JavaScript语言定义应用逻辑,再加上资源、参与者、交易等模型和访问规则,生成HyperledgerFabric支持的链码。

该项目主要由NodeJs语言开发,目前已有超过4000次提交。;

3.3.3Sawtooth项目

Sawtooth项目包括arcade、core、dev-tools、valida

文档评论(0)

balala11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档