技术分享| Flow 链全面升级其性能、可扩展性、弹性和可访问性
福洛链 Flow Official
2023-02-01 18:31
订阅此专栏
收藏此文章

原文标题:Flow is now more performant, scalable, resilient, and accessible

原文链接:https://flow.com/post/flow-blockchain-news-network-upgrades-spork-january-scalable-resilient-accessible

文章翻译:Flow 大使 Jing.

Flow 是一个开放的、去中心化的平台,它提供了使区块链技术成为主流所需的速度、可扩展性、可持续性和安全性。


Flow 的愿景是在 Web3 上吸引数十亿消费者。要实现这样的目标,需要在节点软件层面、基础设施层面和治理层面打下坚实的基础。Flow 最新的更新更是朝着实现这一目标迈出了一大步。在 Flow 社区成员(如 NCC、CoinbaseCloud、BlueSign 等)几个月的持续不断地贡献下,它引入了多项新功能,以提高网络的可扩展性、性能、弹性和可访问性,同时使其更加安全。


让我们来探索这些重大变化中的每一个,看看它们如何使 Flow 更接近实现愿景。



交易完成速度提高 20%

共享状态的一致性是任何高分布式系统(包括区块链)的基本挑战。在 Flow 链中,这种生成一致性(即共识)的责任是在共识节点上完成的,目前通过运行称为 HotStuff 的共识协议来实现这一点。虽然当前的实现可以很好地服务于 Flow 链,但它在性能和处理网络中某些共识节点故障的情况上存在一些缺点。


在此次 spork 中,Flow 转而使用 Jolteon 协议,它是 HotStuff 的改进版(参考资料)。这种新的共识协议将使共识节点达成协议的速度提高 33%,换句话说,最终确定区块的速度提高 33%。Jolteon 通过在 happy path 上仅使用两个子块(也称为 2-chain 最终确定规则)完成区块来实现这种加速(而不是在原始 HotStuff 中需要 3 个子块来完成最终确定,也称为 3-chain 最终确定规则),直接导致区块完成速度提高 33%。


对于要包含在区块中的交易,如果以交易最终确认的时间来衡量会有一些额外的延迟。因为它必须首先由访问节点提交到收集节点,再由收集节点打包在一个集合中,最后集合需要由共识节点使用共识协议包含在一个块中。因此,此次升级将交易在整个过程中完成时间缩短约 20%。一笔交易敲定后,还需要由执行节点执行,结果需要由验证节点进行验证,然后共识节点需要对包含交易的区块进行封存。更快的完成意味着交易在管道中移动得更快,并缩短完成交易所需的时间。


此次升级目前也已在测试网上运行,如下图所示,完成时间已大大缩短。

升级还将减少孤立块,这应该会减少某些交易花费异常长的时间才能包含在最终块中的情况。此外,Jolteon 提高了 Flow 的审查弹性,防止恶意节点试图将其交易内容不喜欢的区块孤立起来(详细信息请参阅 3 链最终确定规则中的“链质量”分析)。



提高区块生产弹性

新的共识升级对于网络中的共识节点停机(离线)也将更具弹性,这在去中心化的分布式系统中是不可避免的。Hotstuff 和 Jolteon 都是基于轮次的算法,在每一轮中都有一个共识节点被指定为领导者来提议一个块。如果领导者提出了一个有效的区块,那么其他共识节点将对其进行投票;如果投票通过,该区块将被接受为链的暂定扩展,下一轮将产生新的领导者。然而,如果一轮中的领导者离线(或恶意),其他节点只能等待领导者提出一个块,这会浪费时间直到它们超时并意识到领导者节点已关闭。新的共识引入了所谓的主动起搏器这有助于节点之间积极协调,并决定是否要在没有大量等待的情况下放弃领导者。这使得区块生产对共识节点宕机更具弹性。


这也有助于加快 spork 过程。过去,即使大多数共识节点在一个 spork 之后都起来了,但由于它们不是并发启动的,所以它们不同步,因此无法达成共识,导致链无法出块直到它们所有最终都同步了。这导致了 spork 完成的延迟。通过实施 Active Pacemaker,即使节点出现乱序,它们也会更快地同步,因为它们可以更好地协调。


Active Pacemaker 还允许在未来更积极地调整共识,以保持性能,即使有相当一部分共识节点处于离线状态。此外,它解锁了完全拜占庭容错的 Epoch 切换。



通过早期帐户验证改进对垃圾邮件的保护

此次 spork 为网络增加了垃圾邮件保护,防止账户发送他们无法支付的交易。此前,如果提交了一笔资金不足以支付费用的交易,它会执行,然后在扣费期间执行结束时失败,浪费资源。这一点现在已经改变,以便在执行交易主体之前检查付款人余额,保护链条活性免受此类垃圾邮件攻击,并帮助 Flow 接近 99.99% 的 SLA 目标。


■ 支持无许可访问节点

无需许可的访问节点即将推出,将使任何想要独占非共享访问节点的 dApp 开发人员能够运行私有访问节点。此次 spork 标志着过去几个月为更新节点软件的一些核心组件以支持无许可访问节点构建所做的广泛努力的结果。


最核心的是,这些更改包括更新网络层以使其更加拜占庭容错 (BFT),这样如果网络中有 BFT 节点,其他节点将拒绝来自该节点的流量。但是,它还包括对网络层使用的一些开源库提交一些更改,以确保使用这些库不会引入漏洞。


更新后的节点软件也由领先的 web3 安全审计员之一——NCC 审计,审计中发现的问题得到解决。

有了这个,节点软件现在对来自可能作为无许可访问节点加入的拜占庭参与者的网络层攻击具有极强的弹性。


■ Cadence v0.30:动态合约导入和账户收件箱

此次 spork 会将主网上的 Cadence 版本更新到 v0.30。这个新的 Cadence 版本引入了两个主要特性和十二个性能改进变化。


动态合约导入

此功能支持从地址动态导入合约,从而可以在 Cadence 中使用 Solidity 开发人员常用的模式。这是静态导入合约的替代方案,并提高了弹性,因为可以更优雅地处理导入失败。

⭐ 这是Bluesign(https://twitter.com/bluesign)由社区驱动并实现的功能(FLIP)


用于 Capability 引导的 API

新功能可简化与单签名交易中其他帐户的共享功能,取代需要发送方和接收方都签署交易共享功能的旧模型。

  • FLIP:https://github.com/onflow/flow/blob/02bf15ff0246527168659300fc188f0737c3e7cb/flips/20220908-publish-claim-capability.md

  • 更多请见:https://developers.flow.com/cadence/language/accounts#account-inbox



通过更快和更少的网络升级来提高网络可用性

一次 spork 确实需要一些网络停机时间。为了提高网络可用性,spork 进程已尽可能优化。这次 spork 在 60 分钟内完成,但未来不涉及状态迁移的 spork 应该在 30 分钟内完成。如果 spork 涉及状态迁移,那么它应该在大约 45 分钟内完成,具体取决于迁移的类型(状态迁移是将现有数据转换为新数据模型的过程)。spork 也将更改为每季度一次 spork,而不是每两个月一次。但是,为了确保创新的步伐不放慢,将引入两种新的持续部署方式——滚动升级和高度协调升级。滚动升级将允许节点运营商在没有任何网络停机的情况下更新节点软件。高度协调升级还需要更新节点软件,但更改将在特定区块高度生效,需要重启执行节点,这可能导致交易执行暂停几分钟。


虽然我们尽量避免停机,但这些即将进行的网络升级将使 Flow 性能更高、更安全、更可靠。我们期待继续与您携手合作,充分发挥 Flow 的潜力。


继续前行!🚀


 END 

什么是 Flow 福洛链?


Flow 福洛链是一个快速,去中心化,且对开发者友好的区块链,旨在为新一代游戏、娱乐应用程序提供动力的数字资产的基础。Flow 是唯一一个由始至终为消费者提供出色体验的 Layer-1 区块链团队。其团队创造的 dApp 包括:CryptoKittiesDapper WalletsNBA Top shot


CrytoKitties 于 2017 年推出时便快速成为加密市场最受欢迎的 dApp,因其成功而导致以太坊堵塞。在 Flow 上运营的 NBA Top shot 也已成为增长最快的 dApp,在公开发布后的 6 个月创造了 7 亿美金销量。正因为 Flow 公链的可扩展性和消费者友好的体验,让这一切成为可能。目前有 1000 多个项目正在 Flow 链上筹备中,我们期待看到一个伟大的生态系统蓬勃发展。


关于 Dapper Labs

Dapper Labs 是一家位于加拿大的全球顶尖区块链服务商,在 2017 年年底通过 CryptoKitties 收藏游戏成功进入⽤户视野,并且因为加密猫的爆⽕导致以太坊拥堵,从而推出 Flow 公链以及全新的开发语言—— Cadence,旨在吸引更多的开发者在 Flow 上开发应⽤。 


Flow 的合作伙伴们:

我们欢迎越来越多的小伙伴加入 Flow 星球,为星球增添色彩!


Flow 官网:https://zh.onflow.org/

Flow 论坛: https://forum.onflow.org/

Flow Discord:

https://discord.com/invite/flow

Flow CN Telegram: https://t.me/flow_zh

Flow B 站:https://space.bilibili.com/1002168058

Flow 微博: 

https://weibo.com/7610419699

Flow CSDN:

https://blog.csdn.net/weixin_57551966?spm=1010.2135.3001.5343


扫码添加 Flow 官方账号微信号,加入 Flow 生态群

微信号 : FlowChainOfficial

【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。

福洛链 Flow Official
数据请求中
查看更多

推荐专栏

数据请求中
在 App 打开