UST:安全、可扩展和可升级的 Web3 基础设施_区块链赚钱是什么模式

随着全新的互联网基础设施区块链的崛起,开发者正以飞快的速度部署着数以万计的去中心化应用程序。遗憾的是,由于稳定性差、成本高、低吞吐量及一些安全问题,区块链尚未被广泛应用。为了能够在Web3时代被广泛使用,区块链基础设施应该效仿云基础设施的特点,即为众多的去中心化应用提供可信、可扩展、经济高效且持续优化的平台。

为应对这些挑战,我们以可扩展、安全、可靠和可升级为核心设计原则推出Aptos区块链。Aptos区块链在过去三年中由全球350多名开发人员共同开发。它在共识、智能合约设计、系统安全、性能和去中心化方面提供了新的创新。这些技术的结合将为把Web3带向更广泛的人群提供一个坚实的基础:

1、Aptos区块链原生集成并使用Move语言来实现快速安全的交易执行。Moveprover,一个用Move语言开发的智能合约形式化验证工具,为合约常量和运行提供额外保障。这种注重安全的做法,可以让开发人员能够更好地保护软件,以免受恶意实体的攻击。

2、Aptos数据模型允许灵活的密钥管理和混合托管选项。这与签名前的交易透明性和实用的轻客户端协议一起,共同提供了更安全、更值得信赖的用户体验。

3、为了实现高吞吐量和低延迟,Aptos区块链在交易处理的关键阶段使用了流水线和模块化方法。具体而言,事务分发、区块元数据排序、并行事务执行、批量存储和账本认证等操作会同时运行。这种做法充分利用了所有可用的硬件资源,提升了硬件效率,并实现了高度并行处理。

4、与需要读写前获取被读写数据而破坏交易原子性的并行执行引擎不同,Aptos区块链没有对开发者设置这种限制。它通过保证复杂的交易的原子性,为应用程序提供更高的吞吐量和更低的延迟,并简化了开发。

5、Aptos模块化架构保证了客户端的灵活性,并针对频繁的升级进行优化。此外,为了迅速部署新的技术创新和支持新的Web3使用案例,Aptos区块链提供了嵌入式的链上变化管理协议。

6、Aptos区块链正在试验未来超越单个验证器性能的举措:其模块化设计和并行执行引擎支持验证者的内部分片,而同质状态分片提供了水平吞吐量可扩展的潜力,而不会给节点运营商带来额外的复杂性。

1.序言

在Web2时代,诸如通讯、社交媒体、金融、游戏、购物以及音视频流媒体等服务,是由掌握了用户数据权限的中心化公司来提供。针对目标用例,这些公司利用具备特定应用的软件,来优化开发基础设施,并利用云端基础设施向用户部署这些应用程序。云端基础设施可提供虚拟或物理基础设施服务的访问,例如虚拟机租用和在世界各地数据中心内运行的裸机硬件。因此,建立能够扩大到数十亿用户的Web2互联网服务从来没有像今天这样容易。然而,Web2要求用户明确信任中心化实体,这一要求愈发引起社会的担忧。

为了消除这种担忧,新的互联网时代已经开始:Web3。在Web3版本的互联网中,出现了区块链来提供去中心化、不可篡改的账本,让用户能够安全可靠地相互交流,而不需要信任控制中间人或中心化实体。与Web2互联网服务和应用程序依赖云基础设施类似,去中心化的应用程序可以使用区块链作为去中心化的基础设施层,从而触达全世界数十亿用户。

然而,尽管现已存在许多条区块链,但是Web3尚未得到广泛采纳。虽然技术不断地推动着行业发展,但现有的区块链仍是不可靠的。昂贵的交易费用,低吞吐量,因安全问题资产经常遭受损失,并且无法支持实时响应。与云端基础设施赋能Web2服务,成功触达数十亿人群相比,区块链还并没有使得Web3应用达到同样的高度。

2.Aptos愿景

Aptos的愿景是提供一个能够为Web3带来主流应用的区块链,并授权一个去中心化应用的生态系统来解决现实世界的用户痛点。我们的使命是通过提供灵活和模块化的区块链架构,推动区块链可靠性、安全性和性能方面的新高度。该架构应支持频繁升级,快速采用最新的技术,并能对新兴的用例提供一流支持。

我们设想建立社区管理运营的去中心化、安全和可扩展的网络。当世界各地对基础设施的需求增长时,区块链的计算资源就会横向和纵向扩展以满足这些需求。随着新的用例和技术进步的出现,网络应该在不干扰用户的情况下频繁地、无缝地升级。让用户不再关注基础设施相关问题。开发人员和用户将可以访问许多不同的密钥恢复、数据建模、智能合约标准、资源使用权衡、隐私和可组合性选项。用户确信他们的资产是安全,可用,并且几乎可以成本费访问。任何人都能够安全、容易地与全世界不受信任的各方进行不可篡改的交易。区块链将像云基础设施一样无所不在。

为了实现这一愿景,必须在技术方面取得重大进展。过去三年里,我们开发,升级和部署Diem区块链的经验已经证明,网络可以在不中断客户端的情况下持续升级协议。2020年初,Diem主网被部署到拥有多个钱包供应商的十几个节点上。在之后一年,我们团队进行了共识协议和核心框架两次重大的升级。两次升级都在用户不停机的情况下顺利完成。在Aptos区块链中,我们对技术栈进行了一系列彻底的改进,同时还受Diem区块链启发将安全、透明、以及可频繁的升级作为核心功能。我们特别强调新的交易处理方法以及去中心化和网络治理的新方法。

随着Aptos区块链的不断改善和发展,,我们将不断更新协议和设计,届时发布最新版的白皮书。在下文中,我们描述了Aptos区块链的现状以及今后的计划。

3.概述

如图1所示,Aptos区块链由1组验证者组成,他们使用拜占庭容错,权益证明的共识机制来接收与处理用户的交易。代币持有人在他们选定的验证者中锁定或者质押他们手上的代币。每个验证者的共识投票权重与所质押代币量成正比。一个验证者可以是活跃的状态,并参与到共识决策中。同样,一个验证节点如果没有足够的质押代币,或被从验证者集中轮换出来,亦或在同步区块链状态时离线,再或共识协议因历史表现不佳而拒绝其参与共识,那么该验证节点也可能处于不活跃的状态。

客户端是系统中需要提交交易或查询区块链状态和历史的任何部分。客户端可以选择下载并验证那些被验证节点签署验证过的数据。*全节点*是从验证节点或网络中其他全节点复制交易和区块链状态的客户端。他们可能会根据需要裁剪掉一些交易历史和区块链状态记录,以重新获得充足的存储空间。轻客户端只维护当前验证节点的集,并且可以从全节点中安全地查询部分区块链状态。钱包是轻客户端的常见例子。

为了满足安全、快速、可靠和可升级的Web3基础设施的需求,以便被广泛采用,Aptos区块链基于下列核心设计原则建立。

4.Move编程语言

Move是一种注重安全和灵活性的新型智能合约编程语言。Aptos区块链使用Move的对象模型来表示其账本状态,并使用Move代码来编码状态转换的规则。用户提交的交易中,可以包括发布新模块、升级现有的模块、执行模块内定义的接口功能,以及可以直接与模块的公共接口互动的脚本。

Move生态系统包含一个编译器、一个虚拟机和许多其他的开发工具。Move受到Rust编程语言的启发,该语言通过线性类型等概念来明确数据的所有权Move强调了资源的稀缺性、保存和访问控制。Move模块定义了每个资源的生命周期、存储和访问模式。这确保了像Coin这样的资源不会在没有适当凭证的情况下产生,且不能被重复消费,也不会消失。

即使存在不受信的代码,Move仍然可以利用字节码验证工具来保证类型和内存安全。为有助于编写更可信的代码,Move包括了一个类型验证器,MoveProver,能够根据给定的规范,验证Move程序的功能正确性,该类型验证功能已经集成到了Move语言中。

除了用户帐户和相应的帐户内容,分布式账本的状态还包含Aptos区块链的链上配置。这个网络配置包括当前活跃状态的验证节点的集中,质押的属性,以及Aptos区块链内各种服务的配置。Move对模块可升级性和全面可编程性的支持实现了无缝的配置变化,并支持对Aptos区块链本身的升级。

Aptos团队已经进一步增加了Move的特性,支持更广泛的Web3用例。如下文第5.5节所述,Aptos区块链实现了细粒度的资源控制。这个特性不仅有效支持了并行执行,而且几乎固定了访问与更改数据的成本。此外,Aptos区块链提供了建立在细粒度存储之上的表支持,这使得大规模的数据集可以在一个账户中实现。同时,Aptos支持完全在链上体现的共享或自动化账户。这使得复杂的去中心化自治组织能够共享账户,以及将这些账户作为异质资源集中的容器。

5.逻辑模型

Aptos区块链的账本状态代表了链上所有帐户的状态。账本状态使用一个无符号的64位整数进行版本划分,对应与当前系统所执行的交易数量。任何人都可以向Aptos区块链提交交易以修改账本状态。交易执行后,会生成一个交易输出。一个交易的输出包含零个或多个操作来操纵账本状态

6.安全的用户体验

为了覆盖数十亿互联网用户,Web3的用户体验必须是安全便捷的。在该章节中,将描述Aptos区块链为实现这一目标的几项创新。

7.流水化、批量、并行的交易处理

为了最大限度提高吞吐量,增加并发性,并且降低工程复杂性,Aptos区块链的交易处理过程被划分为不同的阶段。每个阶段都是完全的并且可以各自并行,类似于现代的超标量处理器架构。这不仅提供了显著的性能优势,而且让Aptos区块链能够提供新的验证者-客户端交互模式。例如:

当指定交易被包含在一批留存交易中,客户端会被通知。已留存且有效的交易一般会被立即提交。

当一批已留存交易被排序时,客户端会被通知。因此,为了减少确定要执行的交易结果的延迟,客户端可以在本地执行交易,而不是等待远程验证节点的完成执行。

客户端可以选择等待验证者执行已认证的交易,然后同步已执行完成的交易状态。

Aptos模块设计有助于提高开发速度以及更短的发布周期,开发者可以对单个模块而不是整个系统进行优化。类似地,模块设计提供了一条扩展验证器的结构化路径,可以让验证器利用多台机器的计算、网络和存储资源。图4显示了交易处理生命周期的各个处理阶段。

8.状态同步

Aptos区块链旨在为生态中的所有参与者提供一个高吞吐量,低延迟的系统。因此,区块链必须提供一个高效的状态同步协议,来传播、校验并持久化区块链数据到轻客户端、全节点和验证节点。此外,考虑到用户不同的硬件资源,同步协议还必须兼容网络内存在的资源限制和差异性。例如,它必须允许存档的全节点来验证和存储着整个区块链状态及历史,同时也允许轻客户端高效地只获取一小部分区块链状态。

为实现这一特点,Aptos区块链会利用由验证节点、全节点和其他同步器提供的已认证的账本历史和状态证明,来实现一个灵活可配置的同步协议。具体而言,网络参与者可以选择不同的同步策略,来优化自己的用例和需求。

例如,Aptos为全节点提供了多种同步策略,包括全量同步策略;和忽略历史记录,利用锚点只同步最新的区块链状态的策略。Aptos为轻客户端提供了多种同步策略,包括可以同步特定账户或数据的部分同步策略;和可以获取已验证账户余额的获取已验证数据策略。在所有情况下,Aptos允许参与者通过配置配置获取、处理和存储特定数量和版本的数据。

通过这种灵活可配置的状态同步协议,Aptos可以满足各种客户的需求,并在未来可以提供更先进高效的同步策略。

9.社区治理

Aptos区块链将由一个广泛而多样化的社区拥有、运营和管理。原生Aptos代币将用于交易和网络费用、协议升级和链上/链下流程的治理投票,以及通过权益证明模型保护区块链。关于Aptos代币的具体经济模型将在之后发布。

随着时间的推移,链上治理可以部署在整个升级管理过程中。例如:

1、代币持有者在链上投票决定过渡到新的抗量子计算签名方案

2、开发者实施并验证新的签名计划并创建一个新的软件版本。

3、验证者升级他们的软件到新的版本。

4、代币持有人在链上就启用一个新的签名方案进行投票,链上配置被更新,更改已生效。

作为一个开源项目,Aptos区块链的管理方式主要依赖于强大的社区反馈以及链上治理。在某些情况下,可能仍需要启用链外升级,但这种情况会随着时间的推移将尽量最小化。

10.性能表现

如第7节所述,Aptos区块链能够通过其并行、批量优化和模块化的交易处理管道实现最佳吞吐量和硬件效率。额外的性能举措,如共识升级、延迟写入、交易提示和关键路径缓存,将继续增加吞吐量,并随着时间的推移提高效率。

如今,区块链的吞吐量通常以每秒交易量来衡量。然而,鉴于交易和基础设施成本和复杂程度各异,这是一种不精确的系统比较方法。交易延迟也同样有缺陷,因为在不同的实验中,提交至最终性的起点和终点是不一样的。

此外,一些系统要求事先了解交易的输入和输出,并迫使逻辑交易被拆分成较小的、不太复杂的交易。拆分交易会导致用户体验差,并人为地影响延迟和吞吐量,忽视了开发者想要实现的目标。相比之下,Aptos的方法让开发者能够不受限制地自主构建,并根据真实世界的使用案例而不是合成交易来衡量吞吐量和延迟情况。

Aptos区块链将继续优化单个验证器的性能,以及试验将更多验证器添加到网络的扩展技术。这两个方向都有明显的取舍。任何具有并行执行能力的区块链都可以通过要求更强大的硬件或甚至将每个验证器构造为一个单独的机器集群,来支持更大的并发。然而,全局验证器的数量是有实际限制的,它与验证器操作者的成本和复杂性是相对应的。云服务中无服务器数据库的兴起和流行,说明很少有实体能够有效地部署和维护这些类型的复杂分布式系统。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

区块博客

[0:0ms0-4:915ms