# Axelar白皮书中文版

By [In_Case](https://paragraph.com/@feidan) · 2022-01-12

---

Axelar网络
========

​ 将应用程序与区块链生态系统连接起来

​ ···················································草案 1.0

​ ·················································一月 2021

**摘要**

多个区块链生态系统正在出现，它们提供了对用户和应用开发者有吸引力的独特和鲜明的 特征。然而，各生态系统之间的通信非常稀少和零散。为了使应用程序能够无摩擦地跨区块链生态系统进行通信，我们提出了Axelar。Axelar栈提供了一个去中心化的网络、协议、工具和API，允许简单的跨链通信。Axelar协议套件由跨境路由和传输协议组成。一个由验证者组成的去中心化的开放网络为该网络提供动力；任何人都可以加入、使用和参与。拜占庭式的共识、密码学和激励机制被设计用来实现跨链请求所特有的高安全性和灵活性要求。

简介
==

区块链系统正在迅速普及，并吸引了资产代币化、去中心化金融和其他分布式应用的新用例。几个主要的平台，如Ethereum、Monero、EOS、Cardano、Terra、Cosmos、Avalanche、Algorand、Near、Celo和 Polkadot，提供了独特的功能和开发环境，使它们对不同的应用、用例和终端用户具有吸引力。5,11, 4, 21, 20,23, 24, 19, 6,\\14,25\\25, 24\].例如，人们可以旋转一个侧链（CosmosZone），可以与Cosmos Hub进行通信。该侧链必须以Tendermint共识为基础，并使用CosmosHub所理解的本地协议。与其他使用不同语言的区块链和生态系统的连接则留给外部技术。

\*\*成对的网桥。\*\*被包裹的资产（例如，被包裹的比特币）试图填补生态系统中缺失的跨链可操作性缺口。一个例子是tBTC\[9\]，它是一个定制的协议，其中智能合约和抵押品的巧妙组合被用来保证转账。这些解决方案需要次要的工程努力来建立--对于每个链对，开发者必须在目的地链上建立一个新的智能合约，解析来自起源链的状态证明（类似于每个侧链如何在原则上解析其他链的状态）。只有少数网桥使用这种方法被部 署。当其中一个底层区块链想要升级其共识规则或交易格式时，这些方法不能扩展。这是因为所有依赖这些链的状态的智能合约都需要升级。人们还必须设置验证人，并要求他们锁定不同的资产，以便对任何资 产转让进行过度抵押，这限制了这种转让的经济效率。我们也看到了其他一些由平台开发商开发的单一用途的桥接，他们在智能合约中重写状态转换逻辑，以桥接其他生态系统\[1,7\].它们存在多种可扩展性问题，不允许生态系统统一扩展，并为应用程序引入额外的依赖性。例如，如果一个平台改变了，那么所有网桥上的所有智能合约都需要升级。最终会使生态系统陷入僵局，没有人能够升级。最后，如果一个单用途桥连接平台A和B，另一个单用途桥连接B和C，这并不意味着A上的应用能够与C上的应用对话，人们可能需要创建另一个单用途桥或重新连接应用逻辑。

解决互操作性的其他尝试包括联合神谕（例如，Ren\[8\]），以及特定应用的可互操作区块链..\[.10\].

总而言之，现有的互操作性解决方案需要平台开发者和应用程序构建者进行繁重的工程工作，他们必须了解不同的通信协议，以便在每一对生态系统中进行通信。就这样，互操作性在今天的区块链领域几乎不存在。在一天结束时，平台开发者希望专注于建立平台，并为他们的使用情况进行优化，并能够轻松插入其他区块链。而应用开发者希望在最适合他们需求的平台上建立dapp，同时还能利用用户、流动性并与其他链上的dapp进行交流。我们也看到了其他一些由平台开发商开发的单一用途的桥接，他们在智能合约中重写状态转换逻辑，以桥接其他生态系统[\[1,7\]](#_bookmark15).它们存在多种可扩展性问题，不允许生态系统统一扩展，并为应用程序引入额外的依赖性。例如，如果一个平台改变了，那么所有网桥上的所有智能合约都需要升级。最终会使生态系统陷入僵局，没有人能够升级。最后，如果一个单用途桥连接平台A和B，另一个单用途桥连接B和C，这并不意味着A上的应用能够与C上的应用对话，人们可能需要创建另一个单用途桥或重新连接应用逻辑。

解决互操作性的其他尝试包括联合神谕（例如，Ren\[8\]），以及特定应用的可互操作区块链..\[.10\].

总而言之，现有的互操作性解决方案需要平台开发者和应用程序构建者进行繁重的工程工作，他们必须了解不同的通信协议，以便在每一对生态系统中进行通信。就这样，互操作性在今天的区块链领域几乎不存在。在一天结束时，平台开发者希望专注于建立平台，并为他们的使用情况进行优化，并能够轻松插入其他区块链。而应用开发者希望在最适合他们需求的平台上建立dapp，同时还能利用用户、流动性并与其他链上的dapp进行交流。

对可扩展跨链通信的追求
===========

在核心方面，跨链通信要求异构网络找到使用相同语言进行通信的能力。为了解决这个问题，我们解释了Axelar

协议套件，描述了它的高级属性，并解释了这些属性如何解决可扩展的跨链通信的核心问题。

1.  **"即插即用 "的整合**。\*区块链平台建设者不应该被要求进行繁重的工程或整合工作，以讲一些 "自定义语言 "来支持跨链。跨链协议应该能够无摩擦地插入任何现有或新的区块链中。新的资产应该以最小的努力被添加。
    
2.  **跨链路由**。发现网络地址、路由路径和网络等功能是互联网的核心，由BGP和其他路由协议促进。同样，为了促进跨区块链生态系统的通信，我们需要支持跨地址的发现、应用和路由。
    
3.  \*\*可升级性支持。\*\*如果其中一个区块链生态系统发生变化，它不应该影响其他区块链的互操作性。系统需要识别更新，支持更新所需的努力应该是最小的（即，不应该重写 "状态转换逻辑"，应用程序不应该中断）。
    
4.  **统一的应用语言**。应用程序需要一个简单的协议来锁定、解锁、传输和与其他应用程序通信，无论它们 位于哪个链上。这个协议必须是与链无关的，并支持简单的调用，类似于HTTP/HTTPS协议，允许用户和浏览器与任何网络服务器通信。随着更多的网络和资产加入低级别的路由协议，应用程序应该能够使用它们进行通信，而无需重写他们的软件栈。接下来，我们总结一下这些协议必须满足的安全要求。
    
5.  \*\*去中心化的信任。\*\*网络和协议必须是去中心化的、开放的，并允许每个人公平参与。
    
6.  \*\*高安全性。\*\*系统必须满足高安全保障。在跨链网络的处理过程中，系统需要维护资产和状态的安全。
    
7.  \*\*高度的灵活性。\*\*该系统必须满足高可用性保证，以支持利用其跨链功能的应用。
    
    满足这些属性的一个子集是很容易的。例如，人们可以和他们的朋友一起创建一个联合的多义词账户，并在相应的链上锁定/解锁资产。这样的系统在本质上容易受到串通和审查攻击，并且缺乏适当的激励机制 让验证者保护它们。创建一个任何人都可以参与的去中心化网络和协议套件，同时得到正确的激励，可以 实现无摩擦的跨链通信，但解决这个问题是一个难点，需要仔细结合共识、加密和机制设计协议。
    

Axelar网络
========

Axelar网络为跨链通信提供了一个统一的解决方案，满足了平台开发者的需求--不需要他们进行整合工作，也满_足了应用程序构建者的需求--用一个简单的协议和API来访问全球流动性并与整个生态系统沟通。_

Axelar网络由一个去中心化的网络组成，它连接了使用不同语言的区块链生态系统和一个带有API的协议套件，使应用程序能够轻松地执行跨链请求。该网络连接了现有的独立区块链，如比特币、Stellar、Terra、Algorand，以及互操作性中心，如Cosmos、Avalanche、Ethereum和Polkadot等解决方案。我们的任务是使应用开发者能够使用通用协议和API更容易地建立这样的应用程序，而不需要在下面推出他们专有的跨链协议，或在开发新的网桥时重写应用程序。为此，我们设计了一个协议套件，包括跨链网关协议（见第6节） 和跨链传输协议（见第7节）.

网络的一个核心组成部分是底层的去中心化协议。验证者集体维护Axelar网络，并运行保护Axelar区块链的节点。他们是通过用户的授权过程选出来的。验证者根据委托给他们的股权按比例获得投票权。验证者就平台所连接的多个区块链的状态达成共识。区块链负责维护和运行跨链路由和传输协议。治理规则允许 网络参与者颁布协议决定，如哪些区块链需要桥接，哪些资产需要支持。

Axelar区块链遵循与Cosmos Hub类似的委托持股证明（DPoS）模式。用户选出验证者，他们必须将自己的股权绑定，以参与共识并维持高质量的服务。DPoS模型允许维护大型去中心化的验证者集合和强大的 激励机制，以保证验证者负责维护加密门槛计划的网桥和股份。作为共识的一部分，验证者运行其他区块 链的轻客户端软件，允许他们验证其他区块链的状态。验证者向Axelar区块链报告这些状态，一旦有足够的验证者报告，比特币、以太坊和其他链的状态就会被记录在Axelar上。

随后，Axelar基础层在任何时间点都能知道外部区块链的状态，创建来自其他区块链的"传入网桥"。验证者集体在其他区块链上保持_门槛性的sig-nature账户_（例如，80%的验证者必须批准并共同签署任何交易出来），这使得他们可以跨链锁定和解锁资产和状态，并在其他区块链上发布状态，即"出站桥"。总的来说，人们可以把Axelar网络看作是一个_去中心化的跨链读/写orcale_。

文件的其余部分描述了网络背后的预备工作和构件（第4节），网络的一些技术细节（第5节），跨链网关协议（第6节)，以及跨链传输协议(第7节).

预备工作
====

符号和假设
-----

每个验证人都有一个_权重_，一个在（0，_1）的数字，表示该验证人的投票权。所有验证人的权重加起来都是1。如果一个验证人运行的节点符合Axelar协议的规则，那么她就是_正确的。_为了最终确定区块，或签署跨链请求，Axelar需要总权重_大于F_的正确验证人。我们把这个参数称为_F_∈\[0_._5_，_1\]的_协议阈值\*。

Axelar可以基于一个_即时终结性的Delegated-Proof-of-Stake_区块链。验证者在每轮_i_运行_拜占庭容错（BFT）共识_以最终确定_i_区块。一旦_ith_区块被最终确定，新的BFT共识被运行以最终确定_i_+1_th块_，以此类推。

验证人是通过股权委托选出的。拥有一些股权的用户可以选择运行一个验证者节点，或者将他们的投票权（股权）委托给现有的验证者，然后由其代表投票。验证人集合可以被更新，验证人可以加入/离开这个集合，用户可以委托/取消他们的投票权。

不同的区块链在不同的网络假设下工作。_同步通信_意味着信息传递的时间有一个固定的上限∆，其中∆是已知的，可以建立在协议中。_异步通信_意味着消息可能需要任意长的时间来传递，众所周知，即使在只有一个恶意验证者的情况下，也不能为异步网络建立BFT协议。同步性和异步性之间的一个现实的折衷办法是假设_部分同步通信_。在某个未知的全局稳定时间（GST）之前，网络可能是完全异步的，但在GST之后，通信变得同步，有一个已知的上限∆\[17\].

典型的区块链是在\*> F_正确验证者的假设下工作的。对于同步网络来说，F_ =1/2是典型的设定，但对于部分同步网络的较弱假设来说，_F_ =2 _/_ 3.比特币它的分叉、以及目前以太坊的工作证明版本只在假设同步的情况下工作。其他如Algorand和Cosmos只要求部分同步。当通过Axelar连接区块链时，连接是假设这些区块链中最强的网络假设，例如，在连接比特币和Cosmos的情况下，这就是同步。Axelar区块链本身在部分同步的情况下工作，因此需要F\*=2/3，但通过假设其他现有区块链是安全的并利用其安全性，有可能提高阈值要求。

加密学的初步研究
--------

\*\*数字签名。\*\*一个_数字签名方案_是一个算法（_Keygen, Sign, Verify）。Keygen_输出一对钥匙（_PK，SK_）。只有_SK_的所有者可以签署信息，但任何人都可以根据公钥_PK_验证签名。今天，大多数区块链系统使用标准的签名方案之一，如ECDSA、Ed25519或它们的一些变体\[2,3\].

\*\*阈值签名。_阈值签名方案_使一组n个当事方以这样的方式分割签名方案的秘密钥匙，即_t_+1或更多当事方的任何子集可以合作产生一个签名，但_t_或更少当事方的子集不能产生一个签名，甚至不能了解关于秘密钥匙的任何信息。ECDSA和EdDSA的阈值协议产生的签名看起来与独立算法产生的签名相同。

阈值签名方案用分布式_n_方协议_T.Keygen_,_T.Sign取代了_普通签名方案的_Keygen_和_Sign_算法。这些协议通常需要公共广播信道和各方之间的私人成对信道，而且它们通常涉及几轮通信。在成功完成_T.Keygen_之后，每个用户都持有一个秘密密钥SK和相应的公钥PK的份额s_i_。_T.Sign_协议允许这些当事方为一个在公钥PK下有效的给定信息。这个签名可以由任何人使用_Verify_ 原有签名方案的算法。

阈值签名的属性
-------

阈值方案可能有几个特性，对去中心化网络来说是特别理想的。

\*\*针对不诚实的多数的安全性。\*\*一些阈值方案有这样的限制：只有当_n个_当事方中的大多数是诚实的，它们才是安全的。因此，阈值参数_t_必须小于_n_/2..\[.15\].这个限制通常伴随着这样一个事实，即需要_2t_+1个诚实方来签名，尽管只有_t_+1个腐败方可以串通起来恢复秘钥。不受这种限制的方案被称为_对不诚实的多数人_是_安全的_。

正如后面的章节所讨论的5.2的内容，跨链平台必须最大限度地提高其网络的安全性，并能够容忍尽可能多的腐败方。因此，能够容忍不诚实的多数人的方案是必要的。

\*\*预先签名，非交互式在线签名。\*\*为了减少签署信息的各方的通信负担，最近的一些协议已经确定了签名的很大一部分工作可以"离线 "完成，在已知要签署的信息之前\[18,13\].这个离线阶段的输出被称为_预签名_。预签名的产生被视为一个独立的协议_T.Presign，不同于_T.Keygen和_T.Sign_。预签名协议的输出必须被各方保密，直到他们在签名阶段使用它们。之后，当要签署的信息被知道时，只有少量的额外 "在线 "工作需要在_T.Sign中_完成，以完成签名。

在线_T.Sign_阶段不需要各方之间的任何通信。每一方只需对消息和预签名做一个本地计算，然后宣布 她的签名份额_si_。(一旦公开，这些签名份额_s_1\*, . .一旦公开，这些签名份额s, ..., st\*+1很容易被任何人结合起来，以揭示实际的签名_s_）。这一属性被称为_非交互式在线签名_。

**稳健性**。阈值方案只保证一个子集的恶意方不能签署信息或学习秘钥。然而，这种保证并不排除不良行为者可 以阻止其他人产生密钥或签名的可能性。在一些方案中，即使是单方的恶意行为也会导致_T.Keygen_或_T.Sign_中止，没有有用的输出。唯一的办法是重新启动协议，可能是用不同的一方。相反，对于去中心化的网络，我们希望_T.Keygen_和_T.Sign在_至少有_t_ +1个当事方是诚实的情况下能够成功，即使一些恶意的当事方在协议中发送畸形的信息或丢弃信息。这一特性被称为_鲁棒性_。

\*\*故障归因。\*\*在_T.Keygen_或_T.Sign_中识别不良行为者的能力被称为_过失归属_。如果没有过错归属，就很难可靠地排除或惩罚不良行为者，在这种情况下，不良行为者所带来的成本必须由所有人承担。这一属性对于去中心化的网络也很重要，在这种网络中，恶意行为应该是可以被识别的，并通过削价规则在经济上被抑制住。

\*\*并发环境中的安全性。\*\*签名方案需要在并发环境下是安全的，在这种情况下，密钥源和签名算法的多个实例可以并行参与。(Drijvers等人\[16\]例如，Drijvers等人展示了在这些环境中对Schnorr多签名方案的攻击）。 ECDSA和Schnorr方案都有满足这些特性的版本。\[13,22\].ECDSA和EdDSA是迄今为止在区块链领域最广泛部署的签名方案。因此，这两种方案的阈值版本一直是最近研究和发展的重点。对最先进的技术感兴趣的读者可以参考\[22,13,18\]和最近的一份调查报告\[12\].

Axlear拉网络
=========

设计一个开放的跨链网络
-----------

Axelar网络维护的网桥是由门槛账户支持的，这样（几乎）所有的验证者必须集体授权任何跨链请求。设计一个任何人都可以参与的网络来确保这些桥梁的安全，需要满足以下技术要求。

*   \*开放的成员资格。\*任何用户都应该能够成为验证者（遵循网络的规则）。
    
    *   \*对成员资格的更新。\*当一个验证者诚实地离开系统时，他们的密钥需要被适当地撤销。
        
        *   \*奖励和砍价。\*恶意验证者应该是可识别的，他们的行为必须由协议来识别和处理。
            
        *   \*共识。\*阈值方案本身被定义为独立的协议。为了在节点之间传播信息，我们需要广播和点对点的私人通道。此外，验证者需要就阈值方案的每次调用的最新状态达成一致，因为它们经常有多轮互动。
            
        *   \*密钥管理。\*就像任何PoS系统中的普通验证者必须仔细保护他们的钥匙一样，Axelar验证者也必须保
            
            护他们的门槛份额。钥匙需要轮换，在在线和离线部分之间分割，等等。
            
            Axelar从Delegated Proof-of-Stake模型开始，社区选出一组验证者来运行共识。请注意，标准的阈值方案对每个参与者都是相同的，在共识中没有"权重 "的概念。因此，网络必须对其进行调整，以考虑到验证人的权重。一个简单的方法是给较大的验证者分配多个门槛份额。下面概述了验证人集体执行的三个基本功能。
            
*   _阈值密钥生成。现有的_标准区块链签名方案（ECDSA，Ed25519）的阈值密钥生成算法是多个参与者之间的互动协议（见第4节).Axelar网络上的一个特殊交易指示验证者开始执行这个有状态的协议。每个验证者都运行一个阈值守护进程，负责安全保存秘密状态。对于该协议的每个阶段。
    

1.  验证器在其本地内存中保存协议的状态。
    
2.  它调用秘密守护程序，按照协议描述为其他验证者生成信息。
    
3.  它通过广播或私人通道将信息传播给其他验证者。
    
4.  每个验证器执行状态转换功能，以更新其状态，进入协议的下一个阶段，并重复上述步骤。
    
    在协议结束时，在Axelar链上产生一个门槛公钥，它可以显示回给用户（例如，用于存款）或产生初始请求的应用程序。
    
    *   \*阈值签名。\*Axelar网络上的签名请求与密钥生成请求的处理方式类似。例如，当用户想从某个链上提取 资产时，就会调用这些请求。这些都是交互式协议，各轮之间的状态转换是作为通过Axelar区块链视图和每个验证者的本地内存传播的消息的功能来触发的。
        
        *   _处理验证人成员的变化。验证器组需要定期轮换，以允许新的利益相关者加入该组。在验证器集合更新时，我们需要更新阈值密钥，以便在新的集合中共享。因此，如果我们允许任何人在任何时候加入，我们将不得不非常频繁地更新阈值密钥。为了防止这种情况，我们每隔_T个区块就轮换验证人。在_T_轮的间隔内，集合_V_和_R_阈值密钥是固定的。在每一轮是参数_T_ 的整数倍时，我们按以下方式更新验证人集合。
            
5.  在任何一轮_R_，Axelar状态都会跟踪当前验证器集_VR . V R_+1 = _VR_ ，除非_R_ +1是_T_ 的倍数。
    
6.  在((_i_ - 1)\*T, iT)\*回合中，用户发布绑定/解绑信息。
    
7.  在第_iT_轮结束时，这些信息被应用于_ViT−1_ 得到_ViT_
    
    *   _在轮值验证人存在的情况下，阈值密钥生成和签名。Axelar区块链可以在_R轮发出新钥匙或阈值签名的请求。签名过程需要的时间超过一轮，我们不想拖累共识，所以我们要求在_R_+10轮开始前产生签名。特别是，验证者只有在看到_R_+10轮的证书和_R_轮发出的每个密钥/签名请求的签名后，才开始_R+_ 10轮。所有_R_轮请求的结果必须包含在_R_+11块中。换句话说，不包含_R_轮结果的_R− 11_ 认为是无效的，验证者不对其进行投票。为了确保所有的门槛信息在验证人-集合更新之前被签署，Axelar不在一个回合内发出任何门槛请求，等于−1, −2, .. . , −9 _T的_模数。
        

网络安全
----

区块链系统的安全性依赖于各种密码学和博弈论协议，以及网络的去中心化。例如，在股权证明区块链中，如果没有适当的激励措施，验证者可能会串通起来，改写历史，在这个过程中窃取其他用户的资金。在工作证明网络中，如果没有足够的去中心化，就很容易产生长分叉和双重消费，正如对比特币黄金和以太坊经典的多次攻击所证明的那样。

大多数关于区块链安全的研究都集中在主权链上。但是，一旦链的互操作，就必须考虑新的攻击载体。例如，假设以太坊通过两个智能合约（一个在以太坊上，一个在X上）控制的直接桥梁与一个小区块链X对话。 在1.1节我们还必须决定当X的信任假设被违反时会发生什么。在这种情况下，如果ETH已经转移到X，X的验证者可能会串通起来伪造X的历史，在那里他们持有所有的ETH，在Ethereum上发布伪造的共识证明并窃取ETH。当X通过直接桥接与其他多个链相连时，情况就更糟糕了，如果X分叉，其影响会通过每个桥接传播。对于任何一个单独的项目来说，为每一个成对的桥设置恢复治理准则是一项艰巨的任务。

Axelar网络通过以下机制解决安全问题。

*   \*\*最大的安全性。\*\*Axelar将安全阈值设置为90%，这意味着几乎所有的验证者都需要串通起来提取任何被其网络锁定的资金，或者伪造状态证明1.在实践中，已经观察到PoS验证者有非常高的运行时间（接近100%），假设他们得到适当的激励。因此，Axelar网络将产生区块，即使有这个高门槛。然而，在极少数情况下，如果出了问题，网络停滞不前，网络需要强大的回退机制来重新启动接下来描述的统。
    
*   \*\*最大限度地分散。\*\*由于网络使用阈值签名方案，验证人的数量可以越多越好。网络不受我们可以支持的 验证人数量、交易限制或费用的限制，例如，在不同的链上使用多重签名，其复杂性（和费用）会随着验证人的数量线性增加。2
    
    *   \*\*健全的回退机制。\*\*在上述具有高安全阈值的网络中，必须解决的第一个问题是当网络本身失速时，会发生什么。假设Axelar网络本身停滞。我们能不能有一个后退机制，让用户恢复他们的资金？为了解决Axelar网络本身的任何潜在停滞，Axelar验证者集体控制的区块链X上的每个阈值桥账户都有一个 "紧急解锁钥匙"。这把钥匙可以被共享
        
        1最终将选择的网络部署参数可以调整。
        
        2对于一些区块链来说，多签名提供了一个合理的替代方案，其中气体费用较小，支持的消息格式也很合适。
        

但对于像比特币和以太坊这样的两个最大的平台来说，它们并没有规模。

跨越数千方，甚至可能是区块链X的自定义密钥，在该链的社区内共享。因此，如果Axelar网络停滞不前，这个密钥将作为后备手段，使资产得以恢复（详见下文）。

*   _最大限度地分散后退机制。这种回退机制包括一个二级_恢复的用户_集_，任何人都可以不计成本地参与其中。这些用户不需要在线，不需要运行节点，也不需要相互协调。他们只有在Axelar网络停滞不前， 无法恢复时才会被 "召唤"。网络的安全性通过对主验证器集的非常高的门槛和最大限度的分散的二级恢复集得到加强。
    
    *   \*共同治理。\*一个共同的协议管理着Axelar网络。用户可以集体投票决定哪条链应该通过其网络得到支持
        
        。网络还将分配一个资金池，在发生意外紧急情况时，可用于偿还用户，也通过治理协议控制。
        
    *   下面将讨论各种安全机制。
        

**回退机制**。当Axelar由于高阈值而停滞不前时，一个 "紧急解锁钥匙 "将控制网络。有多种方法来实例化这个解锁钥匙，某些链/应用可能选择利用不同的变体作为 "恢复集 "或完全选择退出。3

*   选项a.在区块链项目的基础上与社区内有声望的人分享关键。
    
    *   选项b.通过委托的PoS机制，分享跨党派选举。
        
        *   _选项c._ 对于管理链/应用X的资产和信息的账户，在X的利益相关者/验证者之间共享一个自定义密钥
            
            。假设X有治理机制，如果Axelar停滞不前，可以应用同样的治理机制来确定行动方案。
            
            现在，给定恢复用户的身份和他们的公钥，一个简单的协议就能生成无人知晓的恢复密钥的份额。此外，恢复集的用户不需要在线，直到通过治理机制调用恢复。按照标准的分布式密钥生成协议，每个Axelar验证者都会分享一个随机值。恢复秘钥是通过对这些值进行求和而产生的。与其在明处进行求和，不如在 恢复用户的公钥下对所有份额进行加密，然后以同态方式相加（这假设了加法同态加密和一个额外的零知识层，这两者都很容易获得）。这个协议的结果是一个恢复的公钥_RPK_和可能是成千上万的加密（在恢复用户的公钥下）的相应的秘密密钥_Enci_（_si_）的份额，并分配给他们的所有者（例如，张贴在链上）。Axelar桥梁合约包括在某些条件下使用_RPK_恢复资金的选项。最后，也可以更新这个恢复密钥，甚至改变持有其股 份的用户组，而不需要参与的股东做任何工作。
            

如果连接到Axelar的X链断裂，有几个选择。

*   对任何一天可以移入/移出X的资产的美元价值施加限制。因此，在Axelar验证器发现之前，恶意链X
    
    只能窃取所有桥接的资产中的一小部分，而下面的治理机制就会启动。
    
    *   Axelar治理模块可以用来投票决定在这些情况下发生什么。例如，如果有一个良性的错误，社区重新 启动X，Axelar治理可以决定从原地重新启动连接。
        
        *   如果ETH已经转移到X，一个自定义的以太坊恢复密钥可以决定ETH资产的情况
            

跨链网关协议（CGP）
===========

在本节中，我们就许多应用需求之间常见的两个核心例子解释跨链网关协议和路由机制。

**状态同步（第**\*6.2\*\*\*\*).\*\*将源区块链_S_的状态信息发布到目的区块链\*D\*的状态中。

(例如，将比特币区块头发布到以太坊区块链上）。

**资产转让（第6.3**\*\*).\*\*将数字资产从_S处_转移到_D处_，然后再转回来。

(例如，将比特币从比特币区块链转移到以太坊区块链，然后再转回比特币区块链）。

为了简单起见，我们假设链_D_至少对智能合约有最小的支持，但_S_可以是任何区块链。

其他产业链上的账户
---------

为了连接不同的链，在每个链上都创建了门槛账户，控制价值和信息在它们之间的流动。对于链条_Chain_， 用_ChainAxelar_表示该账户。

\*\*\*\*比特币账户。\*\*\*\*对于比特币和其他非智能合约链，Axelar验证器按照以下章节创建一个门槛ECDSA密钥\\5.1这个密钥控制着比特币上的ECDSA账户，也是用户发送存款的目标地址。个性化的阈值密钥可以根据用户的要求创建。密钥可以定期更新，最新的密钥和个性化的密钥可以通过查询Axelar节点找到。

\*\*\*\*阈值桥账户在有智能合约的链上。\*\*\*\*用SC来表示该链。验证者按照章节创建一个门槛ECDSA或ED25519密钥。\[5.1的规定，取决于该链支持哪种密钥类型。我们用_PKAxelar来_表示这个密钥，当我们指的是哪条链时，不会有任何歧义。这个密钥控制着SC上的一个智能合约账户，用_SCAxelar表示_，SC上的任何应用程序都可以查询

_SCAxelar_以了解该密钥的PK地址。这样一来，任何SC的应用程序都可以识别由_SCAxelar_签署的信息。该协议还需要考虑到_PKAxelar_的旋转值。这发生的情况如下。

1.  在SC上初始化_SCAxelar_。它将_PKAxelar_作为其状态的一部分进行存储，该状态在Axelar上被初始化为其创世值。_SCAxelar_还包括更新PK的规则。
    
    1.  为了更新_PKAxelar_，必须提交一个格式为(_update, PKnew_)的交易，并有当前_SKAxelar_的签名。然后合同设置_PKAxelar_ = _PKnew_。
        
        1.  每次验证者将SC的门槛密钥从_PK更新i_ 到_PK_时_i_+1，Axelar要求验证者使用_SKi_来签名（_更新，PKi_+1）。随后，这个签名被发布到_SCAxelar_，它更新_PKAxelar_。
            

状态同步化
-----

让_qS_表示一个关于链_S_状态的任意问题，这类问题的例子包括。

跨链资产转移
------

该网络通过扩展Section的状态同步工作流程来实现数字资产的跨链转移。6.2.

_DAxelar_在初始化时就打印了足够的挂钩_S_代币的供应，并由其控制。假设一个用户要求用源链_S_上的_X_量代币

换取目的链_D_上的_X_量挂钩_S代币_，并存入用户选择的_D_地址_wD_。我们提出了完全通用的工作流程，它支持 任意的源链_S_\--即使是像比特币这样不支持智能合约的链。

1.  用户（或代表用户的应用程序）向门槛桥账户发布转账请求（_x，wD_），随后被转到Axelar网络。
    
    1.  Axelar验证者使用阈值密码学，共同为_S_创建一个新的存款地址_dS_，他们将_d_发布_S_到Axelar区块链上。
        
        1.  用户（或代表用户的应用程序）_S_通过监控Axelar区块链了解到_d_。用户通过一个普通的_S_交易_tx_，使用_S_她最喜欢的_S_链软件，向地址_dS发送x_量的_S_代币。
            

(由于d的阈值属性S，S除非有阈值数量的验证者协调这样做，否则不能从d中花费代币）。

1.  _tx_被_S_发布在Axelar上。验证者查询他们的_S_链节点软件的API，看是否存_tx_，_S_如果响应为 "真"，则向Axelar链报告答案。
    
    1.  一旦\*>F_加权验证者在_RS_轮为_tx_报告"真"，Axelar要求验证者签署一个交易_aD\*，从_DAxelar_向_w_发送_Dx_量的挂钩_S_代币。
        
        1.  使用阈值加密法，验证者在_aD_上签名，签名被包含在_R_+块中。 11.
            
        2.  任何人都可以从_R_+区块中获取有符号的值_aD_并11将其发布到_D_。
            
        3.  该请求已经得到了服务，一旦在_D_上发布了\*一个D请求，\*就会处理该转移。
            
            现在，假设一个用户要求从_D_链上赎回_xi_量的包装_S代币_到_S_链上，存入用户选择的_S_\-地址_wS_。工作流程如下
            
            。
            
2.  用户通过使用她喜欢的_D_链软件，通过普通的_D_交易向_c_存入_Dxi_量的wrapped\*-S\*代币，发起一个转账请求（_xi，wS_）。
    
3.  一旦\*>F_加权验证者在_R_轮对（xi，wS_）报告为"真"，Axelar要求验证者签署一个交易aS\*，从_SAxelar_发送_xi_量的_S_代币给_wS_。
    
4.  使用阈值加密法，验证者在_aS_上签名，签名被包含在_R_+11块中。
    
5.  任何人都可以从_R_+11区块中获取有符号的值_aS_并11将其发布到_S_。
    
6.  该请求已经得到了服务，一旦在_S_上发布了\*一个S请求，\*就会处理该转移。
    
    CGP路由层支持的其他请求包括锁定、解锁或跨链转移资产。
    

\*\*实现原子式跨链交易流。\*\*根据跨链请求的类型，Axelar试图确保相应的交易在多个链上执行或不执行。为此， 每个请求在Axelar区块链中都可以处于以下状态之一。(_初始化，待定，完成，超时）_。如果在挂起阶段的_超时_被触发，请求会返回一个错误代码。一些超时事件也会开始一个_退款_事件：例如，如果一个链上的资 产需要转移到另一个链上的资产，如果接收链没有处理该交易，该资产就会被退回给原用户。

跨链传输协议（CTP）
===========

CTP是一个应用层面的协议，使应用程序可以很容易地利用跨链功能。我们通过关注资产转移功能（例如，在DeFi中使用）来解释这种整合。这些应用程序通常由三个主要部分组成：前端GUI，一条链上的智能合约， 以及在前端和智能合约之间发布交易的中介节点。前端与用户的钱包互动，接受存款，处理提款等。应用程序可以利用跨链功能

通过调用类似于HTTP/HTTPSGET/POST方法的CTP查询。这些查询随后被CGP层接收执行，并将结果返回给用户。

*   _CTP查询_。应用程序开发人员可以在任何链上托管他们的应用程序，并将他们的智能合约与阈值桥账户集成，以执行CTP查询。
    
    *   _阈值桥账户_。假设一个应用程序开发人员在A链上建立他们的合同，那么，他们将引用阈值桥接合同 来获得跨链支持。这个合约允许应用程序进行。
        
        *   注册一个它想与之沟通的区块链。
            
        *   在该区块链上注册它想利用的资产。
            
        *   对资产进行操作，如接受存款、处理提款和其他功能（类似于ERC-20合约的调用）。
            
            假设一个突出的DeFi应用，MapleSwap，原生驻扎在A链上，注册了一个阈值桥账户。Axelar验证器集体管理相应链上的合同本身。假设一个用户想向分别驻扎在两条链上的资产X和Y之间的交易对提交一笔存款。那么，当用户提交这样的请求时，它将通过门槛桥账户被转到Axelar网络进行处理。在那里，将执行 以下步骤。
            

1.  Axelar网络了解到，该应用注册了跨资产的跨链支持。它利用阈值密码学和共识为用户在相应的A和B
    
    链上生成存款密钥。
    
2.  相关的公钥被返回到应用程序，并显示给用户，用户可以使用他们喜欢的钱包来提交存款。相应的秘钥在所有Axelar验证器中共享。
    
3.  当存款被确认后，Axelar更新其跨链目录，记录相应链上的用户已经存入这些资产。
    
4.  Axelar验证器执行多方协议，生成一个阈值签名，允许更新应用程序所在链A上的阈值桥账户。
    
5.  然后CTP查询被返回到DeFi应用智能合约，它可以更新其状态，更新其收益率公式，汇率，或执行其他与应用状态相关的条件。在整个过程中，Axelar网络在高层次上充当了一个分散的跨链读写Orcale，CGP是链间的路由层，CTP是应用协议。
    

\*\*额外的跨链请求。\*\*CTP支持跨区块链的应用程序之间更普遍的跨链，如：。

*   执行公钥名称服务（PKNS）。这是一个通用目录，用于将公钥映射到电话号码/Twitter手柄（少数项目，如Celo，在其平台内提供这些功能）。
    
    *   跨链应用触发器。如果B链上的另一个应用满足搜索条件（利率\*<X\*），A链上的用可以更新其状态。
        
    *   智能合约的可组合性。链A上的智能合约可以根据链B上的合约状态来更新其状态，或者触发一个动作来更新链B上的智能合约。在高层次上，这些请求可以被处理，因为CTP、CGP和Axelar网络等协议集体可以在区块链之间传递和 写入任意可验证的状态信息。
        

摘要
==

在未来几年里，重要的应用和资产将建立在多个区块链生态系统之上。Axelar网络可以用来将这些区块链插入一个统一的跨链通信层中。该层提供路由和应用级协议，满足平台建设者和应用开发者的需求。应用开发者可以根据自己的需求建立最佳平台，并利用简单的协议和API来访问全球跨链流动性、用户，并与其 他链进行沟通。

参考文献
====

1.  Althea peggy. [https://github.com/cosmos/peggy.\[引自第](https://github.com/cosmos/peggy.%5B%E5%BC%95%E8%87%AA%E7%AC%AC) 2节\]
    
2.  数 字 签 名 算 法 （dsa） 和 椭 圆 曲 线 数 字 签 名 算 法（ecdsa） 的 确 定 性 使 用 。[https://tools.ietf.org/html/rfc6979](https://tools.ietf.org/html/rfc6979)。\\引用于第\[5.\]
    
3.  爱德华兹曲线数字签名算法（eddsa）。[https://tools.ietf.org/html/rfc8032](https://tools.ietf.org/html/rfc8032)。\\引用于第\[5.\]
    
4.  Eos.io技术白皮书v2。[https://github.com/EOSIO/Documentation/blob/master/TechnicalWhitePaper.md](https://github.com/EOSIO/Documentation/blob/master/TechnicalWhitePaper.md)。\\引用于第 \[1.\]
    
5.  以太坊。一个安全的去中心化的通用交易账本。[https://ethereum.github.io/yellowpaper/paper.pdf](https://ethereum.github.io/yellowpaper/paper.pdf)。 \\引自第 \[1.\]
    
6.  近乎白皮书。[https://near.org/papers/the-official-near-white-paper/。](https://near.org/papers/the-official-near-white-paper/%E3%80%82) \\引自第 \[1.\]
    
7.  彩虹桥。[https://github.com/near/rainbow-bridge。](https://github.com/near/rainbow-bridge%E3%80%82) \\引自第 \[2.\]
    
8.  Ren: 一个保护隐私的虚拟机，为零知识的金融应用提供动力。[//whitepaper.io/document/419/ren-litepaper](https://whitepaper.io/document/419/ren-litepaper)。 \\引用于第 \[3.\]
    
9.  tbtc。一个去中心化的可赎回btc支持的erc-20代币[https://docs.keep.network/tbtc/index.pdf](https://docs.keep.network/tbtc/index.pdf)。\\引用于第\[2.\]
    
10.  Thorchain:一个去中心化的流动资金网络。[https://thorchain.org/](https://thorchain.org/)。\\引用于第\[3.\]
    
11.  Kurt M. Alonso. Zero to monero. [https://www.getmonero.org/library/Zero-to-Monero-1-0-0.](https://www.getmonero.org/library/Zero-to-Monero-1-0-0.pdf) [pdf](https://www.getmonero.org/library/Zero-to-Monero-1-0-0.pdf).\\引用于第 \[1.\]
    
12.  Jean-Philippe Aumasson, Adrian Hamelink, and Omer Shlomovits.ecdsa阈值签名的调查。Cryptology ePrint Archive, Report 2020/1390, h2020.ttps://eprint.iacr.org/2020/1390. \\引用于第 \[6.\]
    
13.  Ran Canetti, Nikolaos Makriyannis, and Udi Peled.Uc非交互式、主动式、阈值ecdsa。Cryptology ePrint Archive, Report 2020/492, 2020. [https://eprint.iacr.org/2020/492.\[引用于第](https://eprint.iacr.org/2020/492.%5B%E5%BC%95%E7%94%A8%E4%BA%8E%E7%AC%AC) 6.\]
    
14.  cLabs白皮书。[https://celo.org/papers](https://celo.org/papers)。\\引用于第 \[1.\]
    
15.  Ivan Damg˚ard, Thomas Pelle Jakobsen, Jesper Buus Nielsen, Jakob Illeborg Pagter, and Michael Bæksvang Østerg˚ard. 带有诚实多数的快速阈值ECDSA。 在_SCN_，_计算机科学讲义第_12238卷_中_，第 382-400页。斯普林格，\\2020.引用于第 \[6.\]
    
16.  Manu Drijvers, Kasra Edalatnejad, Bryan Ford, Eike Kiltz, Julian Loss, Gregory Neven, and Igors Stepanovs.论两轮多重签名的安全性。在_IEEE安全与隐私研讨会上_，第1084-1101页。IEEE,\\2019.引用自第 \[6.\]
    
17.  Cynthia Dwork, Nancy Lynch, and LarryStockmeyer.在部分同步的情况下达成共识。[https://groups.csail.mit.edu/tds/papers/Lynch/jacm88.pdf](https://groups.csail.mit.edu/tds/papers/Lynch/jacm88.pdf)。 \\引自第 \[5.\]
    
18.  Rosario Gennaro 和 Steven Goldfeder.一轮阈值ecdsa与可识别的中止。Cryptology ePrint Archive, Report 2020/540, h2020.ttps://eprint.iacr.org/2020/540.\\引用于第 \[6.\]
    
19.  Yossi Gilad, Rotem Hemo, Silvio Micali, Georgios Vlachos, and Nickolai Zeldovich.Algorand:为加密货币 扩 展 拜 占 庭 协 议 。 第 26 届 操 作 系 统 原 理 研 讨 会 论 文 集 ， h2017.ttps://dl.acm.org/doi/pdf/10.1145/3132747.3132757。\\引用于第 \[1.\]
    
20.  Evan Kereiakes, Do Kwon, Marco Di Maggio, and Nicholas Platias.Terra money:稳定性和采用。
    
    [https://terra.money/Terra\_White\_paper.pdf](https://terra.money/Terra_White_paper.pdf)。 \\引自第 \[1.\]
    
21.  Aggelos Kiayias, Alexander Russell, Bernardo David, and Roman Oliynykov.Ouroboros。一个可证明的安全股权证明的区块链协议。[https://eprint.iacr.org/2016/889.pdf](https://eprint.iacr.org/2016/889.pdf)。\\引用于第\[1.\]
    
22.  Chelsea Komlo和Ian Goldberg。Frost:灵活的回合优化Schnorr阈值签名。Cryp- tology ePrint Archive, Report 2020/852, 2020. [https://eprint.iacr.org/2020/852](https://eprint.iacr.org/2020/852). \\引用于第 \[6.\]
    
23.  Jae Kwon和Ethan Buchman。宇宙。一个分布式账本的网络。
    
    [https://cosmos.network/resources/whitepaper](https://cosmos.network/resources/whitepaper)。\\引自第和\[1页2.\]
    
24.  雪崩团队。雪崩平台。
    
    [https://www.avalabs.org/whitepapers](https://www.avalabs.org/whitepapers)。 \\引自第和\[1页2.\]
    
25.  加文-伍德Polkadot:一个异质多链框架的愿景。
    
    [https://polkadot.network/PolkaDotPaper.pdf](https://polkadot.network/PolkaDotPaper.pdf)。\\引自第和\[1页2.\]

---

*Originally published on [In_Case](https://paragraph.com/@feidan/axelar)*
