近日,以通用抽象为主要叙事、旨在面向主流受众的 L1 区块链 XION 发布了其关于通用抽象的白皮书,深入探讨了通用抽象的核心基础设施,包括元账户、签名抽象、Gas 费用抽象、动态代币铸造机制、互操作性抽象等,以实现安全、直观、简单且无缝的用户体验。由 XION World 编译,略有删改。
XION 是第一个模块化通用抽象层,通过抽象账户、签名、Gas 费用、互操作性,在协议级别提升了用户体验 (UX)。在此过程中,XION 消除了新用户进入的壁垒,同时规避了开发人员在其他生态系统中遇到的碎片化挑战。通过抽象互操作性,XION 还可以将无缝地用户体验扩展到所有集成的公链,并支持许多新颖的用例。
1. 介绍
新用户通常会遇到令人困惑的技术复杂性,涉及钱包设置、管理资产、跨设备使用、购买原生代币、支付 Gas 费、多链交互等。虽然区块链拥有巨大的潜力,但其广泛采用却因这些复杂性而受到阻碍。这种错综复杂的用户体验导致用户流失率高,用户兴趣逐渐降低,这表明 Web3 需要一个用户友好的区块链基础设施。
虽然现在有许多解决方案(例如引入账户抽象)都在试图缓解这些问题。然而,避免共识层的更改导致了碎片化问题、巨大的部署和执行成本、中心化风险、矿工可提取价值(MEV)捕获和审查风险。目前 Web3 尚不存在一个整体解决方案来吸引主流用户。
本白皮书探讨了 XION 的新颖架构。之所以能够成为通用抽象层,是因为 XION 在协议级别消除了复杂的区块链功能(例如账户、签名、费用管理和互操作性)。 XION 消除了新用户进入的巨大障碍,同时规避了开发人员面临的碎片化挑战。此外,XION 交易签名支持各种现有的加密曲线,并且很容易适应未来的发展,这不仅扩大了其市场范围,而且还确保了 XION 与不同区块链协议之间的长期互操作性。
目录:
2. XION 的开发背景
3. XION 的通用抽象:元账户、签名抽象、设备抽象、Gas 抽象和动态代币铸造机制
4. XION 的互操作性抽象
5. XION 可以支持的新颖用例
6. 结论
2. 背景
2.1 外部拥有账户
一般来说,区块链有两种类型的账户:
a. 外部拥有账户(Externally Owned Accounts,以下简称 EOA)
b. 智能合约账户(Smart Contract Accounts,以下简称 SCA)
通常,用户通过 EOA 与区块链进行交互,这涉及非对称密码学。这些 EOA 都由一组公钥和私钥组成,公钥存储在区块链上,私钥由用户存储在链外。只有用户知道的私钥被用于签署交易,而公钥用于验证签名的真实性。
然而,EOA 有许多缺点:它们缺乏实现额外身份验证机制的能力,它们无法执行自主操作或执行智能合约,并且公钥/私钥对无法更改。因此,EOA 是用户的中心故障点。如果用户失去了对其私钥的控制权,那么他们就完全失去了对其账户的访问权限。同样,如果用户的私钥被泄露,他们的账户也会被泄露,资产会受到威胁。
2.2 智能合约账户
另一种账户类型是 SCA,由区块链上的代码管理。它们的创建涉及通过 EOA 发起的交易部署到区块链。一旦部署,这些智能合约就会驻留在区块链上的特定地址,它们的代码决定它们运行的规则和条件。传统上,它们由于缺乏私钥而无法发起交易。
作为针对上述 EOA 缺点的解决方案,账户抽象已被提出,使 SCA 能够发起交易。账户抽象将此任务委托给 SCA,而不是在状态机级别由一组预定义的规则确定事务身份验证。然后,SCA 可以根据用户的需要实现自定义的身份验证逻辑,例如私钥轮换、执行自定义任务、集成多因素身份验证等等。
2.3 签名
加密签名是使用数字签名算法创建的,该算法涉及一组数学运算。Web3 中最常用的签名方案是椭圆曲线数字签名算法(ECDSA)和爱德华兹曲线数字签名算法(EdDSA)。以太坊和比特币使用 ECDSA,特别是利用 Secp256k1 曲线;而 Solana 使用 EdDSA,特别是利用 Ed25519 曲线。另一种被广泛采用的加密曲线 Secp256r 被大多数流行的设备所使用,例如安卓手机和苹果手机的 Secure Enclave。
2.4 交易
在标准的 Cosmos SDK 中,每个事务都由消息组成。 一旦交易被包含在区块中,它就会通过一个被称为 AnteHandler 的独特组件。AnteHandler 用于执行一系列验证步骤,例如检查交易是否有足够的费用和验证签名。如果检查有效,则该交易将被添加到内存池并转发给验证者。
2.5 交易费用
区块链的交易费用通常称为“Gas”,用于衡量执行交易所需的计算工作量。传统上,每笔交易都会消耗一定量的 Gas,具体取决于交易的复杂性和所需的计算资源。验证者负责确认交易并将其添加到区块链中,并设定最低 Gas 费用(由 Gas 量乘 Gas 价格计算)。Gas 费用希望交易被处理的用户必须用区块链原生代币至少支付这个最低 Gas 费用。
3. 通用抽象
通用抽象是由 XION 提出的一种独特且包罗万象的基础设施解决方案,旨在消除用户在使用区块链时需要面临的加密复杂性。XION 直接在协议级别实现了通用抽象,将账户、签名、Gas、互操作性、定价、设备、支付等加密术语进行了抽象。
1. XION 的协议级账户抽象:元账户
XION 通过智能合约账户 (SCA) 和更改状态机引入了元账户。这些元账户通过解耦传统的私钥/公钥模型并创建类似于传统 Web2 登录系统的更直观的用户界面,从而简化了用户体验。用户可以以熟悉的方式(例如通过电子邮件或生物识别身份验证方法)与其元账户进行交互,从而消除了私钥管理的需要,同时仍然保持完全非托管。
此外,XION 的元账户引入了高度适应性和安全的权限管理系统,能够提供私钥权重、私钥轮换、自定义规则和各种身份验证方法等高级功能。
• 私钥轮换:用户可以更改元账户的私钥,或启用多个私钥,从而降低私钥被泄露的风险。
• 自定义规则:用户可以设置任意数量的自定义规则来管理元账户和资产,例如交易金额限制、定期付款。
• 私钥权重:为每个私钥启用不同级别的权限,例如只有用高权限的私钥才能进行某些操作。
• 多样化的身份验证方法:元账户的登录支持一系列身份验证方式,可以实现跨不同设备和平台的互操作性,并确保对用户账户和资产的强大保护。
3.1.1 SCA 的实现
为了使 SCA 能够签名,交易验证的责任必须从状态机转移到 SCA。这是通过将两个关键方法集成到 SCA 中来实现的:before_tx和after_tx。
在交易执行之前,状态机调用before_tx,为 SCA 提供详细的交易信息及其签名凭证,从而允许签名验证和其他编程操作。
在交易执行之后,如果before_tx和所有交易消息均已成功执行,则after_tx将被激活,使 SCA 能够执行其他编程操作。
3.1.2 状态机实现
状态机的更改涉及两次 decorator 更改,以便触发 SCA 的before_tx和after_tx。 SigverificationDecorator 使用新的 decorator,在 SCA 签名时会触发before_tx,或者简单地继续使用默认的 sigverification-decorator 逻辑进行。详见图 1。
然后,将一个额外的 decorator 添加到 PostHandler 中,以触发after_tx。
3.2 签名抽象
XION 的 SCA 还抽象了签名,与现有 SCA 解决方案相比具有显著优势。用户最多可以将 256 个不同的身份验证器添加到元账户中。当用户在去中心化应用程序中创建账户或登录时,签名验证不是硬编码到 XION 协议中,而是通过传输到用户账户的动态请求来实现的。这可以通过任意逻辑和状态进行交易验证,因此 XION 不限于任何特定的验证模式。XION 无缝支持各种密码学曲线,无需特定的适应或修改。
XION 支持的密码学曲线包括以太坊的 Secp256K1 和 Solana 的 Ed25519 等成熟的曲线,以及 JSON Web Token (JWT) 使用的 Secp256R1 和 RS256 等被广泛采用的标准。此外,XION 还能够支持任何新的密码学曲线,能够适应新兴趋势和发展。随着密码学的不断快速发展,用户的 SCA 元账户将保持兼容性和适应性。
3.3 设备抽象
结合 3.1 和 3.2,XION 消除了用户存储和管理私钥的需要。其实它也消除了用户在多个设备上使用其账户时传统上会出现的安全风险和复杂性。XION 用户可以跨各种设备(包括 PC、智能手机或平板电脑)与其元账户进行无缝交互。这种设备多元化的架构显著地简化了用户体验,通过减少新用户进入壁垒并提高从 XION 访问的所有应用程序的易用性来促进新用户的大规模采用。
当通过 XION 与应用程序交互时,用户会看到多种登录方法,包括电子邮件、社交账户、Face Id,或者可以使用 Web3 钱包(例如 Keplr 或 MetaMask)登录。 因此,XION 能够满足所有受众的需求,同时为非加密用户保留非常简单的用户体验。
此外,前文提到,元账户还可以提供额外的安全性、灵活性和易用性,例如多重身份验证、私钥轮换、自定义规则等。
简而言之,XION 的协议级账户抽象与签名抽象相结合,使用户能够以安全、无摩擦的方式跨多个设备无缝访问其元账户。
3.4. 抽象 Gas 费用
为了实现无缝用户体验所需的许多功能,XION 采用了一种新的网络费用处理方法,其中包括:
a. 完全抽象 Gas 费用
b. 建立 PlatformSend(一种新型费用机制)
c. 将 a 和 b 与 FeeGrant 的使用相结合。
3.4.1 完全抽象 Gas 费用
XION 允许用户使用任何代币来支付交易费用。这是通过将用户支付的交易费用收集到“费用收集器”(fee collector)中,将这些非原生代币交换为 XION 代币,并将 XION 代币分发回费用收集器来实现的。
有多种方式可以将收取的费用兑换为 XION 代币,例如通过定期从所需的去中心化交易所(DEX)检索数据,使用时间加权平均价格(TWAP)来确定汇率。 在图 2 中我们使用异步链间查询模块 (Async-ICQ) 进行了演示。
3.4.2 PlatformSend 和 FeeGrant
XION 网络上的交易可以分为两大类,价值交换和非价值交换。当发生第一类交易时,PlatformSend就会生效。由于代币是在参与方(用户、dApp)之间交换的,因此收取代币的一小部分作为手续费用可以防止女巫攻击(与 Gas 费用防止女巫攻击有着异曲同工之妙)。如图 3 所示,用户直接用任意货币进行交易,手续费用被 PlatformSend 收集,转换成 XION 代币支付(补偿)给网络验证者。在这个过程中不涉及 Gas 费用。
当第二类交易发生时,XION 会收取常规的 Gas 费用,以防止女巫攻击。但本着抽象 Gas 的原则,XION 对于这类交易实施了 FeeGrant。 如图 4 所示,开发人员可以赞助用户的交易,以提供无 Gas 体验。赞助可以通过多种方式实现,例如利用质押奖励、采用最低交易阈值或其他可配置参数。
3.4.3 结果:定价和支付抽象
通过上述的抽象 Gas 费用,XION 是第一个能够使用 USDC 作为其主要交易货币的区块链。图 5 介绍了费用收集器中 USDC 费用自动交换为 XION 代币的流程,使得所有基于 XION 构建的产品都可以允许用户简单地使用 USDC 进行支付。这消除了获取 XION 代币的传统摩擦,使用户能够以熟悉的定价方式使用区块链应用程序,同时减少 XION 代币不必要的波动和投机。
此外,XION 本身可以与每个集成的区块链生态系统互操作,因为用户可以使用任何代币进行支付。结合 Gas 费用抽象,XION 可以因其简化用户体验和推动 Web3 被主流用户采用的能力而脱颖而出。
3.5 动态代币铸造
XION 网络的代币铸造是动态的,由铸造参数的细微差别决定,以平衡网络参与者激励和长期可持续性,这对于生态系统的长期生存能力至关重要。XION 对代币铸造模块进行了两项重大更改:
• 如有可能,积累的手续费用可用于抵消新代币铸造产生的通货膨胀。
• 新代币铸造仅根据质押代币计算。
3.5.1 代币铸造模块概述
代币铸币模块的目标是维持生态系统中质押代币与流动代币的预设比例。这是通过设置三个值来实现的:通货膨胀率上限、通货膨胀率下限和目标质押率。一旦确定了通货膨胀率,该模块将计算一个区块中需要生成多少代币才能满足通货膨胀率。
质押代币和流动代币(市场流动性)之间需要实现重要的平衡,因为它会影响网络的长期安全和增长,下面的公式证明了这种平衡。
注:IR 代表当前的通货膨胀率;Pbonded 代表当前质押代币的百分比;Pgoal 代表质押代币的目标百分比;IRmax 代表通货膨胀率上限;IRmin 代表通货膨胀率下限。
如果 Pbonded < Pgoal : IR = min(IR + ΔIR, IRmax) 。在这种情况下,ΔIR 是当 Pbonded 低于 Pgoal 时通货膨胀增加的速率。
如果 Pbonded = Pgoal : IR = 常数。在这种情况下,当 Pbonded 达到目标时,通货膨胀率不会改变。
如果 Pbonded > Pgoal : IR = max(IR − ΔIR, IRmin) 。在这种情况下,ΔIR 是当 Pbonded 超过 Pgoal 时通货膨胀下降的速率。
这些公式根据当前质押代币百分比与目标质押代币百分比之间的关系,以及最大和最小通胀率的约束,有效地捕获了通胀率的动态调整。
3.5.2 通过手续费用抵消通货膨胀
除了每个区块铸造的新代币,Cosmos SDK 默认的代币铸造模块目前也收取区块中累积的手续费用,并将其分配给验证者。这可以表示为:
Tnet = Tminted + Fcollected
其中,Tminted 代表某个区块新铸造的代币,Tminted = Ttotal × IR;Ttotal 是当前代币的总供应量;Fcollected 代表某个区块收集的手续费用。
XION 实施的第一个改变是使用区块中已收取的费用,并将其抵消该区块中需要铸造的新代币数量。这可以表示为:
Tnet = Tminted − Fcollected
如果 Fcollected 足够大,实际上可以减少 Tnet,从而通过使用收取的手续费用来抵消新铸造的代币,从而有效地降低通货膨胀。随着链上使用量的增加,通货膨胀将大幅下降,因为手续费用的积累不断抵消新铸造的代币。当某个区块收集到的手续费用超过该区块需要铸造的新代币时,多余的代币就会被销毁,代币供应量就会减少,自然会出现通货紧缩。
3.5.3 质押代币的代币膨胀
关于代币通胀,Cosmos SDK 默认的代币铸造模块是根据所有代币计算通胀。这可以表示为:
Tminted = IR × Ttotal
因此,质押者的年收益率(APY)可以表示为:
APY = IR ÷ Pbonded
如果 APY ≥ IR,这通常会导致已实现的质押年收益率 (APY) 高于通货膨胀率,因为并非所有代币都被质押。
XION 的代币铸造模块实现了重大改变。它不是针对所有代币进行计算,而是仅针对质押代币进行计算。这可以表示为:
Tmintedx = IR × Tbonded
由于 Tbonded < Ttotal,因此对于相同的 IR,Tmintedx 的总通货膨胀影响将 ≤ Tminted。
结果是通货膨胀的影响将减少,质押者和验证者将始终看到 APY = IR。XION 通过更改代币铸造模块创造了一个更加稳定的环境,能吸引长期验证者来确保网络的安全。
4. 抽象互操作性
XION 对互操作性的抽象是通用抽象的一个关键方面,可以显著增强跨链用户的体验。这是通过使用“Package Forwarding Middleware”来实现的,该中间件使用户能够从控制链(例如 XION)对任何其他公链执行操作。通过将该中间件与现有的通用抽象框架集成,创建了简化的协议级接口。如图 6 所示,XION 允许用户在任何与 XION 集成的链上执行操作,同时仍享受 XION 的无缝用户体验。
XION 对互操作性的抽象解决了目前用户在多链环境中账户碎片化的常见问题。用户可以将他们在多个链上拥有的账户链接到他们的 XION 元账户,为他们提供一种从一个“中央账户”管理所有链资产的方式。
XION 通过多种实现方法利用对称通信来实现这一目标。XION 在不同的区块链之间建立了可靠、有序且经过身份验证的通信通道,如图 7 所示。XION 对互操作性的抽象促进了新的跨链创新用例的出现和无缝的多链用户体验,这在以前是无法实现的。
5. 通用抽象的创新应用
XION 的通用抽象既可以极大增强现有应用程序的用户体验,也可以实现一系列新颖的应用程序。接下来,我们先后探索一些可以通过 XION 通用抽象实现的创新用例和跨链用例。
5.1. XION 可以实现的创新用例
5.1.1 数字银行
利用通用抽象,数字银行应用程序可以允许客户设置临时私钥以进行有时间限制的访问,确保更高的交易安全性,同时允许用户自定义自己的交易限制和条件。此外,客户还可以为大额交易设置多个身份验证要求,以及在失去某些身份验证方法时恢复账户的能力。
5.1.2 去中心化聊天应用
利用通用抽象,去中心化聊天服务可以使用户能够使用同一账户安全地发送消息,无论他们使用智能手机、平板电脑还是 PC。用户能够在全球范围内进行转账,使用熟悉的法定面额直接在对话框中通过无 Gas 交易向好友跨境发送代币。
5.1.3 创作者经济应用
利用通用抽象,去中心化内容服务可以使用户创建基于订阅的账户,通过智能合约触发器每月自动付费,而无需手动续订。
5.1.4 增强的游戏体验
利用通用抽象,链上游戏允许玩家批量交易和无 Gas 交易,从而实现流畅、安全的游戏体验,而不会危及用户的资产。
5.1.5 用户友好的 DAO
利用通用抽象,在线协作平台可以建立 DAO(去中心化自治组织),成员具有不同的权限级别,使非技术用户能够通过直观、熟悉的 Web2 界面参与治理或决策过程。
5.2 多链用例
5.2.1 万链归一
XION 可以接入所有现有的 Web3 应用程序。例如,用户通过使用社交应用程序 FriendTech 在 Base 网络上持有资金。该用户现在想要使用 Solana 网络上的健身应用 StepN,并使用 FriendTech 资金购买数字鞋。用户仅通过使用一个 XION 元账户就可以实现。他可以将 Base 和 Solana 账户连接到 XION 元账户。在后台,他的 Base 资金被转移、转换并用于在 Solana 市场上购买数字鞋。
5.2.2 全球去中心化交易市场
一个很好的用例是跨多条区块链的去中心化交易市场,用户可以在其中使用各种加密货币买卖商品或服务。用户仅通过使用一个 XION 元账户就可以实现。
5.2.3 跨链游戏
游戏玩家可以参与跨链游戏体验,其中一个区块链游戏中的资产和成就可以在其他链上的游戏中使用或交易。用户仅通过使用一个 XION 元账户就可以实现。
5.3 DAOs
DAO 可以跨多个区块链无缝运行,这使得它能够有效地利用不同的应用程序、更广泛的用户基础、更灵活和高效的治理。
5.4 全球身份统一
可以建立跨链身份验证系统,用户可以跨多个区块链使用相同的凭证和声誉。这带来了无数的可能性,因为可识别的声誉允许用户通过一个可验证的身份访问广泛的服务,从而使所有生态系统更加紧密地结合在一起。
6. 总结
XION 通过其通用抽象解决了阻碍 Web3 被主流用户采用的关键挑战。
XION 简化了用户体验,使区块链技术更容易被主流受众所接受。它消除了与账户创建、交互、Gas 费用和互操作性相关的复杂性,取而代之的是主流受众更熟悉的 Web2 交互方式。此外,它还进一步扩展了这种无缝的用户体验,以涵盖跨链交互。
通过多方面的通用抽象,XION 提供了可持续、灵活且以用户为中心的区块链基础设施范式,能够推动 Web3 和 Crypto 行业迈向被广泛采用的新时代。