《Go语言Hyperledger区块链开发实战》
习题参考答案
第1章区块链技术基础
一、选择题
1.A          2.B          3.C          4.B
二、填空题
1.哈希2.存储层3.网络层4.扩展层
5.应用层6.公钥7.私钥8.公有链go语言开发环境搭建
9.私有链10.联盟链
三、简答题
1.答:
所有的区块链应用都是分布式系统。所谓分布式系统是指建立在网络之上的软件系统。但是不能简单地把分布式系统理解为使用网络的软件系统。传统意义上的网络应用,都是一个一个的独立运行。系统与系统之间往往只是进行简单地数据交互。
而在分布式系统中一组独立的计算机按照统一的规则,各司其职、密切配合,呈现给用户的是一个统一的整体。就好像只有一个服务器一样。
在大数据、云计算、物联网和本书所介绍的区块链技术等领域中,分布式系统得到了广泛的应用。
2.答:
从2008年11月1日“中本聪”发表《比特币:一种点对点式的电子现金系统》论文的时候算起,区块链技术已经经历了10多年的发展。通常,可以将区块链技术的发展分为下面3个阶段。
(1)区块链1.0:以比特币为代表的时代是区块链1.0的经典应用。这个阶段区块链技术的应用场景基本上局限在与或金融相关的应用,比如钱包和交易所。而且很多只是在比特币源代码的基础上做了简单升级。
(2)区块链2.0:以太坊的诞生,拉开了区块链2.0的帷幕,智能合约的概念拓展了区块链的应用场景。使用区块链技术可以应用到社会生活的各个领域。关于以太坊和智能合约的基本概念,将在第2章
中介绍。
(3)区块链3.0:区块链1.0和2.0时期的应用大多数都是公有链项目,企业使用区块链技术的成功案例并不多。区块链3.0是实现完备权限控制和安全保障的企业级区块链——联盟链。联盟链可以解决企业间的信用问题,由产业链中相关企业共同开发建设,信息上链,不可随意修改。只要对相关企业做好科普工作,就可以大大提高企业间配合的效率,打通一个个信息孤岛,最终可以形成行业大数据。联盟链的代表项目是Hyperledger(超级账本),它由Linux基金会管理,微软、摩根大通、世界银行和国内的阿里、华为、百度、腾讯都参与Hyperledger社区。可以说巨头云集。
虽然经过多年的发展,区块链现在还是处于科普和基础设施建设阶段,很多人还不知道区块链是什么。社会各界对区块链技术的认可和接受程度还比较有限,大规模普及和推广区块链的时机也还不够成熟。但是随着国家的高度重视,区块链技术的落地应用正在稳步推进。随着基础设施都建设的日臻完善,时机成熟的时候会爆发性的涌现一大批区块链应用,对社会生活的各方各面产生深远的影响。
3. 答:
Hyperledger Fabric区块链具有如下优势和特。
•开源:Hyperledger Fabric区块链是开源平台,任何人都可以在自己的项目中免费使用它。当然,在
使用之前要了解:Hyperledger Fabric区块链是提供开发区块链应用程序的基础设施平台,使用它的企业应该具有开发团队,基于Hyperledger Fabric平台开发自己的企业级区块链应用。Hyperledger项目提供了很多示例代码,供使用者参照进行开发。
•广泛的适用性:Hyperledger Fabric区块链广泛适用于各行业。也就是说,无论什么样的企业都可以很方便地基于Hyperledger Fabric搭建区块链应用。在供应链、银行、物联网、医疗、政府、媒体、网络安全等领域,Hyperledger Fabric区块链都有很多应用案例。
•高质量的代码:Hyperledger项目对所有新增的代码都进行仔细的检查,在Hyperledger fabric文档中可以看到他们对代码所做的关键检查。而且所有示例程序也都是开源的,供大家检查,社区也贡献了一些高质量的代码。
•更高的效率:Hyperledger Fabric区块链的内部结构提供了更高效的能力,网络中的每个节点都承担着不同的职责,节点都可以同时处理多个交易,而且不会使系统的运行速度变慢。并不是所有的节点都用于处理交易,有的节点负责维护账本或身份认证。这也减少了负责交易处理节点的工作量。
•模块化的设计:Hyperledger Fabric区块链支持模块化的设计。这使得它可以提供更强大的功能。从而为不同的应用场景开发不同的算法。例如,可以为加密选择一种算法,为共识选择另一个算法。这种即插即用的模块化设计使得Hyperledger Fabric区块链更便于扩展,更加灵活。
为了便于阅读和学习,本书后面多将Hyperledger Fabric简称为Fabric。
•性能和扩展性:区块链的性能受很多因素影响,例如交易的大小、区块的大小、网络的大小、以及硬件的限制等。Fabric网络中,节点都是经过认证的,它们彼此互信,且所有节点的操作都是有迹可循的,无需经过繁琐、耗时的挖矿过程争夺记账权。因此,Fabric 网络是高效的。每秒钟可以完成超过3500笔端到端的交易,而比特币网络每秒钟只能处理7笔交易,以太坊的对应数据是每秒钟15笔交易。
Hyperledger社区的性能与规模工作组正在制度一套衡量区块链性能的标准草案,并开发了一个区块链性能测试框架Hyperledger caliper。随着工作的推进,已形成了区块链平台性能与规模特性的衡量标准的定义。IBM研究院曾发表过一篇关于Hyperledger Fabric的评估报告,对Fabric区块链的系统架构进行深入探讨,并对Hyperledger Fabric v1.1平台进行性能评测。
该团队的测评结果表明:与Hyperledger Fabric v1.0.0相比,Hyperledger Fabric v1.1.0在
性能上有了大幅提高。
Hyperledger Fabric v2.0也对区块链的性能进行全面优化。
第2章Fabric区块链的体系结构
一、选择题
1.A          2.A        3.B        4.C        5.B
6.C
二、填空题
1.本地MSP 2.通道MSP
3.区块链 4.世界状态数据库
5.区块索引6.历史索引
7.提案/背书8.排序/打包
9.验证/记账
三、问答题
1. 答
Fabric网络的共识机制由如下几个阶段组成:
•客户端向背书节点提交交易提案。
•背书节点对交易的有效性进行检查,通过检查后,进行背书签名。
•背书节点把经过背书签名后的交易发送回客户端,客户端收集到足够数量的背书交易后把这些交易广播给排序服务节点。
•排序服务对交易进行排序并且产生区块。
•排序服务将排序后的区块广播给记账节点,记账节点对所有的交易和背书信息进行验证,通过验证后把区块写入账本中。
2. 答
整个交易过程可以分为如下6个步骤。
(1)客户端初始化交易
(2)背书节点验证签名并执行交易
(3)检查提案响应
(4)客户端将背书信息集成到交易中
(5)验证交易
(6)更新账本
第3章搭建Hyperledger Fabric环境
一、选择题
1.A          2.B          3.B          4.A
二、填空题
1.容器
2.up
3.down
4.-ca
5.createChannel
三、问答题
1.答:
测试网络仅用于学习和测试,通常不建议修改测试网络的脚本,因为这样会影响测试网络的工作。测试网络建立在有限配置的基础上,不能作为部署生产网络的模板。
测试网络的特点如下:
·测试网络中只包含2个Peer组织和一个排序组织。
·出于简化考虑,只能配置一个单节点的Raft排序服务。
·为了降低复杂度,并未部署TLS(Transport Layer Security,传输层安全性协议)CA,所有证书均由根CA生成和管理。
·使用Docker Compose 部署Fabric网络,因为在Docker Compo络中节点是隔离的。测试网络不
能与其他运行的Fabric节点连接。
第4章Fabric区块链的安全机制
一、选择题
1.A          2.C          3.D          4.B          5.B
二、填空题
1.X.509 2.数字证书
3.公钥和私钥4.证书颁发机构(CA)、
5.证书吊销列表6.Idemix
7.Fabric CA客户端8.Fabric SDK
9.用户(user)10.颁发者(issuer)
11.验证者(verifier)12.fabric-ca-server init
13.admin 14.Peer
15.client 16.orderer
三、问答题
1. 答:
与比特币和以太坊等公有链平台不同,Fabric区块链既是联盟链也是许可链,并不是所有人都可以随意加入Fabric区块链网络。
每个人都可以参与公有链,而且每个参与者都可以是匿名的。在这种情况下,除了区块链的状态外,没有什么是可信的。为了解决这种缺乏信任的情况,公有链通常都需要引入挖矿机制。例如,比特币网络采用PoW挖矿机制,谁的算力高,就由谁来记账。其他节点只是对交易的有效性进行验证。挖矿相当于在“旷工”之间进行算力比拼。这会消耗大量的能源。
在许可链中,所有的节点都经过身份验证,根据授权加入区块链网络,进行权限范围内的操作。许可链的所有参与者都是可信的,因此不需要通过挖矿决定记账的节点,参与者向智能合约中植入恶意代码的风险也大大降低了。
首先,参与者可以通过各自的证书了解彼此是谁;另外,参与者的所有操作都会被记录在区块中。包括提交交易、修改配置文件或部署智能合约等。
2. 答:
PKI(public key infrastructure,公钥基础设施)包含一系列可以在网络中提供安全通信的互联网技术。常见的HTTPS协议,就是在传统的HTTP基础上通过PKI技术进行安全通信而实现的。
PKI模型的工作原理如图4-1所示。
图4-1 PKI模型的工作原理
PKI模型的核心组件是证书颁发机构,它可以向成员颁发数字证书。这里所说的成员可以是服务的用户,也可以是服务提供者。然后,成员就可以在交换信息时使用证书证明自己的身份。
证书颁发机构维护一个CRL(Certificate Revocation List,证书吊销列表),其中包含无效证书的引用。证书被吊销可能由于多种原因,例如与证书相关联的私有加密资料被泄露。
尽管区块链网络不仅仅是一个通信网络,但是它还是需要依赖PKI标准来保障在区块链

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。