作者推特:https://twitter.com/johns20178
Aptos 是一个新的独立L1层区块链项目,旨在实现我们提供世界上最安全和最适合生产的区块链的愿景。
Aptos 在 a16z crypto 牵头的战略回合中筹集了 2 亿美元,参与方包括 Multicoin Capital、Katie Haun、3 Arrows Capital、ParaFi Capital、IRONGREY、Hashed、Variant、Tiger Global、BlockTower、FTX Ventures、Paxos 和 Coinbase Ventures,以及 Web2 和 Web3 生态系统中的其他杰出公司、高管和天使的大力支持。
Aptos 技术栈由 30 多人的加密平台研究和工程团队研究、设计和开发,他们具有共识、密码学、分布式系统、形式验证、安全等领域的专业知识和博士学位。代码库已大幅增长超过 3+年拥有 292 位独特的开发人员和数十个社区驱动的改进建议。它通过许多不同的用例在生产环境中进行了实战测试,并由众多企业运营商运营了一年多,有十几种可能的灾难场景。我们在零停机时间的私有主网上进行了多次成功的重大升级。代码库是开源和社区管理的,其长期目标是构建可用于许多网络的基础设施。
除了资金之外,aptos今天还向前迈出了一大步,推出了 Aptos 的公共 Devnet!代码库现在是开源的。网络起来了。文档是实时的。联合创始人 Avery 今天也发表了一篇精彩的文章,概述了网络的主要功能,包括Aptos 编程语言Move,以及如何利用它们来构建安全可靠的世界级应用程序。
移动语言:安全灵活的区块链语言
Move 语言专为在区块链上进行安全资源管理和可验证执行而设计。事务执行是确定性的、封闭的和计量的。确定性和封闭性意味着交易执行的输出是完全可预测的,并且仅基于交易中包含的信息和当前分类帐状态。计量是在事务执行级别抵御拒绝服务攻击的重要防御措施。移动证明者可以通过表达性规范语言正式验证 Move 模块的属性,并且速度足够快,可以作为持续集成测试的一部分运行。移动资源,受线性类型启发,静态确保资源得到保存,不会被复制或意外破坏 — — 完全避免了一整类潜在的攻击。我们的区块链和 Move 语言是在三年多前同时共同开发的。账户、交易费用、标准库、验证节点管理和配置都通过 Move 实现。我们喜欢 Move 的安全性,并且很高兴能帮助围绕它建立一个广泛的生态系统。
生产级、高保证 BFT 共识协议
我们的团队开发了生产级、低延迟的拜占庭容错 (BFT) 引擎。在过去三年中,我们已经实施了协议的第四次迭代(最先进的HotStuff衍生产品)。在此期间,我们在私有主网环境中升级了共识协议,该环境具有多样化的运营商和零停机时间。我们对 BFT 协议的第一个实现添加了一个主动起搏器,它使用超时来同步验证器,这比等待增加的超时要快得多。随着我们对协议的最新改进,区块只需两次网络往返即可提交,从而使亚秒级的最终确定性成为常见情况。我们新颖的声誉系统分析链上状态并自动更新领导者轮换以适应无响应的验证者,无需任何人工干预,使其非常适合去中心化环境。此外,我们的协议清楚地将活性与安全区分开来。无论网络不可达或非安全核心以某种方式受到损害,只要 BFT 诚实保证得到维护,链就不会分叉。我们的共识协议的安全性已经过审计和正式验证。
我们的研究表明,可以通过利用超过 2f+1 个节点对一个块进行投票的时间段来增加我们当前 BFT 协议的阻力的简单扩展。这些更强有力的承诺为网络未来不会分叉提供了更高的信心,并进一步提高了用户对超越标准 BFT 属性的最终性的信心。
Aptos Core 实施和测试
在不同环境中运行的大量验证器对于去中心化和安全性都很重要。此外,验证器软件必须安全地设计以防止攻击 — — 这是我们选择 Rust 和 Move 作为实现协议和智能合约逻辑的首选语言的主要原因之一。
Aptos 区块链的核心安全属性依赖于验证器、Move 模块和 Move VM 的正确实现。我们已经将代码模块化并确定了一个最小可信计算库(TCB),它隔离了关键的安全属性(例如共识协议的安全性和执行正确性)。模块化和 TCB 的使用使我们能够利用高保证开发技术。此外,对于安全关键组件,我们可以对代码审查、依赖关系、测试和执行环境安全实施更严格的要求。
我们将数十年的互联网规模开发、测试和部署软件的集体经验与在去中心化环境中可靠运行的新想法结合起来。在每次代码提交之前,我们都会运行一系列分布式网络测试,例如负载测试和拜占庭攻击,然后评估正确性和性能结果。在主网部署之前,我们还分阶段向多个测试网络推出,每一步都进行了大量的负载和寿命测试。我们即将在第二季度推出的激励性测试网将重点关注构建关于节点操作的社区学习。我们已经在与世界领先的节点运营商合作准备和测试各种灾难恢复场景方面拥有丰富的经验,并期待构建最可靠的去中心化网络。
更安全的帐户密钥恢复和轮换协议
为了防止密钥被盗,Aptos 支持任何帐户轮换其私钥的能力。验证者还可以定期轮换他们的共识密钥,以提高安全性。为了避免数十亿美元的价值因密钥丢失而被锁定的问题,我们还致力于开发可直接集成到区块链账户模型中的密钥恢复新技术。
多代理交易
多代理交易利用 Move 的签名者类型,允许在单个交易中跨多个链上账户进行任意数量的原子操作。这可以使原子交换、K-of-N 批准以及两个或多个链上实体之间的任意原子操作在单个事务中完成。使这些复杂的交互不可分割可以提高安全性和性能。将多代理交易与多签名支持结合在一个帐户中时,可以实现更广泛的可组合模式和用例。
众所周知,高交易费用、低吞吐量和高最终率限制了区块链用例,并推动了对性能优化的 L1 和 L2 区块链的需求。可扩展性的一个不太受欢迎的方面是链上存储非常昂贵,并且在扩展到数十亿个账户和数万亿个链上和链下资产时面临性能挑战。我们的目标是全面关注用户体验的性能。我们认为 L1 区块链应该承担更多的可扩展性责任,以简化和主流化用户体验。
端到端指标和测量
多年来,围绕区块链性能指标存在巨大的混乱。让我们从最简单的定义开始。
吞吐量和最终性受许多因素影响。首先是交易的复杂性。将代币从 Bob 的账户转移到 Alice 的账户的简单点对点交易比预先生成 1,000 个 NFT 的交易便宜得多。验证者和账户的大小和分布也会对性能产生很大影响。有多少个验证器,它们的硬件规格是什么?有多少个帐户(例如 10,000 对 10 亿个帐户)?帐户大小分布是多少(例如 1k 与 10 MB)?什么是访问模式分布(例如 零事务冲突到完全顺序依赖)?交易之间的排序保证是什么(部分排序或全排序),它们是否非常适合智能合约?这些因素使得很难客观地比较不同网络之间的性能。在考虑衡量绩效的不同方法时,比较会更加令人困惑。例如,我们对一系列基于 DAG 的共识协议(即All You Need Is DAG , Narwhal and Tusk: A DAG-based Mempool and Efficient BFT Consensus and Bullshark: DAG BFT Protocols Made Practical ) 证明这类协议的范围可以从 125,000 到 160,000 tps 甚至更高。然而,这些吞吐量数字并不代表端到端区块链的吞吐量,因为它们只考虑了共识、网络和部分存储方面的考虑。它们没有考虑其他重要的考虑因素,例如交易执行时间、帐户访问模式或生产区块链中经过身份验证的数据结构(例如 Merkle 树)。在最终性方面,区块时间经常被误认为是最终性,而实际上,区块时间是最终性的一个输入因素。
我们相信基准测试的透明度和开放性,解释测试方法之间的差异,并清楚地说明组件与端到端结果。在接下来的几个月中,我们将分享详细的端到端性能发现和测试方法。随着时间的推移,我们打算分享基准测试框架并比较不同区块链上各种用例的性能特征。
通往高吞吐量和快速终结的旅程
这一旅程的一个重要步骤是将共识协议与交易执行完全分离。共识协议就提议的交易排序达成一致。在单独的协议中和关键路径之外,验证者执行交易并就最终交易排序和执行结果达成一致。集成共识和执行的协议更简单,但由于它们的相互依赖,在吞吐量和延迟方面付出了更高的成本。
如前所述,我们拥有经过多年测试的最低延迟、最先进的 HotStuff 变体。在最常见的情况下,该协议承诺在两个完整的网络往返中达成协议 — — 即使全球网络往返需要高达 250 毫秒,也很容易达到亚秒级。在受到攻击或网络中断期间,链上信誉系统会自动将验证者宕机的负面影响降至最低。我们已经开始研究和开发下一个共识协议迭代,以推进交易传播,并期待在今年晚些时候使用这项技术升级测试网。
在将共识协议与执行管道解耦后,下一个瓶颈是交易执行时间。使用受软件事务内存启发的新技术,我们在仅执行基准测试中仅使用 32 个内核实现了每秒超过 130k 的事务。开发人员可以免费获得这种好处,因为我们的执行框架会自动利用任何工作负载中固有的并行性。无需提供来自开发人员的额外信息。也许最重要的是,高吞吐量的区块链意味着用户的低交易费用。
性能的最后一个瓶颈 — — 也是最被忽视的 — — 是经过身份验证的数据结构和相关的状态存储。一个挑战是,在验证账本状态(例如账户余额、智能合约等)时,内存中的 Merkle 树在小规模上是有效的,但是,将大型 Merkle 树写入持久存储是一个瓶颈。我们正在通过探索更高的分支因子、访问模式优化的缓存和仔细的版本控制来设计我们经过身份验证的数据结构,使其对数据库友好。我们目前还在开发对大型帐户的支持 — — 能够访问每个帐户的单个 Move 资源,而不是作为单个 blob 低效地访问,并通过将 Move 资源拆分为访问模式优化的块来研究未来在 Move 资源中进行更精细访问的路径。
并行账户交易,同时保留对交易排序的控制
以太坊普及的序列号方法为用户提供了对交易排序、高效内存池过滤和有限内存使用的完全控制。我们已经尝试使用抗冲突的序列号来增强序列号方法,以允许帐户在序列号窗口上并行,同时仍然允许用户在必要时控制交易排序。我们未来的工作是考虑更灵活和可组合的并行性的替代实现。
对轻量级、完整、归档和验证节点的快速灵活的状态管理支持
对于高吞吐量区块链,节点之间的状态同步可能是 CPU 密集型的。我们支持一系列不同的状态同步协议,这些协议可以权衡 CPU 和网络带宽。为了支持廉价的全节点,我们有一个协议,可以同步交易及其执行结果,由法定人数的验证者签名,允许节点以更高的网络吞吐量为代价跳过计算,并直接从已执行的账本状态更新账本状态结果。
客户端无需像大多数区块链那样下载区块链来获取最新的分类帐,而是可以使用顶级交易累加器来获取最新提交的交易。如果需要,这还允许对以前的交易和分类帐历史进行廉价的修剪。受信任的航路点还允许节点快速同步以快速赶上。
网络必须快速适应支持不断发展的 web3 需求。区块链用例和技术改进不断增长和跨越式发展。例如,2021 年,NFT 成为400 亿美元的市场. 许多人预测 2022 年将是 DAO 获得采用的一年。正在开发新的共识协议和智能合约语言。隐私保护交易变得越来越实用。不幸的是,今天的许多网络在发布后都难以做出重大的协议改进。一些尝试进行重大升级的网络经历了数小时的停机时间,有时还经历了意外的硬分叉。我们认为这是推出如此多新网络的关键原因之一。不幸的是,网络的爆炸式增长带来了围绕用户体验的挑战,因为它需要熟悉不同的环境并找出最适合特定用例的网络。我们设计和构建的 Aptos 区块链可作为一项关键资产进行升级,并在过去几年中成功执行了多次重大升级而没有停机。为了实现这一目标,验证者的管理和配置采用链上状态进行管理 — — 方便社区投票和快速执行升级。强大的测试和部署实践确保安全可靠的部署。
我们致力于尽快启动我们的主网,以使更广泛的社区能够开始建设 — — 许多人已经等待我们的技术发布多年。在通往主网及以后的旅程中,我们将宣布一系列全球黑客马拉松,期待您的参与!一旦在我们的测试网和部署过程中达到企业就绪状态,我们将利用我们的能力通过新特性、功能、安全性和扩展性改进来升级网络。
2022 Q1(3 月 15 日) — — 开发者测试网发布
2022 年第二季度 — — 激励性测试网启动
2022 年第三季度 — — 主网发布
2022 Q4–2023 Q1 — 将下一个主要版本部署到 Aptos 主网,并具有下一组重要功能.
其他有用链接:
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。