加密猫风靡全球后,原创团队Dapper Labs推出重磅公链Flow,六大性能弥补以太坊不足
阿风1989·2020-09-17 阅读 4

如果你是2017年之前底进入区块链行业的,一定听到过一个名词,或者一款基于区块链的宠物养成游戏:“加密猫”(Crypto Kitties)。

 

一款猫售价20万美元、造成以太坊链上史诗级大拥堵、掀起了一股区块链链上游戏风潮......这款游戏创造了众多区块链世界的记录,同时,这也让人们看到了非同质化代币(NFT)代币巨大的可能性。

 

但是,人们翘首以盼的ETH2.0迟迟不到,始终以30的TPS龟速前进(这也是一款猫就导致以太坊拥堵的根本原因),让众多创业团队苦不堪言。

 

在这种背景下,拥有近100名开发者的加密猫团队Dapper Labs,开始了Flow公链的技术开发工作,Flow的诞生即是为了解决以太坊扩容以及速度等基础建设问题,主要服务于下一代区块链游戏、DApps和区块链开发人员。

 

那么,加密猫的创造团队Dapper Labs为何要耗费巨大开发一条新链? Flow又存在哪些特性?

 


 

1、加密猫,辉煌历史与真正的“父亲”Dapper Labs

 

如果你是2017年底之前进入区块链行业的,你一定听到过加密猫(Crypto Kitties)这个名词。

 

如果你在互联网上动动手指,就会发现加密猫创造了3项世界记录引领了全球风潮

 

创造3项世界纪录:加密猫以一款游戏“之力”造成以太坊链上史诗级拥堵,这一记录直到几个月后FOMO3D出现之后才被打破,虽然这并不是什么值得夸耀的,但是足以说明其成功;2017年12月份一只加密猫拍出75万元的高价,而到了2018年初,一只猫竞拍价竟然达到了140万人民币,这一记录一直保持至今;最后,加密猫也是区块链世界第一款真正落地的区块链养成游戏。

 

引领一股风潮:加密猫的火爆也掀起了一阵加密宠物风暴——各大科技公司纷纷跟风加密猫,推出了自己的区块链养成游戏,360推出了“区块猫”,小米推出了“加密兔”,百度推出了莱茨狗”,网易推出了“招财猫”,巅峰时期市面上的区块链养成游戏超过70款,养马、养鱼、养妖怪等,区块链游戏界一时间变成了动物世界。

 

 

就是这样一个以太坊“杀手级”应用,让世界认识到非同质化代币(NFT)的众多可能性。

 

非同质化代币是一种特殊类型的加密代币,基于ERC-721协议发行(以太坊代币一般是基于ERC-20协议发行),它具有“通证”性质,但基于其不可分割、不可取代的特性,特别适合用来作为资产证明。非同质化代币(NFT) 通常会应用在游戏宝物、活动门票、域名,甚至是实物资产──如房地产的所有权记录。

 

也正是这种性质,让每一只加密猫都有自己的DNA 数据,例如毛色、花纹、眼睛、瞳孔颜色等等。

 

与加密猫举世著名的 项目 名声比,加密猫真正的“父亲”,加密猫的开发团队Dapper Labs则显得不那么有名,这与Vitalik Buterin、Gavin Wood与他们的Ethereum一起出名相比,显得很不“公平”。

 

加密猫团队Dapper Labs现有近100名全职员工(开发者占大多数),是全球范围内知名的、专注于区块链和高品质DApp开发的、成规模的独立团队之一。 Dapper Labs团队在2017年推出了加密猫后,又推出了一款精致的DApp游戏Cheeze Wizards

 

 

不过,这一路的创业历程,也让Dapper Labs看到了一个颇为重大,且众所周知的问题:以太坊的龟速性能实在不足以支撑区块链世界的强劲需求。

 

于是,Dapper Labs开始了新的征程,一条旨在解决以太坊扩容以及速度等基础建设问题的公链被提出,这就是Flow,福洛。

 

 

2、以太坊的“性能障碍”,与Flow公链的“四节点结构”

 

ETH2.0不是快来了嘛,为啥大家不等等?相信这是多数人对于所有公链开发者的共同问题。

 

众所周知,ETH2.0的分片架构能够让TPS从当下的30扩充到3000,处理速度增加100倍,但是另外一个事实是,ETH2.0开发进程十分缓慢,就像以太坊当下的处理速度一样:龟速前进。

 

以太坊发展分为四个阶段,分别为Frontier Phase(前沿期)、Homestead Phase(家园期)、Metropolis Phase(大都会期)、Serenity Phase(宁静期)。最后一个Serenity Phase就是ETH2.0正在经历的,这一阶段又分为0/1/2/3四步完成,目前处于第0阶段。

 

ETH2.0开发进度

 

ETH2.0开发早已开始,但一拖再拖,例如当下开发还处于Serenity Phase 0,即信标链阶段。未来,Serenity Phase0/1/2/3四个阶段全部完成,ETH2.0才算真正上线。

 

什么时候能上线?有从业者认为还需要10年,这种说法有点夸张,但业内的共识是还需要3年才能够上线,无论是10年还是3年,对DApps开发者来说,结果都是一样的,即当下用不了。

 

这也是Polkadot、Tezos、Cosmos这类公链与跨链项目存在的根本原因,当然也包括Dapper Labs主导开发的Folw公链。

 

众所周知,提升公链性能的关键在于“扩容”,BCH通过提升区块容量的方式扩容,BTC通过“隔离见证+闪电网络”的手段“扩容”,Ethereum通过分片“扩容”,Polkadot网络通过“中继链+平行链”的架构进行“扩容”,Cosmos则通过“Hubs+Zone”的方式“扩容”,这里的扩容之所以加上引号,是因为有的技术并不是真的扩容,而是变相扩容,例如比特币的“隔离见证+闪电网络” 。

 

但是,无论哪种扩容手段,都绕不开“区块链不可能三角”,这是由Vitalik Buterin曾提出的,不可能三角是指:区块链的去中心化、安全性、公链性能三者是天然矛盾体。

 

 

虽然“区块链不可能三角”尚未得到正式证明,但几乎可以肯定是,这符合区块链的世界观。如果想要提升某一个方面的性能,则必须至少牺牲“三角”中的一个维度,例如你要提升性能,可能就得牺牲掉去中心化,例如DPos的21个超级节点架构就是牺牲了去中心化这个指标。

 

那么,我们今天的主角,Flow是如何做到的呢?

 

Flow并不“打破”或证伪不可能三角,而是选择更加聪明的手段:绕过它。诀窍就在于,Flow公链让不同的节点扮演不同的角色,为系统中每个部分进行合理取舍,下面为大家详细介绍。

 

在Flow中,共有四类节点,分别为收集节点(Collection Node)、共识节点(Consensus Nodes)、执行节点(Execution Nodes)、验证节点(Verification Nodes)。

 

 

共识节点(Consensus Nodes)最容易遭受拜占庭攻击,Flow最大程度保证其安全性和去中心化。当然,这限制了它们的可扩展性,但这实际上并不是问题,因为Flow不要求共识节点完成任何计算量大的工作。

 

另一方面,Flow提高了执行节点(Execution Nodes)的可扩展性 ,以显著提高吞吐量。这影响了这些节点的安全性和去中心化 ,我们通过由高度安全 和去中心化 的验证节点,对交易的每个步骤进行确认,来解决这一问题。

 

对每一类节点,这个不可能三角推论都是适用的,但是合并后,系统每一部分的弱点都能为其他部分的优势所弥补。

 

那么,这四类节点是如何配合工作呢?

 

 

3、解析Flow公链“四节点架构”的工作流程

 

Flow 上的交易将提交给收集节点(Collection Node),成为集群(Cluster)的一部分。群集(Cluster)中的绝大多数节点都必须对收集(Collection)进行签名,才能向共识节点(Consensus Nodes)发送收集保证。

 

这里指的保证包括从交易内容、群集(Cluster) ID、群集(Cluster) 交易数和签名得出的哈希值。交易资料会存储在收集节点(Collection Nodes)上,而收集节点必须回应来自执行节点(Execution Nodes)的资料查询。链上的奖励则仅由有在收集(Colection)签名的节点接收。

 

 

共识节点(Consensus Nodes) 在确认多数节点签名的收集(Collection)后,会建构包含收集保证(Collection Guarantees)的区块。一旦区块位于链上,执行节点(Execution Nodes)会联系收集节点(Collector Nodes)以获取收集(Collection)的全部内容。

 

收到交易后,执行节点(Execution Nodes)将运行它们并发出执行收据(Execution Receipt)。至此,节点已经完成了必要的计算工作,以确定链的新状态。

 

这些收据也会被共识节点(Consensus Nodes)包到新区块中。当完成新区块时,验证节点(Verification Nodes)将开始工作,以确认该区块中所有独立执行的工作都是正确的。

 

为了验证工作,该区块上的资讯会被分块,分块会被分配给一组验证节点(Verification Nodes),这些节点会与执行节点(Execution Nodes)联系以获取与其块所相对应的数据。如果验证节点(Verification Nodes)确认该块的计算正确,则将结果发布给共识节点(Consensus nodes) 。如果有错误,则会发出错误的计算质询。

 

一旦共识节点(Consensus nodes)从块上获得足够的结果批准与执行收据(Execution Receipt),共识节点(Consensus Node)会在下一个新区块中包入收据的结果印章。

 

至少要有1/3个验证节点(Verification Nodes) 有结果批准书才能包入结果印章。如果一个或多个块未收到结果印章,则共识节点(Consensus Node)将触发这些块的完全检查模式(Full Check Mode),所有验证节点(Verification Nodes)都将检查有问题的块,而所有验证节点的三分之二必须有结果批准书以密封结果。如果为同一块提供了两个或更多执行收据,则也可以使用完全检查模式。密封结果后,关联的交易将最终确定并不可更改。

 

上就是Flow在提升性能方面的努力,当然,在提升性能之余,Flow还有六大技术特点。分别是:多重角色架构(Multi-role architecture)、资源导向程式设计(Resource-oriented programming)、高度符合区块链开发人员的程式需求、极佳使用者入门体验、便宜且可预测的区块链交易手续费、容量抵押金。

 

 

4、Flow公链的六大技术特点,全面提升性能

 

1)多重角色架构(Multi-role architecture)

 

这就是前文提到的“四节点架构”,这里再次强调这一架构的重要性。

 

Flow的共识流程与计算过程是分开的,Flow划分了四种类型的访问节点,这些节点的工作流程包含收集(Collection)、共识(Consensus)、执行(Execution)和验证(Verification)。 Flow的多重角色架构使更多人能参与网路,将节点分成4种类型也意味着参与运行所需的效能更少,与其他 PoS 网路相比,参与成本也相对更低。此外,划分四种类型的节点可以达到专业分工的效果,产生更快的交易速度和生产量。

 

2)资源导向程式设计(Resource-oriented programming)

 

Flow 的智能合约使用Cadence撰写,Cadence是一种为了安全性和易用性而设计的语言。它比其他用于智能合约和数字资产的程式语言更容易撰写,也更安全。而Cadence的创立目标就是期望能比其他语言更易于学习和审核。在 Flow Playground 上目前已创建了2,000 多个项目,这是目前你能着手进行区块链开发最简易的地方,欢迎一同来这里动手做开发。

 

Flow所推出的Cadence和Facebook Libra所推出的Move是两个首度采用资源导向(resource-oriented)设计的程式语言。最近Flow也宣布与Libra官方合作,未来将有机会让两边开源专案与社群互通,创造资源导向(resource-oriented)程式设计更大的共同生态系。

 

3)高度符合区块链开发人员的程式需求

 

Flow 结合了多种新颖功能,可提高工作效率、便利性和实用性,举例来说:

 

可升级的智能合约:为了使开发人员有机会调整和修改其程式码,开发者可以将智能合约的“测试版”状态先部署到主网,让用户知道程式码尚未完成。

 

在Flow Cadence 的架构中,有内建Multisig 私钥的机制,权限控管不再像是Ethereum 上面,使用在合约上纪录一个白名单的方式达成,而是藉由每个授权帐户中的资源达成,开发者可以部署合约到自己的帐户、程式码可以自己更新。当开发者确定完成程式码后,他们便可再放弃对合约的控制,此时就不能再对其进行更改。

 

Flow 模拟器:Flow 提供轻量级开发模拟器,使开发人员无需运行在节点或在测试网、主网上进行部署即可构建和测试自己开发的应用程式。

 

4)极佳使用者入门体验

 

Flow 的体验设计着强调“非技术”使用者也能轻松进入区块链世界。 Flow提供的模组化智能合约功能可帮助开发者实现自动化流程和解决复杂的授权控制,而Flow上的应用程式和钱包可以向使用者提供清晰的资讯,告知每一笔交易将产生什么影响。 Flow上交易的撰写方式可让使用者知道执行交易前与执行后的状态为何,以确保使用者在提交交易时,能确认自己了解交易的环节。

 

5)便宜且可预测的区块链交易手续费

 

在Flow上的交易手续费便宜且可预测,并会确保DApp及其用户保持资讯一致性。在Flow上,会对链上的任何交易收取基本费用,该费用将足以支付大多数交易手续费。而计算方式则会根据执行交易时的变量去计算。

 

6)容量抵押金

 

在建立Flow帐户时需要以Flow令牌作为押金,以支付帐户中存储资产的容量费用, 这笔抵押金将能永久保留该帐户的10kb 容量,以确保用户状态永远不会被系统删除(许多网路系统为了解决空间用量持续扩大问题,会让部分空间遭受被删除的命运)。

 


 

这就是Flow公链,一个致力于服务下一代区块链游戏、DApps和区块链开发人员的高性能区块链基础设施。随着开发深入,支持项目增多,其究竟会交出怎样的成绩单,一切都十分值得期待。



ETH公链区块链行业
本文仅代表作者观点,不代表本站立场,若侵犯了您的合法权益,请点击联系我们。