基于MOLD概念验证Hyperledger Fabric

GAME
GAME
Published in
11 min readJul 5, 2018

MOLD指在通过构建专门用于游戏的原始区块链实现下一代的分散式游戏平台。在前一篇文章比较区块链一致性算法之后,这次我们将考虑Hyperledger Fabric,它是基于PBFT一致性算法的具有即时终结性的区块链的代表性示例。

另外,MOLD对于实现以下几项有着充足的信心

・以非集中机制管理个人数字资产
・免费和快速的P2P数字资产交易
・游戏开发者更可能享受利润的环境

基于以上几点,我们也可以深入了解与Hyperledger Fabric的功能不同之处。

目录

・关于Hyperledger项目
・Hyperledger Fabric的交易如何运作
・MOLD和Hyperledger Fabric之间的简单比较
・会员制和分布式
・资产的定义
・TPS对Hyperledger Fabric的调查
・总结

关于Hyperledger项目

在Hyperledger项目中,LinuxFoundation是支持LinuxOS传播的非营利性协作实体,与全球的IT公司合作,将区块链技术建立为开源项目。几个Hyperledger区块链项目已经开始,包括2015年12月开始的Hyperledger结构。

为了将区块链技术内拥有透明性和可靠性性质的分布式账本在社会当中作为基础技术的解决方案,特别是针对商业中的各种使用情况,并具有以下属性。

・Cryptocurrency不存在
・严格的权限类型
・PBFT系统

由于Hyperledger Fabric没有针对比特币或以太网等数量不明的网络参与者,因此无须创建像PoW这样的激励机制。因此,它不会创建一个通用的加密货币。相反,需要严格的认证才能参与网络,因为它实现了会员服务,负责注册参与者,颁发证书,设置权限并能够相互信任。在Hyperledger结构中,PBFT一致性算法被特定参与者用于区块生成。

HyperledgerFabric的交易如何运作

在很多情况下,交易通常指的是加密货币的交易历史。但是,在Hyperledger结构中,交易是指参与者可以为在网络上定义的资产采取的预定义操作。

在Hyperledger结构的分类帐中,记录交易日志(交易历史记录)和状态。

发送日志中的数据可以重新创建或搜索,但不能被篡改,无法更新或删除以前的交易记录。另一方面,在状态中,它以键值结构的JSON格式描述,并且也可以更新或删除它。在HyperledgerFablic中,TxnLog使用简单的LevelDB,而State使用CouchDB,这允许添加更复杂的查询。分类账将由名为Peer的节点组管理。

the structure of transaction:http://www.cnblogs.com/studyzy/p/7101136.html

创建交易的流程

当定义资产,交易和事件等的链代码被实例化时,其由通道中的Peers扩展到网络。此外,当chaincode部署到网络时,还会指定“批注策略”,例如将同级设置为代言人,以及有效的交易标准(例如,需要认为有效的同行认证或逻辑运算符的数量)。通过FabricAPI从客户端接收的交易通过认可策略检查有效性,并且认为有效的交易通过负责区块生成的Orderer传播到网络当中。之后,当更新交易的转移(状态)记录在Peer所持有的每个分类帐中时,网络参与者可以随时参考记录在分类帐中的交易的历史和状态转换。

the flow of transaction:http://hyperledger-fabric.readthedocs.io/en/release-1.1/arch-deep-dive.html

MOLD和Hyperledger Fabric之间的简单比较

the comparison of MOLD and Hyperledger Fabric

Hyperledger Fabric和MOLD的基本思想完全不同,但是有一些信息点,如共识算法和资产定义。

重要性

在MOLD是分散式游戏平台的情况下,实际使用需要高水平的即时结算。换句话说,有必要形成一个一致的算法,可以达到一个有前途的最终结果。

在比特币协议中,为了网络创建和连接数据块,整个节点网络监听通过点对点连接传播的事务,并设置10分钟的时间收集,验证和传播。但是,可以确认到区块没有被覆盖,是需要等到再生成了6个区块之后的事情,并且在需要确认最终结果的重要结算等领域中进行实际应用是困难的。

以太坊仅仅需要15秒就可以生成区块。尽管15秒比10分钟快得多,并且具有为Ethereum网络带来高吞吐量的优点,但交易没有足够的时间在整个网络中传播。当两个或多个次要成功同时挖掘时,它会增加隔离块(uncle block)。因此,在以太坊中,依然类似于比特币协议,存在着最终结果的不确定性。

另一方面,在未来将在HyperLedger Fabric中引入的PBFT中,其中一名参与者将成为主要领导者,向所有参与者发送关于区块生成顺序的请求,并且他们会投票同意与否。与PoW和PoS不同的是,这个系统在决定大多数投票后做出决定时具有最终决定性的阻止,并且永不改变。

因此,PBFT在共识算法的最终确定性方面展示了自身的价值。

会员制度和分布式

MOLD的目标是建立分散型游戏平台。在这样做的时候,创建一个任何人都可以自由参与MOLD网络机制是非常重要的。对于Hyperledger Fabric,网络参与者在管理员Peer的批准下,需要使用称为cryptogen的工具发布x509证书和签名密钥。然后,他们将能够加入该渠道,这是一个有限的人的独特网络。在将网络参与者限定为特定人员时,这是一个有效的系统,但在可以想象许多用户使用像MOLD这样的平台的情况下,这样严格的许可系统将无法正常工作。此外,严格的层级关系,如管理员Peer和网络Peer与MOLD的想法冲突,其目的是通过社区本身创建一个分散的游戏平台。

关于资产的定义

Hyperledger Fabric在Chaincode上定义资产。通过分配资产ID,资产成为唯一的资产,即不可互换。另一方面,通过指定资产ID的数量,可以生成数量限制的可替代资产。

在MOLD平台上发布可替换的令牌和不可互换的令牌是必要的,旨在实现游戏内物品的标记。

参考:关于MOLD的项目标记摘录自白皮书

有两种类型的代币,即可替换(可替代的)和不可替代(不可替代的)代币。前者,可作为游戏 中常见的解决方案,支持以太坊ERC-20协议。游戏物品作为可替换代币可以进行替换,举例来 说Molca拥有的一枚代币与Molna拥有的一枚代币的价值相同。然而,多数游戏中的独特物品的价值 不同,这让游戏世界变得更令人兴奋。对于具备独特级别、攻击能力和配套技能的游戏物件,这些 状态参数将作为元数据存储在游戏中,并可被转换为不可替换代币。应于以太坊上的ERC-721协议 代币,即不可替代的代币。在这种情况下,如果Molca拥有的一枚代币想与Molna拥有的一枚代币欲 进行交换,就不能被认为是等价交换。不管是哪种情况,对于任何类型的代币,MOLD平台上的用 户拥有对数字资产的所有权,可以利用MOLDEX等(详见下一章)进行简化交易。并且,MOLD将 有助用户应用SDK系统处理上述提到的2种代币(详见第4.4.6章)。

Hyperledger Fabric的TPS验证

在这里,我们将使用PBFT一致性算法检查Hyperledger Fabric上的处理速度。

我们使用一个工具来验证Hyperledger Fabric交易的速度,该工具可以在称为Hyperledger Caliper的Hyperledger项目上进行基准测试。

操作环境

Hyperledger Fabric v1.1
网络:simple-fabric-network

测试方法

当生成300个交易和生成500个交易时,为每个方法测量并记录TPS5次。然后获得平均值。在以下六个网络中执行此过程。

2org1peer:每个组织中有2个组织网络和1个对等组织

2org2peer:每个组织中有2个组织网络和2个对等组织

2org3peer:每个组织中有2个组织网络和3个对等组织

3org1peer:每个组织中有3个组织网络和1个对等组织

3org2peer:每个组织中有3个组织网络和2个对等组织

3org3peer:每个组织中有3个组织网络和3个对等组织

提示

TPS的值根据使用的PC和操作环境而有很大差异,因此该基准仅是一个指示。

组织:2org-1peer

审判次数:300

open method
round 1:14tps
round 2:15tps
round 3:17tps

query method
round 1:55tps
round 2:49tps

组织:3org-1peer

审判次数:500

open method
round 1:13tps
round 2:14tps
round 3:15tps

query method
round 1:44tps
round 2:47tps

测试结果

每个组织中两种方法的TPS可归纳如下。

comparison of TPS

open method中TPS的变化

当图中总结了开放方法的TPS时,随着对等数的增加,可以观察到2org和3org的TPS降低。

在query method中改变TPS

在查询方法中,我们能够观察到3个组织的TPS明显下降。

提示

为方便起见,这两个组织在表中一起显示。

思考

根据该结果,可以确认Hyperledger结构中的事务的处理精度是15TPS到50TPS,这取决于在链代码上定义的交易类型。

比较下面比特币和以太坊等著名区块链的TPS,可以看出Hyperledger Fabric的交易处理速度要快一些。

比特币TPS参考:https://blockchain.info/charts
EthereumTPS参考:https://etherscan.io/

然而,众所周知,当对等数增加时,区块生成速度变慢。从上表中可以看出,在Open method中增加对等数时,结果TPS几乎与以太坊相同。从理论上讲,由于Hyperledger Fabric限制了Validators的数量,因此TPS应该高于比特币和Etherum等公共链,其中存在未指定数量的参与者,但在本实验中,PBFT一致性算法的特征并未得到充分利用。

总结

在Hyperledger Fabric的结构中,有些地方可以引用MOLD的原始区块链,但为了实现MOLD的世界观,还需要进行修改,包括共识算法和数字资产的结构。特别是在Hyperledger Fabric中,由于它是严格的权限类型,因此将建立一个集中式网络,并且难以自由参与网络。当在MOLD平台上通过游戏开发发展ICO并筹集资金时,尽可能降低游戏开发者的壁垒非常重要。此外,通过引入PBFT系统并缩小参与者数量,虽然与比特币和以太坊相比可以确认TPS的增加,但不能说交易的TPS在MOLD上仍然足够保持分散性并需要立即解决财产的平台。在MOLD平台上,验证者的激励对于维护网络也是不可或缺的。在Hyperledger Fabric的情况下,可以说,当网络中对等点的数量增加时,审批和交易处理准确性急剧下降需要时间。另外,根据当前Hyperledger Fabric的结构,将区块传播到网络的Oerderer将成为唯一的定义,不能否认其中存在着中央集权式的模式。因此,每次改变区块的提议者都需要通过分散的方式来改进PBFT,限制验证者的数量,并提高交易处理的速度。

— — — — — — — — — — — — — — — -
Cosmos Gaming Hub Project(前MOLD Project)
CEO&Co-Founder

朝野 巧己

为所有游戏爱好者提供最好的娱乐

--

--

GAME
GAME
Editor for

Cosmos Gaming Hub is a fair and secure distributed gaming platform which supports the development of new games and simplifies the trading of digital assets.