Avalanche:一系列新的共识协议
Abstract
Abstract
Avalanche Platform 2020/06/30 Kevin Sekniqi, Daniel Laine, Stephen Buttolph, and Emin G¨un Sirer Abstract. This paper provides an architectural overview of the first release of the Avalanche platform, codenamed Avalanche Borealis. For details on the economics of the native token, labeled $AVAX, we 5 guide the reader to the accompanying token dynamics paper [2]. Disclosure: The information described in this paper is preliminary and subject to change at any time. Furthermore, this paper may contain “forward-looking statements.”1 Git Commit: 7497e4a4ba0a1ea2dc2a111bc6deefbf3023708e 1 Introduction 10 This paper provides an architectural overview of the Avalanche platform. The key focus is on the three key differentiators of the platform: the engine, the architectural model, and the governance mechanism. 1.1 Avalanche Goals and Principles Avalanche is a high-performance, scalable, customizable, and secure blockchain platform. It targets three broad use cases: 15 – Building application-specific blockchains, spanning permissioned (private) and permissionless (public) deployments. – Building and launching highly scalable and decentralized applications (Dapps). – Building arbitrarily complex digital assets with custom rules, covenants, and riders (smart assets). 1 Forward-looking statements generally relate to future events or our future performance. This includes, but is not limited to, Avalanche’s projected performance; the expected development of its business and projects; execution of its vision and growth strategy; and completion of projects that are currently underway, in development or otherwise under consideration. Forward-looking statements represent our management’s beliefs and assumptions only as of the date of this presentation. These statements are not guarantees of future performance and undue reliance should not be placed on them. Such forward-looking statements necessarily involve known and unknown risks, which may cause actual performance and results in future periods to differ materially from any projections expressed or implied herein. Avalanche undertakes no obligation to update forward-looking statements. Although forward-looking statements are our best prediction at the time they are made, there can be no assurance that they will prove to be accurate, as actual results and future events could differ materially. The reader is cautioned not to place undue reliance on forward-looking statements.
摘要
Avalanche 平台 2020/06/30 凯文·塞克尼奇、丹尼尔·莱恩、斯蒂芬·布托夫和艾敏·古恩·西雷尔 摘要。本文提供了 Avalanche 平台第一个版本的架构概述, 代号 Avalanche Borealis。有关本地 token(标记为 $AVAX)的经济学详细信息,我们 5 引导读者阅读随附的 token 动态论文 [2]。 披露:本文中描述的信息是初步的,可能随时更改。 此外,本文可能包含“前瞻性陈述”。1 Git 提交:7497e4a4ba0a1ea2dc2a111bc6deefbf3023708e 1 简介 10 本文提供了 Avalanche 平台的架构概述。重点关注三个关键 该平台的区别在于:引擎、架构模型和治理机制。 1.1 Avalanche 目标和原则 Avalanche 是一个高性能、可扩展、可定制且安全的 blockchain 平台。它的目标是三个 广泛的用例: 15 – 构建特定于应用程序的 blockchains,跨越许可(私有)和无需许可(公共) 部署。 – 构建和启动高度可扩展和去中心化的应用程序(Dapps)。 – 使用自定义规则、契约和附加条款构建任意复杂的数字资产(智能资产)。 1 前瞻性陈述通常与未来事件或我们未来的业绩有关。这包括但不包括 仅限于 Avalanche 的预计表现;其业务和项目的预期发展;执行 其愿景和增长战略;以及目前正在进行、开发或完成的项目 否则正在考虑中。前瞻性陈述代表我们管理层的信念和假设 仅截至本演示文稿发布之日。这些陈述不是对未来业绩和不当行为的保证 不应依赖他们。此类前瞻性陈述必然涉及已知和未知 风险,可能导致未来期间的实际业绩和结果与任何预测存在重大差异 此处明示或暗示。 Avalanche 不承担更新前瞻性陈述的义务。虽然 前瞻性陈述是我们做出时的最佳预测,不能保证它们是正确的 将被证明是准确的,因为实际结果和未来事件可能存在重大差异。请读者注意不要 过度依赖前瞻性陈述。
Introduction
Introduction
10 This paper provides an architectural overview of the Avalanche platform. The key focus is on the three key differentiators of the platform: the engine, the architectural model, and the
介绍
10 本文提供了 Avalanche 平台的架构概述。重点关注三个关键 该平台的区别在于:引擎、架构模型和
The Engine
The Engine
60 Discussion of the Avalanche platform begins with the core component which powers the platform: the consensus engine. Background Distributed payments and – more generally – computation, require agreement between a set of machines. Therefore, consensus protocols, which enable a group of nodes to achieve agreement, lie at the heart of blockchains, as well as almost every deployed large-scale industrial distributed system. The topic 65 has received extensive scrutiny for almost five decades, and that effort, to date, has yielded just two families of protocols: classical consensus protocols, which rely on all-to-all communication, and Nakamoto consensus, which relies on proof-of-work mining coupled with the longest-chain-rule. While classical consensus protocols can have low latency and high throughput, they do not scale to large numbers of participants, nor are they robust in the presence of membership changes, which has relegated them mostly to permissioned, mostly 70 static deployments. Nakamoto consensus protocols [5, 7, 4], on the other hand, are robust, but suffer from high confirmation latencies, low throughput, and require constant energy expenditure for their security. The Snow family of protocols, introduced by Avalanche, combine the best properties of classical consensus protocols with the best of Nakamoto consensus. Based on a lightweight network sampling mechanism, they achieve low latency and high throughput without needing to agree on the precise membership of the 75 system. They scale well from thousands to millions of participants with direct participation in the consensus protocol. Further, the protocols do not make use of PoW mining, and therefore avoid its exorbitant energy expenditure and subsequent leak of value in the ecosystem, yielding lightweight, green, and quiescent protocols. Mechanism and Properties The Snow protocols operate by repeated sampling of the network. Each node 80 polls a small, constant-sized, randomly chosen set of neighbors, and switches its proposal if a supermajority supports a different value. Samples are repeated until convergence is reached, which happens rapidly in normal operations. We elucidate the mechanism of operation via a concrete example. First, a transaction is created by a user and sent to a validating node, which is a node participating in the consensus procedure. It is then 85 propagated out to other nodes in the network via gossiping. What happens if that user also issues a conflicting
4 Kevin Sekniqi, Daniel Laine, Stephen Buttolph, and Emin G¨un Sirer transaction, that is, a doublespend? To choose amongst the conflicting transactions and prevent the doublespend, every node randomly selects a small subset of nodes and queries which of the conflicting transactions the queried nodes think is the valid one. If the querying node receives a supermajority response in favor of one transaction, then the node changes its own response to that transaction. Every node in the network 90 repeats this procedure until the entire network comes to consensus on one of the conflicting transactions. Surprisingly, while the core mechanism of operation is quite simple, these protocols lead to highly desirable system dynamics that make them suitable for large-scale deployment. – Permissionless, Open to Churn, and Robust. The latest slew of blockchain projects employ classical consensus protocols and therefore require full membership knowledge. Knowing the entire set of par95 ticipants is sufficiently simple in closed, permissioned systems, but becomes increasingly hard in open, decentralized networks. This limitation imposes high security risks to existing incumbents employing such protocols. In contrast, Snow protocols maintain high safety guarantees even when there are wellquantified discrepancies between the network views of any two nodes. Validators of Snow protocols enjoy the ability to validate without continuous full membership knowledge. They are, therefore, robust 100 and highly suitable for public blockchains. – Scalable and Decentralized A core feature of the Snow family is its ability to scale without incurring fundamental tradeoffs. Snow protocols can scale to tens of thousands or millions of nodes, without delegation to subsets of validators. These protocols enjoy the best-in-class system decentralization, allowing every node to fully validate. First-hand continuous participation has deep implications for the security 105 of the system. In almost every proof-of-stake protocol that attempts to scale to a large participant set, the typical mode of operation is to enable scaling by delegating validation to a subcommittee. Naturally, this implies that the security of the system is now precisely as high as the corruption cost of the subcommittee. Subcommittees are furthermore subject to cartel formation. In Snow-type protocols, such delegation is not necessary, allowing every node operator to have a first110 hand say in the system, at all times. Another design, typically referred to as state sharding, attempts to provide scalability by parallelizing transaction serialization to independent networks of validators. Unfortunately, the security of the system in such a design becomes only as high as the easiest corruptible independent shard. Therefore, neither subcommittee election nor sharding are suitable scaling strategies for crypto platforms. 115 – Adaptive. Unlike other voting-based systems, Snow protocols achieve higher performance when the adversary is small, and yet highly resilient under large attacks. – Asynchronously Safe. Snow protocols, unlike longest-chain protocols, do not require synchronicity to operate safely, and therefore prevent double-spends even in the face of network partitions. In Bitcoin, for example, if synchronicity assumption is violated, it is possible to operate to independent forks of the 120 Bitcoin network for prolonged periods of time, which would invalidate any transactions once the forks heal. – Low Latency. Most blockchains today are unable to support business applications, such as trading or daily retail payments. It is simply unworkable to wait minutes, or even hours, for confirmation of transactions. Therefore, one of the most important, and yet highly overlooked, properties of consensus protocols is the 125 time to finality. Snow* protocols reach finality typically in ≤1 second, which is significantly lower than both longest-chain protocols and sharded blockchains, both of which typically span finality to a matter of minutes.

Avalanche Platform 2020/06/30 5 – High Throughput. Snow protocols, which can build a linear chain or a DAG, reach thousands of transactions per second (5000+ tps), while retaining full decentralization. New blockchain solutions that claim 130 high TPS typically trade offdecentralization and security and opt for more centralized and insecure consensus mechanisms. Some projects report numbers from highly controlled settings, thus misreporting true performance results. The reported numbers for $AVAX are taken directly from a real, fully implemented Avalanche network running on 2000 nodes on AWS, geo-distributed across the globe on low-end machines. Higher performance results (10,000+) can be achieved through assuming higher bandwidth 135 provisioning for each node and dedicated hardware for signature verification. Finally, we note that the aforementioned metrics are at the base-layer. Layer-2 scaling solutions immediately augment these results considerably. Comparative Charts of Consensus Table 1 describes the differences between the three known families of consensus protocols through a set of 8 critical axes. 140 Nakamoto Classical Snow Robust (Suitable for Open Settings) + - + Highly Decentralized (Allows Many Validators) + - + Low Latency and Quick Finality (Fast Transaction Confirmation) - + + High Throughput (Allows Many Clients) - + + Lightweight (Low System Requirements) - + + Quiescent (Not Active When No Decisions Performed) - + + Safety Parameterizable (Beyond 51% Adversarial Presence) - - + Highly Scalable - - + Table 1. Comparative chart between the three known families of consensus protocols. Avalanche, Snowman, and Frosty all belong to the Snow* family.
发动机

60 对 Avalanche 平台的讨论从为平台提供动力的核心组件开始: 共识引擎。 背景 分布式支付和(更一般地说)计算,需要一组之间达成一致 机器。因此,共识协议是让一组节点达成一致的协议。 blockchains 的核心,以及几乎所有部署的大型工业分布式系统。主题 65 近五年来受到了广泛的审查,而迄今为止,这一努力只取得了两个家庭的成果 协议:经典共识协议,依赖于所有人对所有人的通信,以及中本聪共识, 它依赖于 proof-of-work 挖掘和最长链规则。虽然经典共识协议 可以具有低延迟和高吞吐量,它们不能扩展到大量参与者,也不能 在成员资格变更的情况下表现强劲,这使得它们大多被降级为许可的、大多是 70 静态部署。另一方面,中本聪共识协议 [5,7,4] 很稳健,但存在以下问题: 确认延迟高、吞吐量低,并且需要持续的能量消耗来保证其安全性。 Snow 系列协议由 Avalanche 推出,结合了经典共识协议的最佳特性和中本聪共识的最佳特性。基于轻量级网络采样机制, 他们实现了低延迟和高吞吐量,而无需就确切的成员资格达成一致。 75 系统。它们的参与者规模从数千到数百万不等,直接参与共识协议。此外,该协议不使用 PoW 挖矿,因此避免了其过高的成本 生态系统中的能源消耗和随后的价值泄漏,产生轻量级、绿色和静态 协议。 机制和属性 Snow 协议通过对网络进行重复采样来运行。每个节点 80 轮询一小部分、大小恒定、随机选择的邻居,并在绝大多数情况下改变其提议 支持不同的值。重复采样直到达到收敛,这一过程在 正常操作。 我们通过一个具体的例子来阐明其运行机制。首先,创建一个交易 用户并发送到验证节点,验证节点是参与共识过程的节点。正是那时 85 通过八卦传播到网络中的其他节点。如果该用户也发出了冲突的问题,会发生什么情况4 凯文·塞克尼奇、丹尼尔·莱恩、斯蒂芬·布托夫和艾敏·古恩·西雷尔 交易,即双花?为了在冲突交易中进行选择并防止双花,每个节点随机选择一小部分节点并查询哪些交易是冲突的 被查询的节点认为是有效的。如果查询节点收到绝大多数赞成的响应 一个交易,然后节点改变自己对该交易的响应。网络中的每个节点 90 重复此过程,直到整个网络就其中一项冲突交易达成共识。 令人惊讶的是,虽然核心操作机制非常简单,但这些协议导致高度 理想的系统动态使它们适合大规模部署。 – 无需许可、开放、稳定且稳健。最新的 blockchain 项目采用经典 共识协议,因此需要充分的成员知识。了解par95整套 参与者在封闭的、许可的系统中非常简单,但在开放的、许可的系统中变得越来越困难。 去中心化网络。这种限制给现有的现有企业带来了很高的安全风险 此类协议。相比之下,即使任何两个节点的网络视图之间存在明确量化的差异,Snow 协议也能保持高度的安全保证。 Snow 协议的验证者 享受无需持续完整的会员知识即可进行验证的能力。因此,它们非常坚固 100 非常适合公共 blockchains。 – 可扩展和去中心化 Snow 系列的一个核心特征是它能够在不产生任何影响的情况下进行扩展 基本的权衡。 Snow 协议可以扩展到数万或数百万个节点,而无需委托给 validator 的子集。这些协议享有一流的系统去中心化,允许 每个节点都需要充分验证。第一手持续参与对安全影响深远 105 系统的。在几乎每个尝试扩展到大型参与者集的 proof-of-stake 协议中, 典型的操作模式是通过将验证委托给小组委员会来实现扩展。当然,这意味着系统的安全性现在与系统的腐败成本一样高。 小组委员会。此外,小组委员会还可能形成卡特尔。 在 Snow 型协议中,这种委托是不必要的,允许每个节点运营商拥有第一个 110 随时在系统中手动说出。另一种设计,通常称为状态分片,尝试 通过将事务序列化并行化到 validator 的独立网络来提供可扩展性。 不幸的是,这种设计中系统的安全性仅与最容易损坏的系统一样高。 独立分片。因此,小组委员会选举和分片都不是合适的扩容策略 对于加密平台。 115 – 自适应。与其他基于投票的系统不同,Snow 协议在以下情况下可实现更高的性能: 对手虽小,但在大规模攻击下却具有很强的弹性。 – 异步安全。 Snow 协议与最长链协议不同,不需要同步性 安全运行,因此即使在网络分区的情况下也能防止双花。在 Bitcoin 中, 例如,如果违反了同步性假设,则可以对独立的分叉进行操作 120 Bitcoin 网络长时间运行,一旦分叉,任何交易都会失效 治愈。 – 低延迟。如今,大多数 blockchain 无法支持业务应用程序,例如交易或日常应用程序 零售支付。等待几分钟甚至几个小时来确认交易是根本行不通的。 因此,共识协议最重要但又被高度忽视的属性之一是 125 最终确定的时间。 Snow 协议通常在 ≤1 秒内达到最终结果,这明显低于 最长链协议和分片 blockchain,这两种协议通常都涵盖了某个问题的最终结果 分钟。Avalanche 平台 2020/06/30 5 – 高吞吐量。 Snow 协议可以构建线性链或 DAG,达到每秒数千笔交易(5000+ tps),同时保留完全去中心化。新的 blockchain 解决方案声称 130 高 TPS 通常会权衡去中心化和安全性,并选择更加中心化和不安全的 共识机制。一些项目报告的数字来自高度控制的环境,从而导致误报 真实的性能结果。 $AVAX 的报告数字直接取自真实的、完全实现的 Avalanche 网络,该网络在 AWS 上的 2000 个节点上运行,在低端设备上分布在全球各地 机器。通过假设更高的带宽可以实现更高的性能结果(10,000+) 135 为每个节点和签名验证专用硬件进行配置。最后,我们注意到 上述指标位于基础层。第 2 层扩展解决方案立即增强了这些结果 相当大。 共识比较图 表 1 描述了三个已知家族之间的差异 通过一组 8 个关键轴制定共识协议。 140 中本 古典 雪 坚固(适合开放设置) + - + 高度去中心化(允许许多验证者) + - + 低延迟和快速最终确定(快速交易确认) - + + 高吞吐量(允许许多客户端) - + + 轻量级(系统要求低) - + + 静止(未执行任何决策时不活动) - + + 安全参数化(超过 51% 的对抗性存在) - - + 高度可扩展 - - + 表 1. 三个已知共识协议家族之间的比较图表。 Avalanche,雪人,和 Frosty都属于Snow家族。
Platform Overview
Platform Overview
In this section, we provide an architectural overview of the platform and discuss various implementation details. The Avalanche platform cleanly separates three concerns: chains (and assets built on top), execution environments, and deployment. 3.1 Architecture 145 Subnetworks A subnetwork, or subnet, is a dynamic set of validators working together to achieve consensus on the state of a set of blockchains. Each blockchain is validated by one subnet, and a subnet can validate arbitrarily many blockchains. A validator may be a member of arbitrarily many subnets. A subnet decides who may enter it, and may require that its constituent validators have certain properties. The Avalanche platform supports the creation and operation of arbitrarily many subnets. In order to create a new subnet 150 or to join a subnet, one must pay a fee denominated in $AVAX.
6 Kevin Sekniqi, Daniel Laine, Stephen Buttolph, and Emin G¨un Sirer The subnet model offers a number of advantages: – If a validator doesn’t care about the blockchains in a given subnet, it will simply not join that subnet. This reduces network traffic, as well as the computational resources required of validators. This is in contrast to other blockchain projects, in which every validator must validate every transaction, even 155 those they don’t care about. – Since subnets decide who may enter them, one can create private subnets. That is, each blockchain in the subnet is validated only by a set of trusted validators. – One can create a subnet where each validator has certain properties. For example, one could create a subnet where each validator is located in a certain jurisdiction, or where each validator is bound by some 160 real-world contract. This may be benificial for compliance reasons. There is one special subnet called the Default Subnet. It is validated by all validators. (That is, in order to validate any subnet, one must also validate the Default Subnet.) The Default Subnet validates a set of pre-defined blockchains, including the blockchain where $AVAX lives and is traded. Virtual Machines Each blockchain is an instance of a Virtual Machine (VM.) A VM is a blueprint for a 165 blockchain, much like a class is a blueprint for an object in an object-oriented programming language. The interface, state and behavior of a blockchain is defined by the VM that the blockchain runs. The following properties of a blockchain, and other, are defined by a VM: – The contents of a block – The state transition that occurs when a block is accepted 170 – The APIs exposed by the blockchain and their endpoints – The data that is persisted to disk We say that a blockchain “uses” or “runs” a given VM. When creating a blockchain, one specifies the VM it runs, as well as the genesis state of the blockchain. A new blockchain can be created using a pre-existing VM, or a developer can code a new one. There can be arbitrarily many blockchains that run the same VM. 175 Each blockchain, even those running the same VM, is logically independent from others and maintains its own state. 3.2 Bootstrapping The first step in participating in Avalanche is bootstrapping. The process occurs in three stages: connection to seed anchors, network and state discovery, and becoming a validator. 180 Seed Anchors Any networked system of peers that operates without a permissioned (i.e. hard-coded) set of identities requires some mechanism for peer discovery. In peer-to-peer file sharing networks, a set of trackers are used. In crypto networks, a typical mechanism is the use of DNS seed nodes (which we refer
Avalanche Platform 2020/06/30 7 to as seed anchors), which comprise a set of well-defined seed-IP addresses from which other members of the network can be discovered. The role of DNS seed nodes is to provide useful information about the set 185 of active participants in the system. The same mechanism is employed in Bitcoin Core [1], wherein the src/chainparams.cpp file of the source code holds a list of hard-coded seed nodes. The difference between BTC and Avalanche is that BTC requires just one correct DNS seed node, while Avalanche requires a simple majority of the anchors to be correct. As an example, a new user may choose to bootstrap the network view through a set of well established and reputable exchanges, any one of which individually are not trusted. 190 We note, however, that the set of bootstrap nodes does not need to be hard-coded or static, and can be provided by the user, though for ease of use, clients may provide a default setting that includes economically important actors, such as exchanges, with which clients wish to share a world view. There is no barrier to become a seed anchor, therefore a set of seed anchors can not dictate whether a node may or may not enter the network, since nodes can discover the latest network of Avalanche peers by attaching to any set of seed 195 anchors. Network and State Discovery Once connected to the seed anchors, a node queries for the latest set of state transitions. We call this set of state transitions the accepted frontier. For a chain, the accepted frontier is the last accepted block. For a DAG, the accepted frontier is the set of vertices that are accepted, yet have no accepted children. After collecting the accepted frontiers from the seed anchors, the state transitions that 200 are accepted by a majority of the seed anchors is defined to be accepted. The correct state is then extracted by synchronizing with the sampled nodes. As long as there is a majority of correct nodes in the seed anchor set, then the accepted state transitions must have been marked as accepted by at least one correct node. This state discovery process is also used for network discovery. The membership set of the network is defined on the validator chain. Therefore, synchronizing with the validator chain allows the node to discover 205 the current set of validators. The validator chain will be discussed further in the next section. 3.3 Sybil Control and Membership Consensus protocols provide their security guarantees under the assumption that up to a threshold number of members in the system could be adversarial. A Sybil attack, wherein a node cheaply floods the network with malicious identities, can trivially invalidate these guarantees. Fundamentally, such an attack can only be 210 deterred by trading offpresence with proof of a hard-to-forge resource [3]. Past systems have explored the use of Sybil deterrence mechanisms that span proof-of-work (PoW), proof-of-stake (PoS), proof-of-elapsed-time (POET), proof-of-space-and-time (PoST), and proof-of-authority (PoA). At their core, all of these mechanisms serve an identical function: they require that each participant have some “skin in the game” in the form of some economic commitment, which in turn provides an economic 215 barrier against misbehavior by that participant. All of them involve a form of stake, whether it is in the form of mining rigs and hash power (PoW), disk space (PoST), trusted hardware (POET), or an approved identity (PoA). This stake forms the basis of an economic cost that participants must bear to acquire a voice. For instance, in Bitcoin, the ability to contribute valid blocks is directly proportional to the hash-power of the proposing participant. Unfortunately, there has also been substantial confusion between consensus protocols
8 Kevin Sekniqi, Daniel Laine, Stephen Buttolph, and Emin G¨un Sirer versus Sybil control mechanisms. We note that the choice of consensus protocols is, for the most part, orthogonal to the choice of the Sybil control mechanism. This is not to say that Sybil control mechanisms are drop-in-replacements for each other, since a particular choice might have implications about the underlying guarantees of the consensus protocol. However, the Snow* family can be coupled with many of these known mechanisms, without significant modification. 225 Ultimately, for security and to ensure that the incentives of participants are aligned for the benefit of the network, $AVAX choose PoS to the core Sybil control mechanism. Some forms of stake are inherently centralized: mining rig manufacturing (PoW), for instance, is inherently centralized in the hands of a few people with the appropriate know-how and access to the dozens of patents required for competitive VLSI manufacturing. Furthermore, PoW mining leaks value due to the large yearly miner subsidies. Similarly, 230 disk space is most abundantly owned by large datacenter operators.Further, all sybil control mechanisms that accrue ongoing costs, e.g. electricity costs for hashing, leak value out of the ecosystem, not to mention destroy the environment. This, in turn, reduces the feasibility envelope for the token, wherein an adverse price move over a small time frame can render the system inoperable. Proof-of-work inherently selects for miners who have the connections to procure cheap electricity, which has little to do with the miners’ ability 235 to serialize transactions or their contributions to the overall ecosystem. Among these options, we choose proof-of-stake, because it is green, accessible, and open to all. We note, however, that while the $AVAX uses PoS, the Avalanche network enables subnets to be launched with PoW and PoS. Staking is a natural mechanism for participation in an open network because it enables a direct economic argument: the probability of success of an attack is directly proportional to a well-defined monetary cost 240 function. In other words, the nodes that stake are economically motivated to not engage in behavior that might hurt the value of their stake. Additionally, this stake does not incur any additional upkeep costs (other then the opportunity cost of investing in another asset), and has the property that, unlike mining equipment, is fully consumed if used in a catastrophic attack. For PoW operations, mining equipment can be simply reused or – if the owner decides to – entirely sold back to the market. 245 A node wishing to enter the network can freely do so by first putting up a stake that is immobilized during the duration of participation in the network. The user determines the amount duration of the stake. Once accepted, a stake cannot be reverted. The main goal is to ensure that nodes substantially share the same mostly stable view of the network. We anticipate setting the minimum staking time on the order of a week. 250 Unlike other systems that also propose a PoS mechanism, $AVAX does not make usage of slashing, and therefore all stake is returned when the staking period expires. This prevents unwanted scenarios such as a client software or hardware failure leading to a loss of coins. This dovetails with our design philosophy of building predictable technology: the staked tokens are not at risk, even in the presence of software or hardware flaws. 255 In Avalanche, a node that wants to participate issues a special stake transaction to the validator chain. Staking transactions name an amount to stake, the staking key of the participant that is staking, the duration, and the time that validation will start. Once the transaction is accepted, the funds will be locked until the end of the staking period. The minimal allowed amount is decided and enforced by the system. The stake amount placed by a participant has implications for both the amount of influence the participant has in the
Avalanche Platform 2020/06/30 9 consensus process, as well as the reward, as discussed later. The specified staking duration, must be between δmin and δmax, the minimum and maximum timeframes for which any stake can be locked. As with the staking amount, the staking period also has implications for the reward in the system. Loss or theft of the staking key cannot lead to asset loss, as the staking key is used only in the consensus process, not for asset transfer. 265 3.4 Smart Contracts in $AVAX At launch Avalanche supports standard Solidity-based smart contracts through the Ethereum virtual machine (EVM). We envision that the platform will support a richer and more powerful set of smart contract tools, including: – Smart contracts with off-chain execution and on-chain verification. 270 – Smart contracts with parallel execution. Any smart contracts that do not operate on the same state in any subnet in Avalanche will be able to execute in parallel. – An improved Solidity, called Solidity++. This new language will support versioning, safe mathematics and fixed point arithmetic, an improved type system, compilation to LLVM, and just-in-time execution. If a developer requires EVM support but wants to deploy smart contracts in a private subnet, they 275 can spin-up a new subnet directly. This is how Avalanche enables functionality-specific sharding through the subnets. Furthermore, if a developer requires interactions with the currently deployed Ethereum smart contracts, they can interact with the Athereum subnet, which is a spoon of Ethereum. Finally, if a developer requires a different execution environment from the Ethereum virtual machine, they may choose to deploy their smart contract through a subnet that implements a different execution environment, such as DAML 280 or WASM. Subnets can support additional features beyond VM behavior. For example, subnets can enforce performance requirements for bigger validator nodes that hold smart contracts for longer periods of time, or validators that hold contract state privately. 4 Governance and The $AVAX Token 4.1 The $AVAX Native Token 285 Monetary Policy The native token, $AVAX, is capped-supply, where the cap is set at 720, 000, 000 tokens, with 360, 000, 000 tokens available on mainnet launch. However, unlike other capped-supply tokens which bake the rate of minting perpetually, \(AVAX is designed to react to changing economic conditions. In particular, the objective of \)AVAX’s monetary policy is to balance the incentives of users to stake the token versus using it to interact with the variety of services available on the platform. Participants in the platform 290 collectively act as a decentralized reserve bank. The levers available on Avalanche are staking rewards, fees, and airdrops, all of which are influenced by governable parameters. Staking rewards are set by on-chain governance, and are ruled by a function designed to never surpass the capped supply. Staking can be induced by increasing fees or increasing staking rewards. On the other hand, we can induce increased engagement with the Avalanche platform services by lowering fees, and decreasing the staking reward.
10 Kevin Sekniqi, Daniel Laine, Stephen Buttolph, and Emin G¨un Sirer Uses Payments True decentralized peer-to-peer payments are largely an unrealized dream for the industry due to the current lack of performance from incumbents. $AVAX is as powerful and easy to use as payments using Visa, allowing thousands of transactions globally every second, in a fully trustless, decentralized manner. Furthermore, for merchants worldwide, $AVAX provides a direct value proposition over Visa, namely lower 300 fees. Staking: Securing the System On the Avalanche platform, sybil control is achieved via staking. In order to validate, a participant must lock up coins, or stake. Validators, sometimes referred to as stakers, are compensated for their validation services based on staking amount and staking duration, amongst other properties. The chosen compensation function should minimize variance, ensuring that large stakers do not 305 disproportionately receive more compensation. Participants are also not subject to any “luck” factors, as in PoW mining. Such a reward scheme also discourages the formation of mining or staking pools enabling truly decentralized, trustless participation in the network. Atomic swaps Besides providing the core security of the system, the $AVAX token serves as the universal unit of exchange. From there, the Avalanche platform will be able to support trustless atomic swaps natively on 310 the platform enabling native, truly decentralized exchanges of any type of asset directly on Avalanche. 4.2 Governance Governance is critical to the development and adoption of any platform because – as with all other types of systems – Avalanche will also face natural evolution and updates. $AVAX provides on-chain governance for critical parameters of the network where participants are able to vote on changes to the network and 315 settle network upgrade decisions democratically. This includes factors such as the minimum staking amount, minting rate, as well as other economic parameters. This enables the platform to effectively perform dynamic parameter optimization through a crowd oracle. However, unlike some other governance platforms out there, Avalanche does not allow unlimited changes to arbitrary aspects of the system. Instead, only a pre-determined number of parameters can be modified via governance, rendering the system more predictable 320 and increasing safety. Further, all governable parameters are subject to limits within specific time bounds, introducing hysteresis, and ensuring that the system remains predictable over short time ranges. A workable process for finding globally acceptable values for system parameters is critical for decentralized systems without custodians. Avalanche can use its consensus mechanism to build a system that allows anyone to propose special transactions that are, in essence, system-wide polls. Any participating node may 325 issue such proposals. Nominal reward rate is an important parameter that affects any currency, whether digital or fiat. Unfortunately, cryptocurrencies that fix this parameter might face various issues, including deflation or inflation. To that end, the nominal reward rate is subject to governance, within pre-established boundaries. This will allow token holders to choose on whether $AVAX is eventually capped, uncapped, or even deflationary.

Avalanche Platform 2020/06/30 11 Transaction fees, denoted by the set F, are also subject to governance. F is effectively a tuple which describes the fees associated with the various instructions and transactions. Finally, staking times and amounts are also governable. The list of these parameters is defined in Figure 1. – \(\Delta\): Staking amount, denominated in AVAX. This value defines the minimal stake required to be placed as bond before participating in the system. – \(\delta_{\min}\): The minimal amount of time required for a node to stake into the system. – \(\delta_{\max}\): The maximal amount of time a node can stake. – \(\rho : (\pi\Delta, \tau\delta_{\min}) \rightarrow \mathbb{R}\): Reward rate function, also referred to as minting rate, determines the reward a participant can claim as a function of their staking amount given some number of \(\pi\) publicly disclosed nodes under its ownership, over a period of \(\tau\) consecutive \(\delta_{\min}\) timeframes, such that \(\tau\delta_{\min} \leq \delta_{\max}\). – F : the fee structure, which is a set of governable fees parameters that specify costs to various transactions. Fig. 1. Key non-consensus parameters used in Avalanche. All notation is redefined upon first use. In line with the principle of predictability in a financial system, governance in $AVAX has hysteresis, meaning that changes to parameters are highly dependent on their recent changes. There are two limits 335 associated with each governable parameter: time and range. Once a parameter is changed using a governance transaction, it becomes very difficult to change it again immediately and by a large amount. These difficulty and value constraints relax as more time passes since the last change. Overall, this keeps the system from changing drastically over a short period of time, allowing users to safely predict system parameters in the short term, while having strong control and flexibility for the long term. 340
平台概览
在本节中,我们提供平台的架构概述并讨论各种实现 详细信息。 Avalanche 平台清楚地分离了三个问题:链(以及构建在其上的资产)、执行 环境和部署。 3.1 建筑 145 子网络 子网络或子网是一组动态的 validator ,它们一起工作以达成共识 关于一组 blockchain 的状态。每个 blockchain 由一个子网验证,一个子网可以验证 任意多个 blockchain。 validator 可以是任意多个子网的成员。子网决定 谁可以进入它,并且可能要求其组成部分 validator 具有某些属性。 Avalanche 平台支持任意多个子网的创建和操作。为了创建一个新的子网 150 或者要加入子网,必须支付以 $AVAX 计价的费用。

6 凯文·塞克尼奇、丹尼尔·莱恩、斯蒂芬·布托夫和艾敏·古恩·西雷尔 子网模型具有许多优点: – 如果 validator 不关心给定子网中的 blockchain,它就不会加入该子网。 这减少了网络流量以及 validators 所需的计算资源。这是在 与其他 blockchain 项目相比,其中每个 validator 都必须验证每笔交易,甚至 155 那些他们不关心的人。 – 由于子网决定谁可以进入它们,因此可以创建私有子网。也就是说,每个 blockchain 中 子网仅由一组受信任的 validator 进行验证。 – 可以创建一个子网,其中每个 validator 都具有某些属性。例如,可以创建一个 每个 validator 位于某个司法管辖区的子网,或者每个 validator 受某些管辖区约束的子网 160 现实世界的合同。出于合规性原因,这可能是有益的。 有一个特殊的子网,称为默认子网。它由所有 validator 验证。 (也就是说,按顺序 要验证任何子网,还必须验证默认子网。)默认子网验证一组 预定义的 blockchain,包括 $AVAX 存在和交易的 blockchain。 虚拟机 每个 blockchain 都是虚拟机 (VM) 的一个实例。VM 是一个蓝图 165 blockchain,就像面向对象编程语言中的类是对象的蓝图一样。的 blockchain 的接口、状态和行为由 blockchain 运行的 VM 定义。以下 blockchain 的属性和其他属性由 VM 定义: – 块的内容 – 接受块时发生的状态转换 170 – blockchain 及其端点公开的 API – 持久化到磁盘的数据 我们说 blockchain “使用”或“运行”给定的虚拟机。创建 blockchain 时,指定 VM 它运行,以及 blockchain 的创世状态。可以使用预先存在的 blockchain 创建新的 blockchain VM 或开发人员可以编写新的代码。可以有任意多个 blockchain 运行同一 VM。 175 每个 blockchain,即使是那些运行相同虚拟机的,在逻辑上独立于其他虚拟机,并维护其自身的特性。 自己的状态。 3.2 自举 参与 Avalanche 的第一步是引导。该过程分三个阶段进行: 连接 播种锚、网络和状态发现,并成为 validator。 180 种子锚点 任何未经许可(即硬编码)运行的对等网络系统 一组身份需要某种机制来进行对等发现。在点对点文件共享网络中,一组 使用跟踪器。在加密网络中,一个典型的机制是使用 DNS 种子节点(我们称之为Avalanche 平台 2020/06/30 7 作为种子锚点),其中包含一组明确定义的种子 IP 地址,其他成员可以从中使用这些地址 可以发现网络。 DNS种子节点的作用是提供有关集合的有用信息 185 系统中的活跃参与者。 Bitcoin 核心 [1] 中采用了相同的机制,其中 源代码的 src/chainparams.cpp 文件包含硬编码种子节点的列表。之间的区别 BTC 和 Avalanche 的区别在于,BTC 只需要一个正确的 DNS 种子节点,而 Avalanche 则需要一个简单的 DNS 种子节点。 大多数锚是正确的。例如,新用户可以选择引导网络视图 通过一系列完善且信誉良好的交易所,其中任何一个交易所单独都不可信。 190 然而,我们注意到,引导节点集不需要是硬编码或静态的,并且可以是 由用户提供,但为了便于使用,客户端可以提供默认设置,其中包括经济的 客户希望与之分享世界观的重要参与者,例如交流。没有任何障碍 成为种子锚点,因此一组种子锚点不能决定节点是否可以进入 网络,因为节点可以通过附加到任何种子集来发现 Avalanche 对等点的最新网络 195 锚点。 网络和状态发现 一旦连接到种子锚点,节点就会查询最新的一组 状态转换。我们将这组状态转换称为可接受的边界。对于链来说,可接受的边界 是最后接受的块。对于 DAG,接受边界是已接受但具有以下特征的顶点集: 不接受儿童。从种子锚点收集接受的边界后,状态转换 200 被大多数种子锚点接受被定义为被接受。然后提取正确的状态 通过与采样节点同步。只要种子锚点中有大多数正确节点 设置,则接受的状态转换必须已被至少一个正确的节点标记为接受。 该状态发现过程也用于网络发现。网络的成员资格集是 定义在 validator 链上。因此,与 validator 链同步可以让节点发现 205 当前的 validator 组。 validator 链将在下一节中进一步讨论。 3.3 Sybil 控制和成员资格 共识协议在假设数量达到阈值的情况下提供安全保证 系统中的成员可能是敌对的。女巫攻击,其中节点廉价地淹没网络 恶意身份可能会轻易使这些保证失效。从根本上来说,这种攻击只能是 210 通过用难以伪造的资源 [3] 的证据来交换存在来阻止。过去的系统已经探索过使用 跨越 proof-of-work (PoW)、proof-of-stake (PoS) 的 Sybil 威慑机制,经过时间证明 (POET)、时空证明(PoST)和权威证明(PoA)。 从本质上讲,所有这些机制都具有相同的功能:它们要求每个参与者都有 某种经济承诺形式的“利益攸关者”,这反过来又提供了一种经济承诺 215 防止该参与者不当行为的障碍。它们都涉及一种形式的股权,无论是哪种形式 采矿设备和 hash 电力 (PoW)、磁盘空间 (PoST)、可信硬件 (POET) 或经批准的身份 (PoA)。这种股权构成了参与者为获得发言权而必须承担的经济成本的基础。对于 例如,在 Bitcoin 中,贡献有效块的能力与 hash 的幂成正比。 提议参与者。不幸的是,共识协议之间也存在很大的混乱8 凯文·塞克尼奇、丹尼尔·莱恩、斯蒂芬·布托夫和艾敏·古恩·西雷尔 与 Sybil 控制机制相比。我们注意到,共识协议的选择在很大程度上是: 与 Sybil 控制机制的选择正交。这并不是说 Sybil 控制机制是 互相替换,因为特定的选择可能会对底层产生影响 共识协议的保证。然而,Snow* 系列可以与许多已知的 机制,无需进行重大修改。 225 最终,为了安全并确保参与者的激励与利益相一致 网络方面,$AVAX选择PoS作为核心Sybil控制机制。某些形式的股权本质上是 集中化:例如,采矿设备制造(PoW)本质上集中在少数人手中 拥有适当专业知识并能够获得具有竞争力的 VLSI 所需的数十项专利的人员 制造。此外,由于每年大量的矿工补贴,PoW 挖矿的价值也随之流失。同样, 230 大型数据中心运营商拥有最丰富的磁盘空间。此外,所有女巫控制机制 会产生持续成本,例如hashing 的电力成本,从生态系统中泄漏价值,更不用说 破坏环境。这反过来又降低了 token 的可行性范围,其中不利的 价格在短时间内波动可能导致系统无法运行。工作量证明本质上选择 矿工有关系网可以获得廉价电力,这与矿工的能力关系不大 235 序列化交易或其对整个生态系统的贡献。在这些选项中,我们选择 proof-of-stake,因为它是绿色的、可访问的并且向所有人开放。然而,我们注意到,虽然 $AVAX 使用 PoS,Avalanche 网络使子网能够通过 PoW 和 PoS 启动。 质押是参与开放网络的自然机制,因为它可以实现直接的经济 论点:攻击成功的概率与明确定义的货币成本成正比 240 功能。换句话说,参与质押的节点出于经济动机不参与以下行为: 可能会损害他们所持股份的价值。此外,该股份不会产生任何额外的维护成本(其他 然后是投资另一种资产的机会成本),并且具有与采矿设备不同的属性, 如果用于灾难性攻击,则会被完全消耗。对于 PoW 操作,挖矿设备可以简单地 重复使用,或者——如果所有者决定的话——完全卖回市场。 245 希望进入网络的节点可以通过首先投入固定的股份来自由地这样做 在参与网络期间。用户决定质押金额的持续时间。 一旦被接受,股份就无法恢复。主要目标是确保节点充分共享 网络的基本稳定视图相同。我们预计将最小 staking 时间设置为 一周。 250 与其他也提出 PoS 机制的系统不同,$AVAX 不使用削减,并且 因此,当 staking 期限到期时,所有赌注都会退还。这可以防止出现不必要的情况,例如 客户端软件或硬件故障导致硬币丢失。这与我们的设计理念相吻合 构建可预测技术:即使存在软件或,所抵押的 token 也不会面临风险。 硬件缺陷。 255 在 Avalanche 中,想要参与的节点向 validator 链发出特殊的权益交易。 质押交易指定质押金额、参与者的 staking 密钥(即 staking)、持续时间、 以及验证开始的时间。一旦交易被接受,资金将被锁定,直到 staking 期间结束。最小允许金额由系统决定并强制执行。股份 参与者投入的金额会影响参与者在市场中的影响力Avalanche 平台 2020/06/30 9 共识过程以及奖励,稍后讨论。指定的 staking 持续时间必须介于 δmin 和 δmax,可以锁定任何权益的最小和最大时间范围。与 staking 金额,staking 期间也对系统中的奖励有影响。丢失或被盗 staking 密钥不会导致资产丢失,因为 staking 密钥仅用于共识过程,不用于资产 转移。 265 3.4 $AVAX 中的智能合约 发布时,Avalanche 通过 Ethereum 虚拟机 (EVM) 支持标准的基于 Solidity 的 smart contract。我们预计该平台将支持更丰富、更强大的 smart contract 集 工具,包括: – 具有链下执行和链上验证的智能合约。 270 – 并行执行的智能合约。任何不在相同状态下运行的 smart contract Avalanche 中的任何子网都能够并行执行。 – 改进的 Solidity,称为 Solidity++。这种新语言将支持版本控制、安全数学 定点算术、改进的类型系统、LLVM 编译以及即时执行。 如果开发人员需要 EVM 支持,但想要在私有子网中部署 smart contract,他们 275 可以直接启动一个新的子网。这就是 Avalanche 通过以下方式实现特定于功能的分片的方式: 子网。此外,如果开发人员需要与当前部署的 Ethereum 智能交互 合约,它们可以与 Athereum 子网交互,该子网是 Ethereum 的勺子。最后,如果开发者 需要与 Ethereum 虚拟机不同的执行环境,他们可以选择部署 它们的 smart contract 通过实现不同执行环境(例如 DAML)的子网 280 或 WASM。子网可以支持 VM 行为之外的其他功能。例如,子网可以强制 较大的 validator 节点在较长时间内保存 smart contracts 的性能要求,或者 validator 私下持有合约状态。 4 治理和 $AVAX 代币 4.1 $AVAX 原生代币 第285章 货币政策 原生 token,$AVAX,是有供应上限的,上限设置为 720, 000, 000 tokens, 主网启动时可使用 360, 000, 000 token。然而,与其他上限供应 token 不同的是 永久提高铸币率,\(AVAX is designed to react to changing economic conditions. In particular, the objective of \)AVAX 的货币政策是平衡用户质押 token 的激励 与使用它与平台上提供的各种服务进行交互。平台参与者 290 共同充当分散的储备银行。 Avalanche 上可用的杠杆有 staking 奖励、费用、 和空投,所有这些都受到可控参数的影响。质押奖励由链上治理设定,并由旨在永不超过上限供应的函数控制。可以诱导质押 通过增加费用或增加 staking 奖励。另一方面,我们可以提高参与度 通过降低费用和减少 staking 奖励来使用 Avalanche 平台服务。10 凯文·塞克尼奇、丹尼尔·莱恩、斯蒂芬·布托夫和艾敏·古恩·西雷尔 用途 支付 真正的去中心化点对点支付对于该行业来说在很大程度上是一个未实现的梦想,因为 当前任职者缺乏绩效。 $AVAX 与使用支付方式一样强大且易于使用 Visa,以完全去信任、去中心化的方式每秒允许全球数千笔交易。 此外,对于世界各地的商家来说,$AVAX 提供了比 Visa 更直接的价值主张,即更低的价格 300 费用。 质押:保护系统在 Avalanche 平台上,女巫控制是通过 staking 实现的。按顺序 为了验证,参与者必须锁定代币或质押。验证者,有时称为质押者,是 根据 staking 金额和 staking 持续时间等对验证服务进行补偿 属性。所选择的补偿函数应该最小化方差,确保大的利益相关者不会 305 不成比例地获得更多补偿。参与者也不受任何“运气”因素的影响,如 工作量证明挖矿。这样的奖励计划也会阻止挖矿或 staking 池的形成,从而真正实现 去中心化、无需信任的网络参与。 原子交换 除了提供系统的核心安全性之外,$AVAX token 还充当通用单元 的交换。从那时起,Avalanche 平台将能够原生支持无需信任的原子交换 310 该平台可直接在 Avalanche 上进行任何类型资产的本地、真正去中心化交易。 4.2 治理 治理对于任何平台的开发和采用都至关重要,因为与所有其他类型一样 系统 - Avalanche 也将面临自然演变和更新。 $AVAX 提供链上治理 对于网络的关键参数,参与者可以对网络的更改进行投票,并且 315 以民主方式解决网络升级决策。这包括诸如最小 staking 金额等因素, 铸币率以及其他经济参数。这使得平台能够通过人群oracle有效地执行动态参数优化。然而,与其他一些治理平台不同 在那里,Avalanche 不允许对系统的任意方面进行无限制的更改。相反,只有一个 可以通过治理修改预先确定的参数数量,从而使系统更具可预测性 320 并提高安全性。此外,所有可控制的参数都受到特定时间范围内的限制, 引入滞后现象,并确保系统在短时间内保持可预测性。 对于没有托管人的去中心化系统来说,寻找全球可接受的系统参数值的可行过程至关重要。 Avalanche 可以利用其共识机制来构建一个系统,允许 任何人都可以提出特殊交易,这些交易本质上是全系统民意调查。任何参与节点都可以 325 提出此类建议。 名义奖励率是影响任何货币(无论是数字货币还是法定货币)的重要参数。不幸的是,修复此参数的加密货币可能会面临各种问题,包括通货紧缩或通货膨胀。 为此,名义奖励率在预先设定的范围内受到治理。这将 允许 token 持有者选择 $AVAX 最终是上限、无上限,还是通货紧缩。Avalanche 平台 2020/06/30 11 交易费用(用 F 组表示)也受到治理。 F 实际上是一个元组,描述了与各种指令和交易相关的费用。最后,staking 次和金额 也是可以治理的。这些参数的列表在图 1 中定义。 – Δ:质押金额,以 $AVAX 计价。该值定义了需要放置的最小赌注 参与系统之前先绑定。 – δmin :节点投入系统所需的最短时间。 – δmax :节点可以质押的最长时间。 – ρ : (πΔ, τδmin) →R : 奖励率函数,也称为铸币率,决定奖励 a 给定一定数量的 π 公开披露的节点,参与者可以根据其 staking 金额进行索赔 在其所有权下,在 τ 个连续 δmin 时间范围内,使得 τδmin ≤δmax。 – F :费用结构,是一组可管理的费用参数,指定各种交易的成本。 图 1. Avalanche 中使用的关键非共识参数。所有符号在首次使用时都会重新定义。 根据金融系统的可预测性原则,$AVAX 的治理具有滞后性, 这意味着参数的更改高度依赖于它们最近的更改。有两个限制 第335章 与每个可控制参数相关:时间和范围。使用治理更改参数后 交易后,立即再次进行大量更改变得非常困难。这些困难 自上次更改以来,随着时间的推移,价值约束会放松。总的来说,这可以防止系统 在短时间内发生巨大变化,使用户能够安全地预测系统参数 短期内具有较强的控制力和灵活性,长期内则具有较强的控制力和灵活性。 340
Governance
Governance
1.1 Avalanche Goals and Principles Avalanche is a high-performance, scalable, customizable, and secure blockchain platform. It targets three broad use cases: 15 – Building application-specific blockchains, spanning permissioned (private) and permissionless (public) deployments. – Building and launching highly scalable and decentralized applications (Dapps). – Building arbitrarily complex digital assets with custom rules, covenants, and riders (smart assets). 1 Forward-looking statements generally relate to future events or our future performance. This includes, but is not limited to, Avalanche’s projected performance; the expected development of its business and projects; execution of its vision and growth strategy; and completion of projects that are currently underway, in development or otherwise under consideration. Forward-looking statements represent our management’s beliefs and assumptions only as of the date of this presentation. These statements are not guarantees of future performance and undue reliance should not be placed on them. Such forward-looking statements necessarily involve known and unknown risks, which may cause actual performance and results in future periods to differ materially from any projections expressed or implied herein. Avalanche undertakes no obligation to update forward-looking statements. Although forward-looking statements are our best prediction at the time they are made, there can be no assurance that they will prove to be accurate, as actual results and future events could differ materially. The reader is cautioned not to place undue reliance on forward-looking statements.
2 Kevin Sekniqi, Daniel Laine, Stephen Buttolph, and Emin G¨un Sirer The overarching aim of Avalanche is to provide a unifying platform for the creation, transfer, and trade of 20 digital assets. By construction, Avalanche possesses the following properties: Scalable Avalanche is designed to be massively scalable, robust, and efficient. The core consensus engine is able to support a global network of potentially hundreds of millions of internet-connected, low and highpowered devices that operate seamlessly, with low latencies and very high transactions per second. 25 Secure Avalanche is designed to be robust and achieve high security. Classical consensus protocols are designed to withstand up to f attackers, and fail completely when faced with an attacker of size f + 1 or larger, and Nakamoto consensus provides no security when 51% of the miners are Byzantine. In contrast, Avalanche provides a very strong guarantee of safety when the attacker is below a certain threshold, which can be parametrized by the system designer, and it provides graceful degradation when the attacker exceeds 30 this threshold. It can uphold safety (but not liveness) guarantees even when the attacker exceeds 51%. It is the first permissionless system to provide such strong security guarantees. Decentralized Avalanche is designed to provide unprecedented decentralization. This implies a commitment to multiple client implementations and no centralized control of any kind. The ecosystem is designed to avoid divisions between classes of users with different interests. Crucially, there is no distinction between miners, 35 developers, and users. Governable and Democratic $AVAX is a highly inclusive platform, which enables anyone to connect to its network and participate in validation and first-hand in governance. Any token holder can have a vote in selecting key financial parameters and in choosing how the system evolves. Interoperable and Flexible Avalanche is designed to be a universal and flexible infrastructure for a multitude 40 of blockchains/assets, where the base $AVAX is used for security and as a unit of account for exchange. The system is intended to support, in a value-neutral fashion, many blockchains to be built on top. The platform is designed from the ground up to make it easy to port existing blockchains onto it, to import balances, to support multiple scripting languages and virtual machines, and to meaningfully support multiple deployment scenarios. 45 Outline The rest of this paper is broken down into four major sections. Section 2 outlines the details of the engine that powers the platform. Section 3 discusses the architectural model behind the platform, including subnetworks, virtual machines, bootstrapping, membership, and staking. Section 4 explains the governance model that enables dynamic changes to key economic parameters. Finally, in Section 5 explores various peripheral topics of interest, including potential optimizations, post-quantum cryptography, and realistic 50 adversaries.
Avalanche Platform 2020/06/30 3 Naming Convention The name of the platform is Avalanche, and is typically referred to as “the Avalanche platform”, and is interchangeable/synonymous with “the Avalanche network”, or – simply – Avalanche. Codebases will be released using three numeric identifiers, labeled “v.[0-9].[0-9].[0-100]”, where the first number identifies major releases, the second number identifies minor releases, and the third number 55 identifies patches. The first public release, codenamed Avalanche Borealis, is v. 1.0.0. The native token of the platform is called “$AVAX”. The family of consensus protocols used by the Avalanche platform is referred to as the Snow* family. There are three concrete instantiations, called Avalanche, Snowman, and Frosty.
治理
1.1 Avalanche 目标和原则 Avalanche 是一个高性能、可扩展、可定制且安全的 blockchain 平台。它的目标是三个 广泛的用例: 15 – 构建特定于应用程序的 blockchains,跨越许可(私有)和无需许可(公共) 部署。 – 构建和启动高度可扩展和去中心化的应用程序(Dapps)。 – 使用自定义规则、契约和附加条款构建任意复杂的数字资产(智能资产)。 1 前瞻性陈述通常与未来事件或我们未来的业绩有关。这包括但不包括 仅限于 Avalanche 的预计表现;其业务和项目的预期发展;执行 其愿景和增长战略;以及目前正在进行、开发或完成的项目 否则正在考虑中。前瞻性陈述代表我们管理层的信念和假设 仅截至本演示文稿发布之日。这些陈述不是对未来业绩和不当行为的保证 不应依赖他们。此类前瞻性陈述必然涉及已知和未知 风险,可能导致未来期间的实际业绩和结果与任何预测存在重大差异 此处明示或暗示。 Avalanche 不承担更新前瞻性陈述的义务。虽然 前瞻性陈述是我们做出时的最佳预测,不能保证它们是正确的 将被证明是准确的,因为实际结果和未来事件可能存在重大差异。请读者注意不要 过度依赖前瞻性陈述。2 凯文·塞克尼奇、丹尼尔·莱恩、斯蒂芬·布托夫和艾敏·古恩·西雷尔 Avalanche 的总体目标是为创造、转让和交易提供一个统一的平台 20 数字资产。 通过构造,Avalanche 具有以下属性: 可扩展 Avalanche 被设计为可大规模扩展、稳健且高效。核心共识引擎 能够支持由数亿个连接互联网的低功率和高性能设备组成的全球网络,这些设备可以无缝运行,延迟低,每秒交易量非常高。 25 安全 Avalanche 旨在坚固耐用并实现高安全性。经典的共识协议是 设计用于抵御最多 f 个攻击者,并且在面对大小为 f + 1 的攻击者时完全失败或 更大,当 51% 的矿工是拜占庭矿工时,中本聪共识无法提供安全性。相比之下, 当攻击者低于一定阈值时,Avalanche提供了非常强大的安全保证,这 可以由系统设计者参数化,并且当攻击者超过 30 这个门槛。即使攻击者超过 51%,它也能保证安全(但不能保证活性)。它是 第一个提供如此强大安全保证的免许可系统。 去中心化 Avalanche 旨在提供前所未有的去中心化。这意味着一种承诺 多个客户端实现并且没有任何类型的集中控制。该生态系统旨在避免 具有不同兴趣的用户类别之间的划分。至关重要的是,矿工之间没有区别, 35 开发者、用户。 治理和民主 $AVAX 是一个高度包容的平台,任何人都可以连接到它 网络并参与验证和第一手治理。任何 token 持有者都可以投票 选择关键财务参数并选择系统如何发展。 可互操作且灵活 Avalanche 旨在成为适用于众多用户的通用且灵活的基础设施 40 blockchains/assets,其中基础 $AVAX 用于安全性并作为交换的记账单位。的 系统旨在以价值中立的方式支持在其上构建的许多 blockchain。平台 是从头开始设计的,以便可以轻松地将现有的 blockchain 移植到其上,导入余额, 支持多种脚本语言和虚拟机,并有意义地支持多种部署 场景。 45 概述 本文的其余部分分为四个主要部分。第 2 节概述了详细信息 为平台提供动力的引擎。第 3 节讨论平台背后的架构模型,包括 子网、虚拟机、引导、成员资格和 staking。第 4 节解释治理 能够动态改变关键经济参数的模型。最后,第 5 节探讨了各种 感兴趣的外围主题,包括潜在的优化、后量子密码学和现实的 50 对手。
Avalanche 平台 2020/06/30 3 命名约定 平台名称为 Avalanche,通常称为“Avalanche” 平台”,并且与“Avalanche 网络”可互换/同义,或者 – 简单地 – Avalanche。 代码库将使用三个数字标识符发布,标记为“v.[0-9].[0-9].[0-100]”,其中 第一个数字表示主要版本,第二个数字表示次要版本,第三个数字表示 55 识别补丁。第一个公开版本的版本号为 Avalanche Borealis,版本为 v.1.0.0。本地 token 该平台的名称为“$AVAX”。 Avalanche 平台使用的共识协议系列是 被称为 Snow* 家族。共有三个具体实例,分别称为 Avalanche、Snowman 和 冷淡的。
Discussion
Discussion
5.1 Optimizations Pruning Many blockchain platforms, especially those implementing Nakamoto consensus such as Bitcoin, suffer from perpetual state growth. This is because – by protocol – they have to store the entire history of transactions. However, in order for a blockchain to grow sustainably, it must be able to prune old history. 345 This is especially important for blockchains that support high performance, such as Avalanche. Pruning is simple in the Snow* family. Unlike in Bitcoin (and similar protocols), where pruning is not possible per the algorithmic requirements, in $AVAX nodes do not need to maintain parts of the DAG that are deep and highly committed. These nodes do not need to prove any past history to new bootstrapping nodes, and therefore simply have to store active state, i.e. the current balances, as well as uncommitted 350 transactions. Client Types Avalanche can support three different types of clients: archival, full, and light. Archival nodes store the entire history of the $AVAX subnet, the staking subnet, and the smart contract subnet, all the
12 Kevin Sekniqi, Daniel Laine, Stephen Buttolph, and Emin G¨un Sirer way to genesis, meaning that these nodes serve as bootstrapping nodes for new incoming nodes. Additionally these nodes may store the full history of other subnets for which they choose to be validators. Archival 355 nodes are typically machines with high storage capabilities that are paid by other nodes when downloading old state. Full nodes, on the other hand, participate in validation, but instead of storing all history, they simply store the active state (e.g. current UTXO set). Finally, for those that simply need to interact securely with the network using the most minimal amount of resources, Avalanche supports light clients which can prove that some transaction has been committed without needing to download or synchronize history. Light 360 clients engage in the repeated sampling phase of the protocol to ensure safe commitment and network wide consensus. Therefore, light clients in Avalanche provide the same security guarantees as full nodes. Sharding Sharding is the process of partitioning various system resources in order to increase performance and reduce load. There are various types of sharding mechanisms. In network sharding, the set of participants is divided into separate subnetworks as to reduce algorithmic load; in state sharding, participants agree on 365 storing and maintaining only specific subparts of the entire global state; lastly, in transaction sharding, participants agree to separate the processing of incoming transactions. In Avalanche Borealis, the first form of sharding exists through the subnetworks functionality. For example, one may launch a gold subnet and another real-estate subnet. These two subnets can exist entirely in parallel. The subnets interact only when a user wishes to buy real-estate contracts using their gold holdings, 370 at which point Avalanche will enable an atomic swap between the two subnets. 5.2 Concerns Post Quantum Cryptography Post-quantum cryptography has recently gained widespread attention due to the advances in the development of quantum computers and algorithms. The concern with quantum computers is that they can break some of the currently deployed cryptographic protocols, specifically digital 375 signatures. The Avalanche network model enables any number of VMs, so it supports a quantum-resistant virtual machine with a suitable digital signature mechanism. We anticipate several types of digital signature schemes to be deployed, including quantum resistant RLWE-based signatures. The consensus mechanism does not assume any kind of heavy crypto for its core operation. Given this design, it is straightforward to extend the system with a new virtual machine that provides quantum secure cryptographic primitives. 380 Realistic Adversaries The Avalanche paper [6] provides very strong guarantees in the presence of a powerful and hostile adversary, known as a round-adaptive adversary in the full point-to-point model. In other terms, the adversary has full access to the state of every single correct node at all times, knows the random choices of all correct nodes, as well as can update its own state at any time, before and after the correct node has the chance to update its own state. Effectively, this adversary is all powerful, except for 385 the ability to directly update the state of a correct node or modify the communication between correct nodes. Nonetheless, in reality, such an adversary is purely theoretical since practical implementations of the strongest possible adversary are limited at statistical approximations of the network state. Therefore, in practice, we expect worst-case-scenario attacks to be difficult to deploy.
Avalanche Platform 2020/06/30 13 Inclusion and Equality A common problem in permissionless currencies is that of the “rich getting 390 richer”. This is a valid concern, since a PoS system that is improperly implemented may in fact allow wealth generation to be disproportionately attributed to the already large holders of stake in the system. A simple example is that of leader-based consensus protocols, wherein a subcommittee or a designated leader collects all the rewards during its operation, and where the probability of being chosen to collect rewards is proportional to the stake, accruing strong reward compounding effects. Further, in systems such as Bitcoin, 395 there is a “big get bigger” phenomenon where the big miners enjoy a premium over smaller ones in terms of fewer orphans and less lost work. In contrast, Avalanche employs an egalitarian distribution of minting: every single participant in the staking protocol is rewarded equitably and proportionally based on stake. By enabling very large numbers of people to participate first-hand in staking, Avalanche can accommodate millions of people to participate equally in staking. The minimum amount required to participate in the 400 protocol will be up for governance, but it will be initialized to a low value to encourage wide participation. This also implies that delegation is not required to participate with a small allocation. 6 Conclusion In this paper, we discussed the architecture of the Avalanche platform. Compared to other platforms today, which either run classical-style consensus protocols and therefore are inherently non-scalable, or make usage of 405 Nakamoto-style consensus that is inefficient and imposes high operating costs, the Avalanche is lightweight, fast, scalable, secure, and efficient. The native token, which serves for securing the network and paying for various infrastructural costs is simple and backwards compatible. $AVAX has capacity beyond other proposals to achieve higher levels of decentralization, resist attacks, and scale to millions of nodes without any quorum or committee election, and hence without imposing any limits to participation. 410 Besides the consensus engine, Avalanche innovates up the stack, and introduces simple but important ideas in transaction management, governance, and a slew of other components not available in other platforms. Each participant in the protocol will have a voice in influencing how the protocol evolves at all times, made possible by a powerful governance mechanism. Avalanche supports high customizability, allowing nearly instant plug-and-play with existing blockchains. 415
讨论
5.1 优化 修剪许多 blockchain 平台,特别是那些实施中本聪共识的平台,例如 Bitcoin, 遭受永久的国家增长。这是因为——按照协议——他们必须存储整个历史记录 交易。然而,为了让 blockchain 可持续发展,它必须能够修剪旧历史。 第345章 这对于支持高性能的 blockchain 尤为重要,例如 Avalanche。 Snow* 家族的修剪很简单。与 Bitcoin (和类似协议)不同,其中不进行修剪 根据算法要求,$AVAX 中的节点不需要维护 DAG 的部分内容 深刻且高度投入。这些节点不需要向新的引导证明任何过去的历史 节点,因此只需存储活动状态,即当前余额以及未提交的余额 350 交易。 客户端类型 Avalanche 可以支持三种不同类型的客户端:存档、完整和轻型。档案 节点存储 $AVAX 子网、staking 子网和 smart contract 子网的整个历史记录,所有12 凯文·塞克尼奇、丹尼尔·莱恩、斯蒂芬·布托夫和艾敏·古恩·西雷尔 创世之路,这意味着这些节点充当新传入节点的引导节点。另外 这些节点可以存储它们选择为 validator 的其他子网的完整历史记录。档案 第355章 节点通常是具有高存储能力的机器,在下载时由其他节点付费 旧状态。另一方面,完整节点参与验证,但它们不是存储所有历史记录,而是 只需存储活动状态(例如当前的 UTXO 设置)。最后,对于那些只需要安全交互的人 在网络使用最少资源的情况下,Avalanche 支持轻客户端,可以 证明某些事务已提交,无需下载或同步历史记录。光 360 客户参与协议的重复采样阶段,以确保安全承诺和网络范围 共识。因此,Avalanche中的轻客户端提供与全节点相同的安全保证。 分片 分片是对各种系统资源进行分区以提高性能的过程 并减少负载。分片机制有多种类型。在网络分片中,参与者的集合 分为单独的子网以减少算法负载;在状态分片中,参与者同意 365 仅存储和维护整个全局状态的特定子部分;最后,在交易分片中, 参与者同意分开处理传入的交易。 在 Avalanche Borealis 中,第一种分片形式通过子网功能存在。对于 例如,可以启动一个黄金子网和另一个房地产子网。这两个子网可以完全存在于 平行。仅当用户希望使用其持有的黄金购买房地产合约时,子网才会进行交互, 370 此时 Avalanche 将启用两个子网之间的原子交换。 5.2 担忧 后量子密码学 后量子密码学最近受到广泛关注 由于量子计算机和算法的发展取得了进步。对量子的担忧 计算机的最大优势在于它们可以破解一些当前部署的加密协议,特别是数字协议 第375章 签名。 Avalanche 网络模型支持任意数量的虚拟机,因此它支持抗量子 具有合适的数字签名机制的虚拟机。我们预计有几种类型的数字签名 要部署的方案,包括基于 RLWE 的抗量子签名。共识机制 其核心操作不采用任何类型的重型加密。鉴于这种设计,很容易 使用提供量子安全加密原语的新虚拟机扩展系统。 380 现实的对手 Avalanche 论文 [6] 在存在的情况下提供了非常有力的保证 强大而敌对的对手,在完整的点对点模型中被称为回合自适应对手。在 换句话说,对手可以随时完全访问每个正确节点的状态,知道 随机选择所有正确的节点,并且可以在节点之前和之后随时更新自己的状态 正确的节点有机会更新自己的状态。实际上,这个对手非常强大,除了 第385章 能够直接更新正确节点的状态或修改正确节点之间的通信 节点。尽管如此,实际上,这样的对手纯粹是理论上的,因为实际实施中 最强的可能对手仅限于网络状态的统计近似值。因此,在 在实践中,我们预计最坏情况下的攻击将很难部署。Avalanche 平台 2020/06/30 13 包容与平等 未经许可的货币的一个常见问题是“富人获得” 390 更富有”。这是一个合理的担忧,因为实施不当的 PoS 系统实际上可能会允许 财富的创造不成比例地归因于系统中已经很大的股份持有者。一个 简单的例子是基于领导者的共识协议,其中小组委员会或指定的领导者 收集其运行过程中的所有奖励,其中被选择收集奖励的概率为 与股份成正比,产生强大的回报复利效应。此外,在诸如 Bitcoin 之类的系统中, 第395章 存在一种“大变大”的现象,即大型矿商比小型矿商享有溢价 减少孤儿和失业的情况。相比之下,Avalanche 采用平等主义的铸币分配: staking 协议中的每个参与者都会根据权益获得公平且按比例的奖励。 通过让大量人员直接参与 staking,Avalanche 可以容纳 数百万人平等参与 staking。参与活动所需的最低金额 400 协议将用于治理,但它将被初始化为较低的值以鼓励广泛参与。 这也意味着代表团不需要以小额分配参与。 6 结论 在本文中,我们讨论了 Avalanche 平台的架构。与当今其他平台相比, 要么运行经典风格的共识协议,因此本质上是不可扩展的,要么利用 405 中本聪式的共识效率低下,运营成本高,Avalanche 是轻量级的, 快速、可扩展、安全且高效。本机 token,用于保护网络并支付费用 各种基础设施成本简单且向后兼容。 $AVAX 的容量超出其他提案 实现更高水平的去中心化、抵抗攻击并在没有法定人数的情况下扩展到数百万个节点 或委员会选举,因此对参与没有任何限制。 410 除了共识引擎之外,Avalanche 对堆栈进行了创新,并引入了简单但重要的 交易管理、治理以及许多其他平台上不可用的其他组件的想法。协议中的每个参与者都可以随时影响协议的发展, 强大的治理机制使之成为可能。 Avalanche 支持高度可定制性,允许 与现有的 blockchain 几乎即时即插即用。 第415章