区块链100个基础问题(三)

51. 什么是智能合约?

智能合约(Smart Contract )是一种旨在以信息化方式传播、验证或执行合同的计算机程序协议。智能合约允许在没有第三方的情况下进行可信交易。(引用自:维基百科)

 

52. 时间戳的价值是什么?

区块链通过时间戳保证每个区块依次顺序相连。时间戳使区块链上每一笔数据都具有时间标记,任何人无法篡改。

 

53. 区块链的分层结构是什么样的?

区块链的分层结构可以参考下图,从底层到应用层,可以分为:

a) 数据层:包含区块链的数据处理相关技术实现,数字签名、链式结构等。

b) 网络层:包含点对点网络、传播机制、验证机制等。

c) 共识层:这层实现的是共识算法,典型的有POW、POS。

d) 合约层:主要是智能合约等的实现,以及相关虚拟机的实现等。

e) 激励机制:对于公有链里最常见,各种币的分发方式和奖励机制。

f) 应用层:基于以上基层的分布式应用的实现。

 

 

54. 区块链能避免拒绝服务攻击(DDOS)吗?

区块链本身属于分布性网络,没有一个中央服务器作为攻击主节点,在此前提下,DDOS的目标服务器只能是一台或几台节点,无法对整个区块链网络造成实质影响。

 

55. 目前的区块链联盟有哪些?

区块链联盟主要包含以下几家:

a) 由Linux基金会发起的超级账本(Hyperledger)。

b) 由R3CEV(一家总部位于纽约的区块链创业公司)发起的R3区块链联盟,至今已吸引了40多家银行巨头的参与。

c) 由Ripple公司发起的支付区块链联盟Ripple。

d) 由俄罗斯俄罗斯支付公司Qiwi发起的被称为“俄罗斯版R3”的俄罗斯区块链联盟。

e) 由11家国内机构共同发起的China Ledger联盟等。

 

56. 区块链技术平台有哪些?

区块链的技术平台主要有比特币Bitcoin、以太坊Etheruem、瑞波Ripple、超级帐本Hyperledger等。

 

57. 企业区块链应用一般选择什么技术平台?

企业应用区块链主要还是联盟链形式,联盟链里面目前最为有效的应该就是Hyperledger体系。

 

58. 几种区块链技术平台的性能有什么不同?

几种主流的区块链技术平台性能比较如下所示:

a) 比特币: 每笔交易最终确认需要60分钟;每秒7笔。

b) 以太坊:每笔交易最终确认需要15秒;每秒20笔。

c) Hyperledger: 每笔交易不到1秒;每秒上万笔。

 

59. 比特币每秒7笔怎么计算出来的?

比特币能承载的交易量受区块大小限制,目前每个区块上限1MB,每10分钟1个区块,一个交易记录0.25KB,每秒平均能打包1000/0.25/60/10=6.67个交易,这也是很多资料提到比特币每秒处理7笔交易的由来。

 

60. 一般来说,联盟链相对于公有链的优势在哪里?

联盟链相对于公有链的优势在于以下三个方面:

a) 性能更好,交易只需被几个受信的高算力节点验证就可以了,而无需全网确认。

b) 节点可管控,只有经过许可的节点才能加入区块链网络,故障可以迅速通过人工干预来修复。

c) 对用户身份进行管理,读取权限受到限制,可以提供更好的隐私保护。

 

61. Hyperledger是什么?

Hyperledger (超级账本)是一个开源的区块链和相关工具的总括项目,由 Linux基金会在2015年12月发起该项目,以支持基于区块链技术的去中心化账本的协作开发。详细信息可参考如下官方网站: https://www.hyperledger.org/

 

62. Hyperledger框架项目主要包含哪些?

Hyperledger项目孵化了众多开源项目,总体分为框架和工具两大类,其框架项目主要有以下几个:

a) Hyperledger Sawtooth

b) Hyperledger Iroha

c) Hyperledger Burrow

d) Hyperledger Indy

e) Hyperledger Fabric

以上框架类项目中,每个项目都有各自的设计理念和特色,支持的共识算法、开发语言各不相同。目前只有Sawtooth和Fabric达到了生产稳定状态,可以应用于企业开发。而Fabric是目前最流行、使用最广泛的企业级框架。

工具类项目,目前有:Blockchain-explorer、Cello、Composer等。

具体可见:https://www.hyperledger.org/

 

63. Hyperledger Sawtooth是什么?

Hyperledger Sawtooth是Intel贡献和主导的分布式账本技术平台,它支持PoET(Proof of Elapsed Time)和Quorum Voting两种共识机制,当节点数量很多(公有链环境)时,使用第6代Intel Core CPU所提供的SGX扩展功能提供的一种称为时间流逝证明PoET的机制来形成共识,它的性能和可靠性由Intel CPU硬件来保障,PoET算法以最少的资源消耗为目标,使我们能以较少的能源消耗建立数百至数千个节点的非常广泛和扁平的区块链网络,是公有链系统里很有价值的一个共识机制。

另一方面,当节点数量少且受控时,Sawtooth可以采用法定人数投票Quorum Voting共识机制,Quorum Voting是瑞波币和恒星币的修正版,用于满足需要即时确定交易的应用场景,非常适合于联盟链场景,这样Sawtooth就摇身一变成为很好用的联盟链了。

所以Sawtooth既可以用于需要许可的联盟链中,也可以用于不需要许可的公有链中。另外,Sawtooth提供的SDK比较多,有Go, C++, Java, Node.js, Python等。

 

64. Hyperledger Burrow是什么?

Hyperledger Burrow是由 Monax贡献,Intel共同赞助的智能合约解释器。它是超级账本Hyperledger中第一个来源以太坊的项目,是第一个采用以太坊虚拟机(EVM)标准的带权限许可的智能合约解释器。Burrow对EVM做了一些扩展,同时保持与EVM兼容。Burrow被设计成一个通用的智能合同机器,采用对PBFT做了优化的Tendermint共识算法,有比较好的性能。

借助遵循Apache许可的以太坊虚拟机Burrow,使Hyperledger中的其他分布式账本项目(比如Fabric、Sawtooth、Lake、Iroha)可以将EVM融合到各自的平台,比如通过与Burrow集成,Sawtooth已经可以支持以太坊的智能合约。这也意味着超级账本组织和以太坊社区,包括企业级以太坊联盟,开始建立一种富有成效的关系。

 

65. Hyperledger Iroha 是什么?

Hyperledger Iroha是由日本公司Soramitsu发起和贡献的轻量级分布式账本,它的设计和架构参考Fabric。Iroha的目标是:

a) 为C++开发人员提供一个为Hyperledger做出贡献的环境,在C++中创建可重用组件来补充Fabric、Sawtooth和其他潜在项目,这些组件可以使用Go等语言进行调用;

b) 为移动和Web应用程序支持提供基础设施(提供iOS, Android和JavaScript类库);

c) 提供一个框架来试验新的API和共识算法,这些算法可能会在将来被纳入Fabric。

此外,Iroha还支持数字资产(Digital Asset)的发行。

 

66. Hyperledger Indy是什么?

Hyperledger Indy由Sovrin基金会贡献,Sovrin基金会成立于2016年,致力于打造一个基于区块链的去中心化的全球数字身份自治管理的公共基础设施。Indy提供了工具、程序库和可重复使用的组件,用于提供基于区块链或者其它分布式账本的数字身份,从而让它们可以跨账本、跨管理域、跨应用进行互操作。Indy为Fabric、SawtoothLake、Corda等提供了强大的跨账本身份管理功能。

由于分布式账本事后无法更改的特点,因此基于分布式账本的身份用例应仔细考虑基本组件,包括性能,规模,信任模型和隐私保护。Hyperledger Indy开发了去中心化身份的规范,术语和设计模式,并实现了这些概念,可以在Hyperledger联盟内部和外部使用。 

 

67. Hyperledger Fabric是什么?

Hyperledger Fabric是来源于IBM的分布式账本技术平台,是目前为止在设计上最贴近联盟链思想的区块链,Fabric有完备的权限控制和安全保障,数据保密机制,它采用模块化设计,可插拔架构,允许组件(如共识算法和会员管理)即插即用。 Hyperledger Fabric利用容器技术来运行称为Chaincode的智能合约。Fabric获得众多重量级企业的支持,是目前应用最广泛的企业级区块链框架。

 

68. Fabric的技术特点是什么?

同其他的主流的开源区块链技术平台相比,Fabric有以下特点:

a) Fabric有完备的权限控制和安全保障,兼顾数据共享和隐私保护。

b) Fabric采用模块化设计,可插拔架构,Key-Value数据库,身份管理,共识机制和加密算法等都是可插拔的,可以根据实际情况选择替换。

c) 同其他几种主流的开源技术框架相比,Fabric有更高性能和更好的扩展性。

d) Fabric提供多种语言的SDK,可根据实际的项目需要选用。

 

69. Hyperledger Fabric 1.0的系统逻辑构架包括哪几部分?

Fabric架构的核心包括三部分:Identity身份管理, Ledger及Transactions, Smart Contract. 如下图:

 

70. Fabric的成员管理(Identity)主要有什么功能?

Identity,也就是成员管理,Fabric是目前为止在设计上最贴近联盟链思想的区块链。联盟链考虑到商业应用对安全、隐私、监管、审计、性能的需求,提高准入门槛,成员必须被许可才能加入网络。Fabric成员管理服务为整个区块链网络提供身份管理、隐私、保密和可审计的服务。

 

71. Fabric的账本(Ledger)包括哪些内容?

Fabric账本Ledger主要包含两块:Blockchain和State。Blockchain就是一系列连在一起的Block,用来记录历史交易。State对应账本的当前最新状态,它是一个Key-Value数据库。Fabric默认采用LevelDB, 可以替换成其他的Key-Value数据库,如CouchDB。在智能合约中对账本进行读写操作。

 

72. Fabric的Transactions是什么?

Fabric上的Transactions事务分两种,部署事务(Deploy Transactions)和调用事务(Invoke Transactions)。

a) 部署事务把链码(Chaincode)部署到Peer节点上并准备好被调用,当一个部署交易成功执行时,Chaincode就被部署到各个Peer节点上,类似于把一个Web应用部署到应用服务器上的不同实例上。

b) 调用事务在先前部署的链码的上下文中执行操作。客户端应用程序通过Fabric提供的API调用先前已部署好的某个Chaincode的某个函数执行事务,包括读取和写入状态数据库,返回结果等。

 

73. Fabric的智能合约Smart Contract是什么?

Fabric的智能合约Smart Contract称为链码Chaincode,是一段代码,它处理网络成员所同意的业务逻辑。和以太坊相比,Fabric链码和底层账本是分开的,升级链码时并不需要迁移账本数据到新链码当中,真正实现了逻辑与数据的分离。

 

74. Fabric的账本(Ledger)数据是如何共享的?

Fabric的账本共享方式和比特币等有所不同。诸如比特币和以太坊,交易数据大家都可以查看,虽然不知道是谁的数据,但是数据本身是对所有人都可见共享的。但在 Fabric中,账本不是共享给所有人的。而是通过 Channel 隔离数据,虽然大家都在同一个区块链网络里,但是不在同一个Channel,也没办法共享账本。所以,通过建立不同的Channel可以达到按需共享的目的。

 

75. Fabric的业务网络由什么组成?

业务网络,也叫共识网络或区块链网络,Fabric业务网络由不同的节点构成。节点是区块链的通信实体,节点是一个逻辑概念,不同类型的节点可以运行在同一台物理服务器上。这些节点可能部署在云上面或者本地。可能来自不同的公司或者组织。在区块链网络中有两种类型的节点:Peer节点和Orderer节点。

免责声明:信息仅供参考,不构成投资及交易建议。投资者据此操作,风险自担。
如果觉得文章对你有用,请随意赞赏收藏
相关推荐
相关下载
登录后评论
Copyright © 2019 宽客在线