Flow 2022 回顾与 2023 展望

Tags
Flow
Published
Dec 20, 2022 07:40 AM
Language
ZH
notion image

Flow 市政会议: 回顾 2022 展望 2023

错过了有史以来第一次 Flow 集会?还是只想回顾所有共享的信息?为了方便阅读,这里有一个会议的完整总结,也方便大家在社交媒体上分享。
Flow 诞生于需求——它诞生于拥有一个主流消费者规模的第一层区块链的需求,这个区块链不会做出任何妥协:
  • 在可伸缩性上没有妥协: Flow 有一个新颖的多节点体系结构,它不需要分片或二层。但是,这意味着我们不必构建1个节点软件,我们已经构建了6个节点,而且还会有更多的节点。
  • 在安全性和所有权方面没有妥协: 简单的选择是使用一种现有的语言,比如 Solidy,并且与 EVM 兼容,但是开发人员的体验不会得到改善。Flow 的本地智能合同编程语言 Cadence 是从头开始设计的,它在安全性、可读性和灵活性方面引入了关键的改进,这些是 web3 现有语言所不具备的。
  • 在采用上没有妥协: 引入下一个 10 亿用户不仅仅是一句俗气的咒语: 这是 Flow 存在的全部原因,1700万用户之后,我们已经在这么做了。这需要新的范式,比如支持每个帐户的多个密钥共同签名和增强的安全性,用户友好的钱包和快速和近乎无偿的交易,使与区块链的互动对用户来说是一种透明的体验。
随着2022年接近尾声,我们有机会回顾一下 Flow 在过去 12 个月里在这个愿景方面取得的进展。如果我们用一个词来概括,那就是: 增长。 这里有一些数据可以说明这一点:
  • Flow 上创建了1750 万个账户: 同比增长4.9倍
  • 迄今为止的 3 亿笔交易: 同比增长3.5 倍
  • 2500万 NFT 交易: 任何链中的最高
notion image
当然,整个网络的增长只是 Flow 上正在发生的事情的一个指标。还有一些世界级的建设者将令人惊叹的体验带到了生活中。
notion image
notion image
notion image
无论是财富500强,高增长的初创企业或独立开发者,Flow 是建立主流消费者规模的体验的地方。越来越多的建设者意识到了这一点,过去的12个月只是未来的一瞥。

开发者成长与生产力

今年是 Flow 建设者最为重要的一年。有几种方法可以衡量开发人员的活动: 网络活动、依赖库下载和 DApps。
2022年,7000 名新开发人员将合约部署到 testnet 上(同比增长 250%) ,Flow Client Library 的下载次数达到 63 万次(是前一年的 2 倍)。仅今年一年,我们就总共部署了 2,430 个 mainnet 合约!还不够厉害吗?这里有一些你可能会喜欢的高光时刻:
  • 9 月份,我们有550多个月度活跃合约,仅 ChainMonsters 合约每天就有13 万笔交易
  • 今年 5 月,FCL 在一周内被下载了3万次
  • 自推出以来,FCL Discovery 服务每月相应 128K 的请求
开发者的增长不仅仅是数字——它还关乎生产力。生产力意味着能够更快、更安全地构建 DApps,并且更容易获得资金和支持。在 2022 年,我们看到了开发人员工具和服务的以下改进。
notion image
notion image
notion image
notion image
改善开发者体验并不是我们为生态系统助力的唯一方式。我们还引入了开发人员激励,这是我们的下一站。

开发者生态系统支持

2022 年,我们引入了开发者激励。帮助开发人员实现他们的新想法,并为开源生态系统做出贡献。我们收到了90 份申请,接受了35 份申请,批准完成了69 个里程碑,向受赠者支付了 67.7 万美元的 FLOW 代币。如果想更深入地了解 2022 年的开发者激励,请查看这篇博客了解更多细节。
只举几个你可能用过的项目: Flowser 的 CLI 集成,Outblock 的 iOS + Android SDK,Bjarte 的 Overflow,Tyron 的 .NET SDK。我们不仅支持工具和服务,我们还提供资助来制作教育材料,即我们支持 Buildspace、LearnWeb3 和 Emerald Academy 运行他们自己的训练营、课程和链上证书。
notion image
notion image
随着所有这些生态系统的增长,核心 Flow 技术必须跟上并维持这一切。让我们深入挖掘一下,看看核心团队在努力工作中取得了哪些成就。

Flow 的关键技术里程碑

Cadence

Cadence 是为 web3 和数字资产设计的。在开发了诸如 CryptoKitties on Etherum 这样的主流 DApps 之后,我们意识到 Flow 应该拥有比 Soliity 更好的智能合约编程语言。Cadence 就是这样出生的。
Cadence 有三个核心优势:
  • 安全与可靠 —— 让开发者专注于业务逻辑的开发,而不是花费精力去预防事故和攻击
  • 可组合性 —— 以资源为单位,可以在不同的合约之间流动,也易于整合现有的链上合约逻辑
  • 简单易上手 —— Cadence 的语法受多种流行开发语言的启发,开发者会发现用 Cadence 快速写出产品级的合约代码是非常容易的。
notion image

无许可的智能合约部署和 Secure Cadence

今年交付的最重要的里程碑是 Secure Cadence,它支持无许可合约部署。 Secure Cadence 工作于 2021 年底开始,包括一些重要的交付成果:
  • 可变交易费用是公平计算使用量的关键激励机制
  • 内存使用测量和限制,提供内存耗尽攻击的保护
  • 检测资源重复的防御性检查层
  • 重构错误处理以避免崩溃
  • 使用自动模糊化改进测试覆盖率
我们完成了 Cadence 与执行运行时安全审计(由两个外部审计员完成),以及运行 Bug Bounty 和有针对性的渗透测试。总体而言,我们发现并修复了 10 多个安全问题。
Cadence 团队还构建了一些工具来帮助社区扫描他们的合同并检测重大变化。
Secure Cadence 于 6 月 15 日在 Mainnet 上发布,7 月 5 日之后不久开启了无许可合约部署。
notion image

Cadence 新特性

今年推出了40多项功能,突出了以下几点:
  • 存储查询 API,它使得搜索帐户存储变得容易,这是 Flow 开发人员的一大痛点。
  • 语法和检查 Immutable 值和函数,这通过使哪些函数可能具有副作用变得更加清晰,从而提高了 Flow 开发者的安全性。
  • 用于引导功能的 API,这使得我们能够以一个简单和安全的方式与特定的用户共享资源能力。
  • 获取所有 PublicAccount keys,简化公钥访问。
  • 接口方法的默认实现,这使得以向后兼容的方式更新接口成为可能。
  • 我们还添加了一些标准库实用程序函数和扩展,以及 REPL 的改进。

Cadence 新工具

  • Cadence 测试框架,使得第一次使用 Cadence 测试 Cadence 代码成为可能。
  • Cadence Linter 用于静态程序分析
我们还部署了30多项改进,提高了跨解析器、类型检查器和解释器的 Cadence 性能。这些更改是提高交易执行速度和内存使用量的主要因素。
notion image

Flow 改进建议 (FLIPs)

迄今为止,独立研究人员和来自更广泛社区的贡献者已经提出并接受了10 个 FLIP,另外 3 个仍在进行中,但非常接近被接受。值得关注的有:
  • Cadence 可变性限制提高 Cadence 开发者的安全性。
  • Cadence BorrowContract允许动态导入合同,简化合同代码。
  • Publish & Claim for Capabilities解决能力自举问题。
  • Attachments允许扩展现有资源-这将使著名的“ Kitty Hats”用例在 Cadence 中实现非常简单。

智能合约工程

智能合同工程小组与来自社区和 Dapper 实验室的相关者合作,以增强部署在 Flow 上的合约的影响和网络效应。他们负责开发标准、模式或模型,这些标准、模式或模型可以简化进入门槛并减少开发者所需的持续工作。
今年早些时候,我们发布了 NFT Storefront v2版税 MetadataViews 标准,这些标准提升了 Storefront 的几个新特性:
  • 管理跨多个市场的 NFT 的上架/售卖/清理
  • 改进了上架售卖广播和发现事件,使市场能够在上架事件出现在网络上时添加它们
  • 通过版税视图支持佣金和其他销售抽佣的扣除

核心协议

协议性能改进

Flow 的设计是为了满足需求,鉴于 2022 年令人难以置信的增长,该团队一直致力于性能的第一次大飞跃。在过去的 12 个月中,Flow 网络的 TPS 吞吐量增长了10 倍,从 50 TPS 增长到 500 TPS,全面提高了一些性能。
notion image
四月份,我们对共识节点推出了完全并发的投票处理,导致阻塞率和到达终点的时间增加了60% ,这使得网络的响应速度提高了很多。(图块率 [blocks/s]↓)。
notion image

网络弹性

Flow 的目标是支持所有节点类型的无许可参与。但这也意味着网络必须优雅地容忍来自恶意节点的错误消息。今年,我们推出了一个框架,以防止跨网络的消息级别攻击,并检测恶意节点模拟其他节点的企图。在此基础上,Flow 现在可以强大地容忍恶意访问节点。
此外,Flow 对不利操作条件和重负荷峰值的弹性也得到了显著改善。在所有节点中,特别是在共识节点中,许多不同的消息和事件同时被处理。过去的情况是,如果其中一个处理组件不堪重负,它将占用 CPU 资源,从而使其他重要组件无法获得系统资源。在严重的情况下,这将导致大的延迟、超时和破坏网络操作的稳定性。
在 2022 年,我们已经隔离了不同的处理组件,为每个组件分配了有限的 CPU 资源,增加了暂时挂起任务的内部队列,并在我们的节点中转移到了一个统一的事件驱动的软件设计。
处理组件的强隔离对于未来容忍更多恶意节点也很重要,因为现在通过网络内部垃圾邮件攻击来破坏 Flow 的稳定性要困难得多。
我们还对事件管理流程进行了一些改进,并调整了节点运行者社区,以更快地响应高严重性事件。因此,Flow 网络现在非常适应不利条件和负载高峰,在2022年其99.71% 的网络可用性清楚地表明了这一点。
notion image

每个人都有权参与的新节点角色

可伸缩性是决定成败的关键时刻ーー只有当网络的默认规模达到数百万时,数百万网络才会出现。绝大多数项目依赖于两个解决方案: 分片(第1层)和 Rollups (第2层)。这些技术可以解决当前的技术需求,但从长远来看,它们会带来更大的风险,这会将去中心化好处降到最低,并增加开发人员和最终用户的复杂性。
Flow 的方法是不同的: Flow 的节点沿着交易流程进行专门优化,而不是由每个节点完成所有工作。收集节点批处理工作,共识节点保护工作,执行节点执行工作,验证节点检查工作。访问节点是构建器可以通过其访问网络的接口。2022年,引入了两种额外的节点类型: 无许可的观察者节点和归档节点,以提高数据的可用性。
notion image

更快与更少的分叉

就网络更新方式而言,Flow 是唯一的。我们没有缓慢地添加向后兼容的更改,而是批量地将中断更改升级为更大的更新,暂时关闭网络,升级节点软件并重新启动网络。其带来的好处是降低了软件的复杂性,减少了错误和漏洞的可能性,从而使网络更加安全。此外,不需要担心遗留设计,Flow 网络可以迅速发展,特别是在其早期阶段。
随着时间的推移,网络逐渐成熟,突发性的变化不再那么频繁。2021年,我们做了 11 个升级,今年只有 5 个。但是我们并没有放慢创新的步伐,我们增加了一些机制,使协议本身能够在指定的块高度安排执行和验证节点的升级。然后 Flow 将保持响应并继续接受交易。只有当执行节点重新启动时,才会有一点计算交易的延迟。
最后,我们有大量优化的逻辑,将执行状态从旧的网络预过渡到新的网络。升级的停机时间已经从 2022 年初的 4 小时显著提高到今年最后一个升级的 90 分钟。

展望未来: 2023 年为主流而构建

2022 年对 Flow 来说是重要的一年,但 2023 年将会更重要。以下是 2023 年的展望。
notion image

渐进式用户引入: 与用户在一起

我们不得不好奇为什么区块链的主流采用通常是如此缓慢。一个因素当然是积极的用户体验和高质量的用户友好界面方面的局限性,这两者都是获取下一批用户的障碍。对于大多数新用户来说,目前的加密场景感觉有点像狂野的西部。
在许多情况下,他们不知道如何进行交互,对他们试图使用的服务缺乏信任和安全感。虽然自托管可能是 Web3 最重要的一个特性,但是下一个 10 亿区块链用户还没有自托管钱包
Flow 将为开发人员提供工具,使他们能够部署无钱包的低门槛应用,并获得即时价值。这意味着通过电子邮件或社交身份登陆新用户,并为用户创建一条路径,以便在他们准备好或应用程序要求时,无缝升级到自托管。

移动优先: 将 Flow 送去每个口袋

在 Web3中建立移动优化的体验是困难的,但是移动设备占据了超过 60% 的互联网流量。非托管钱包的体验在手机上太不友好了。对于那些利用非托管钱包登录/注册或签署交易的应用程序,用户必须在钱包和应用程序之间切换,以获得频繁的身份验证提示。
虽然中断用户会话以提示金融交易上的签名可能是有意义的,但许多链上事件应该在没有用户中断的情况下发生。因此,移动要想获得成功,就必须是一种无缝的签名授权体验。
随着托管服务的出现,用户将不必处理密钥或交易签名 —— 一个 Web2 友好的体验的围墙花园,资产锁定且没有任何便携性。Flow 将提供工具,这样开发人员就不必在类用户体验、安全性和可移植性之间进行取舍。许多令人兴奋的发展领域包括:
  • 通过子/父帐户模型进行帐户抽象: 它将建立在基于能力的模型,支持子帐户的无钥匙、安全范围、多帐户可变性
  • 具有 WalletConnect 库的多平台 SDKs —— iOS 和 Android SDK
notion image

无服务 DApps: 消除平台风险,创建信任和释放新的体验

构建软件的传统方法: 从 AWS 或 GCP 租用一组虚拟计算机实例,并在它们上面安装一个自定义引导映像,其中包含您需要的服务。有一个服务器/平台依赖于 AWS/GCP。
而 “无服务器”方式: 您根据服务框架(如 AmazonLambda)编写 API 服务和计算引擎。您不需要创建一系列冗余的机器映像(每个映像可以处理数千个客户) ,而是创建每个处理单个客户的作业。从那时起,它基于负载进行扩展,但仍然存在平台依赖性。
“无服务”方式(使用区块链) : 您将 API 服务和计算引擎编写为一系列智能合约、交易、脚本和客户端代码。智能合约和事务在区块链上运行,脚本在 Access 节点上运行,客户机代码在浏览器/客户机应用程序中运行。AWS、 GCP 等都没有以任何方式参与。
现如今区块链最大的问题之一是的大部分使用被简化为仅仅是一个用于资产跟踪或审计的数据库。
基于链上合约的游戏: Flow 将展示如何建立链上交互,100% 的链上游戏会消除任何平台风险。这将释放区块链的真正潜力: 信任,透明度,没有平台风险,并在顶部创作新的体验。
notion image

展望未来: 巩固 Flow 作为 DApp 开发的稳定基础

Stable Cadence:一次构建,永久运行
Cadence 的首要任务之一是设计和实现第一个稳定和长期支持的 Cadence 版本。这将打开「一次构建,永久运行」的真正承诺
通过这一过程,Cadence 将实现功能的完整性,核心智能合约将得到充分的实战测试,系统的经济效益将得到充分的理解,以提供长期支持,而不会遭受任何突破性的变化和维护问题。
notion image

性能提升

目前,交易执行是使用树遍历解释器来实现的,这种解释器并不是为高性能而设计的。生态系统开发人员将探索替代编译的选择,这有可能使性能提高数量级超过目前的水平。

基于 LayerZero 集成的跨链通信

LayerZero 桥将实现 Flow 和区块链世界之间的无缝资产转移。如今,链与链之间的桥接可能是一个昂贵、不确定和不安全的过程,需要用户在原始链和目的链上支付Gas费用。需要将包装的令牌交换为原生资产,为用户的 FLOW 添加额外的步骤(和交易费用)。流动资金池在跨链分散的金融应用中被碎片化了。
解决这些问题需要一个能够实现跨链互操作性和可组合性的协议,同时解锁加密网络中新的设计领域和可能性。这就是为什么我们决定使用 LayerZero 进行跨链通信。为了解决这个问题,我们将通过他们的平台使用一种多方的、基于事件的、随需应变的方案。

网络可用性: 更快与更少的分叉

我们听到了呼吁,Flow 生态系统要求更快更少的分叉,因此我们将采用高度协调协议升级,将大多数分叉的时间减少到 30 分钟以下。减少每个季度的升级频率,加上频繁的滚动升级,将确保协议提供更多的无缝升级,而不损害创新的步伐。
成熟协议的最终目标是进行无分叉升级。
notion image

改进的数据检索能力

目前,Flow 的核心协议没有指定任何方法来永久存储它随时间提交的所有执行状态更改。数据量太大,无法实现这一点,而且存储历史数据将浪费宝贵的链上存储。引入观察者和归档节点使用户可以在本地提取数据,用于归档和验证目的。
尽管如此,仍然需要一个经济上可行的解决方案来访问历史数据,而无需运行完整的归档节点,目前这需要完整的数据中心级硬件。社区将研究在社区级硬件上运行归档节点的新方法,从而更容易提取用于索引和分析需求的链上历史数据。
notion image

无许可抵押节点

我们的目标是对所有类型的节点实现完全无许可,但是网络可以通过逐步的方式渐进式的分散,使越来越多的社区节点拥有自主所有权。
随着观察者节点的启动,我们已经解锁了每个人的参与权,我们很高兴地宣布,我们首先将抵押协议中 Access 类型节点开放无许可。无许可的抵押节点需要一个新的选举算法并对社区公开透明,它也将由 BFT 保护,以防伪装和粉尘攻击。
notion image

我们已经分享了 2023 年你可以期待的一些东西,但是在整个生态系统中还有更多的创新计划。有一个协作计划将由世界各地的贡献者执行,在 Flow 的历史上,团队第一次发布了一个概述生态系统优先事项的蓝图。这份关于生态系统优先事项的文件将始终是一项正在进行的工作。通过使信息更容易获取和组织,我们可以降低贡献的门槛,并使跨社区的协作更加容易。
我们希望 Flow 在 2022 年之前的大规模增长的综述,以及对接下来会发生什么的展望,能够让你们和我们一样兴奋地思考整个生态系统已经成熟了多少。我们迫不及待地想看看 2023 年的 Flow 是什么样子。