
技术详解波卡新进展:资产中心支持储备多链资产
将外部资产添加到资产中心使得在网络内可以进行富有表现力和便捷的互动。
撰文:Joe Petrowski,Web3 Foundation 系统平行链团队负责人
编译:OneBlock Community
绝大多数人习惯通过名称或符号来辨认资产,比如 “Tether” 或 “USDT”。如果你熟悉以太坊,应该已习惯于 0x 合约地址。
在波卡,资产中心(Asset Hub)在协议中直接托管了资产功能,使用简单的整数作为资产 ID。“1984”这个命名有点厚脸皮,但对人类来说肯定比 0xdAC17F958D2ee523a2206206994597C13D831ec7 更容易记住(和验证)。
现在波卡有了另一个与此资产功能相同的并行实例,不同之处在于此实例使用了一种名为“多位置(multilocation)”的 XCM 原语来辨认资产。通过这篇解释,我希望能传达出这一特性为波卡网络内,以及网络内可达的资产利用创造了富有表现力和强大的模式。
“多位置”可辨认本地和外部资产
当资产中心首次启动时,它只托管了一个资产面板(Assets pallet)的实例,允许任何人领取一个可用的资产 ID 并创建他们的资产。资产中心没有为每个资产制定自定义合约,而是嵌入了资产逻辑,将其视为一级原语。每个资产都有相同的功能。
这些可领取的、基于整数的资产 ID 的资产称为 “本地资产”。资产中心主要用于这些资产的创建者,通常是有储备支持的稳定币,比如 USDT。但是,协议只强制执行资产 ID(在这种情况下是整数)的唯一性。创建者可以设置资产符号等元数据。因此,用户仍然需要对资产进行一些尽职调查;任何人都可以将其资产命名为 USDT,但用户通常想选择的是 Tether 创建的 USDT。
资产中心充当了资产创建者的 “管理门户”,使他们能够铸造和销毁代币,并了解在整个波卡网络中的总发行量,包括已发送到网络中其他位置的代币。
但是资产 ID 本身并不太具表现力。虽然比合约地址更容易验证,但该 ID 并未传达给用户有关资产的任何信息。这时候就轮到 XCM(跨共识消息格式)出场了。
多位置可表达相对路径。它们相对于解释的位置:“我怎样去超市”将根据起始位置而有不同的方向。在最基本的层面上,这些路径表示到其他链的方向,也可以表达几乎任何事物的方向:资产、合约、面板索引、治理机构、账户等等。
多位置有一系列的交叉点,通常分为两个部分:“父级(parents)”与延伸的路径,例如“parents: 1, interior: Parachain(9,000)”。这表示 “前往我的父级,然后从那转向平行链 9,000”。在这里“父级”是一个包含共识的系统。例如,中继链是包含平行链的共识系统,而一个平行链可以是包含智能合约的共识系统。在这个示例中,多位置可来自另一个平行链,比如资产中心。平行链 9,000 将是一对兄弟,因为它们共享同一个父级,即中继链。
作为资产标识符,多位置相对于绝对标识符(例如地址、哈希、整数)具有重大优势。首先,资产的多位置本身就表明了控制实体。在上面的示例中表明的是 Parachain 9,000 的治理。在查看绝对标识符时,用户必须信任发行实体及其声明,例如链上代币与链下资产一一对应。多位置则包含平行链、智能合约或其他协议,这实际上表明了控制资产的逻辑。不过这也不意味用户可以放弃所有必要尽职调查,例如平行链 9,000 也许有一个值得信任的“超级用户”。但多位置是能够传达给用户这个资产是由哪个协议控制的。
在多位置的终点之外,它实际上明确了“指挥链”。举一个更长的例子,平行链 9,000 上 ID 42 的资产:“parents: 1, interior: Parachain(9,000), PalletIndex(99), GeneralIndex(42)”。这个资产由一个面板(pallet)控制,这个面板位于平行链的共识内部,而这个共识又位于共享父级(中继链)的共识内部。多位置甚至可以表示完全外部的共识系统,例如 “parents: 2, interior: GlobalConsensus(Ethereum)”。从平行链的角度来看,这意味着向上两级(即中继链之上),然后进入以太坊的共识。
这些位置非常类似于 Unix 文件路径,例如 “../Parachain (9000)/PalletIndex (99)/GeneralIndex (42)”或 “../../GlobalConsensus (Ethereum)”。
最终,波卡的资产中心可以表现任何可从波卡访问的资产。无论是通过本地面板还是合约调用、XCMP 还是桥,协议原生代币或其他链的本地资产,资产中心都为所有资产提供了一个共同的接口,资产的标识符可传达它的主权位置。
两类资产转移关系:传送和储备
XCM 语言有两种表达位置 / 资产对(pair)的资产转移关系的方式:传送(teleports)和储备(reserves)。这些定义了资产中心与其他链之间的关系以及它们如何交互。
传送很简单。当两个链相互信任给定资产时,发送方可以简单地销毁它,并发出一条接收方铸造它的指令。只要发送方相信接收方不会铸造超过发送的数量,发送方就可以接受同样的传送指令。
储备比较复杂。当资产来源的链不信任另一链时,它可以将资产放入目标链的主权账户中,并向目标链发送消息,表示已向其本地账户记录资产。目标链随后可以为其用户铸造衍生资产。储备完成后,目标链可发送回复消息,指示来源链将资产从其账户移出(假定它已销毁了相应的衍生资产)。
在储备情况下,信任关系是单向的。铸造衍生资产的链信任发行链维护其主权账户余额并尊重赎回。但发行链不信任目标链能如实处理资产。
这里需要注意的一点是,信任关系存在于位置 / 资产对中:也就是说,一条链可以信任另一条链传送某些资产,但不信任传送其他事物。
那么,谁信任谁?信任什么事?实体始终信任其多位置范例中的“父级”。例如,位于 Parachain 8,000 上的智能合约信任 Parachain 8,000 的治理,而 Parachain 8,000 信任波卡中继链。波卡中继链由“根起源” 治理,可以执行任何指令,包括将平行链踢出。波卡的根起源还管理着其所有系统平行链(事实上,中继链加上所有系统平行链可以被视为单一的 “波卡协议”)。
波卡网络中所有链和子协议(例如智能合约)都信任波卡协议,因此它们应该可以与协议传送资产。事实上,使用储备将会非常愚蠢:如果波卡协议不喜欢其在起源链上的储备余额,它可以通过根起源公投直接重写自己喜欢的余额。
另一方面,波卡协议无法将这种普遍信任扩展到其中的成员。但它可以信任一个位置,来管理起源于该位置的资产。协议可以信任 Parachain 9,000 管理其原生代币(PNT,“品脱”?)以及在其中创建的资产,例如本地发行的代币。因此,在与 Parachain 9,000 交互时,资产中心将传送 PNT,以认可 PNT 起源于该平行链。而对于 Parachain 9,000,资产中心会使用 PET(Parachain 8,000 的代币,发音不那么模糊)的储备转账。
资产中心担任储备位置,交互无限资产
PET 的创建由 Parachain 8,000 的治理控制,后者接受波卡协议的治理。因此,波卡自然信任 Parachain 8,000 的 PET,因为 PET 是 Parachain 8,000 协议的一部分。但波卡和 Parachain 8,000 都不信任其他平行链 * 能够充当 PET 的储备位置。
(* 附注:不过也可以选择信任:Parachain 8,000 可能有其他认同其治理起源的兄弟平行链,就像许多系统链认可波卡 OpenGov 起源一样。在这方面,最好考虑可包含多个链的主权系统,而不是单独的链。)
这一概念沿着指挥链,延伸到其他在 Parachain 8,000 内创建的资产。实际上,这与独立链或异步无关;同一链上的两个智能合约可能不会互相信任,以管理彼此的资产,但它们都信任它们存在的链。
鉴于这种双向信任关系,资产中心可以充当储备资产的目的地。Parachain 8,000 可以将其 PET 传送到资产中心,然后资产中心可以充当其他位置之间转账的储备位置。这意味着 Parachain 9,000 可以把资产中心作为其 PET 的储备位置以发送到其他平行链。
但是,这些其他位置现在可将 Parachain 8,000 和资产中心都视为 PET 的储备位置。
在实践中,希望以这种方式使用资产中心的协议(平行链、智能合约等)将需要管理给定资产的多个储备位置的想法。实际上,这可能意味着为每项资产选择一个储备位置,平行链和其他协议之间的共同协议和标准也将简化它们的交互。
在波卡网络中有数千个协议,与所有协议建立通信渠道是笨重、不可取或不切实际的。仅因为一个协议不想与每个协议建立通信渠道,它可能仍然希望免费访问资产。由于资产中心可以代表和充当任何来自波卡网络的可达资产的储备位置,而不仅仅是波卡网络内部资产,因此资产中心可以充当一个单一的储备位置,从中一个协议可以管理和交互几乎无限数量的资产。
代码实操:将平行链资产传送至资产中心
让我们看一个示例,如何编写一个 XCM 程序,将平行链的资产传送到资产中心。对于希望将此逻辑添加到平行链的开发者,应该注意以下两点。
首先,XCM 程序的执行是以执行程序实例的角度,而不是程序的起源。这意味着应用应该从资产中心的角度,发送引用资产和位置的程序。
其次,支付费用可能并不轻松。当在系统链之间传送 DOT,或对主权帐户持有 DOT 的链使用储备指令时,这些应用可以使用它们正在交易的资产支付费用。然而,资产中心可能不会接受应用的资产用于支付费用,因此应用程序需要用可接受的资产支付费用。添加资产转换(Asset Conversion)将使这一过程更简单和灵活,但链仍然需要启动能够支付费用的交易对。
首先定义一些资产:DOT 和平行链 9,000 的原生资产 PINTs,以及接收资产的受益人来开始我们的程序:
在构建发送到资产中心的程序之前,发送方需要记账他们正在传送的资产。一条链还可以配置其 XCM 执行器以更优雅地处理。
现在,开始构建发送到资产中心的 XCM 程序:
这个程序将从平行链的主权账户取出 DOT,以购买执行此程序所需的权重,接收传送到的 PINTs,退还任何未使用的权重,最后将两张资产(取出 DOT 加上 PINTs 的所有变化)存入受益人账户。
请记住,发送方可能需要在发送此消息之前进行一些记账工作。这种类型的程序构建不应该直接提供给用户,而应该在适当检查外部程序之后提供。几乎可以肯定,发送方不是 DOT 的可信传送者,相反,发送者可能传送两种资产,且可能不会在其主权账户中存有 DOT 供取出。
这意味着,他们的本地链上可能有一个由储备支持的衍生品 DOT。从其主权账户中提取此 DOT 并将其转入费用支付,受益人则将减少其储备。因此,发送者应在发送此消息之前便销毁此储备支持的描述,以免其链在储备中没有完整的抵押品。发送者可以从发起传送的用户那里扣除,或者保留自己的 DOT 库以供提取(偶尔补充下储备)。有关更完整的示例,请参阅 Trappist 中完成的记帐。
结语
将外部资产添加到资产中心开启了新的范例,如多位置作为资产标识符和多个储备位置,使得在网络内可以进行富有表现力和便捷的互动。
Parity 将在未来几个月内发布更多的示例和教程,以展示使用外部资产的一些常见模式。平行链开发者应该留意 Rococo 上的 Trappist,而钱包 / 集成开发者则应该关注资产转移 API。
勇敢的开发者,Rococo、Kusama 和 Polkadot 的资产中心已经支持外部资产,着手开发吧!
比推快讯
更多 >>- 比特币矿企 TeraWulf 拟发行 4 亿美元可转换债券用于数据中心扩建
- 美联储传声筒:预计 7 月整体 PCE 通胀率较为温和,同比涨幅维持 2.6%
- BitMine(BMNR)上周增持 37.3 万枚 ETH,持仓总量达 152 万枚 ETH
- BitMine 持有价值逾 66.12 亿美元加密货币,包含 152 万枚 ETH 和 192 枚 BTC
- 微策略 Strategy 上周增持 430 枚比特币
- 某加密网红因策划 350 万美元“加密劫持”被判刑一年
- 德商银行:关税可能推高美国通胀,拖累美元走弱
- 币安支付、SPAR 与 DFX.swiss 达成合作,在逾 100 家瑞士商店提供加密支付服务
- 分析师:鲍威尔或将在本周五避免释放宽松信号,通胀回升使其存在保持谨慎的理由
- 美股 BTCS:将以 ETH 形式向股东派发一次性区块链股息,最高奖励达每股 0.4 美元
- 不丹王国将 799.69 枚 BTC 转入两个新地址,约 9206 万美元
- 高盛预计美联储今年将降息三次
- 泰国允许外国游客将加密货币兑换成泰铢促进旅游业发展
- 数据:“12.5 万美元滚仓做多 ETH”巨鲸再次开多,仓位价值 1 亿美元
- GoRich 独立版本正式上线 BIT App
- 泰国面向外国游客推出 Tourist Wallet,加密货币功能仍停留在沙盒阶段
- Sui 上首个原生 AI Agent 启动平台 Surge 宣布正式上线
- 数据:652,228,192 枚 USDT 从未知钱包转移至 OKEX
- Tyche Holdings Inc. 完成对比特币 DEX TYCHE 的收购
- 数据:ETH 全网合约持仓量 24h 减少 5.25%
- 香港证监会叶志衡:警惕稳定币利好炒作,非持牌交易平台风险高
- 数据:某地址两小时内提出 1708 万美元 WBTC 和 ETH,目前持有 1.53 亿美元 BTC 和 ETH
- 鲍威尔杰克逊霍尔年会或面临特朗普和贝森特的杂音
- ZachXBT:WhiteRock 工程师仍活跃于 GitHub,死亡传闻系谣言
- 数据:某波段巨鲸花费 8396 万美元建仓 BTC 与 ETH
- CoinShares:数字资产投资产品上周净流入 37.5 亿美元
- 某鲸鱼平仓 ETH 多单亏损 659 万美元后再次做多 ETH
- 观点:以太坊涨势再遇 4700 美元阻力位,短期卖压显现
- Bithumb 将 MixMarvel (MIX) 列入交易注意事项
- 美股盘前加密货币股普遍下跌,MicroStrategy 跌近 2%
- 韩国金融监管机构将于 10 月提交稳定币监管法案
- 中手游与 Pangu 就 Web3 支付及游戏推广达成战略合作
- 美股三大股指期货普遍走低,标普 500 跌 0.13%
- ChatGPT 移动应用已创造 20 亿美元收入
- 山寨币跟随大盘普跌,RAY 24 小时跌超 9%
- 泰国政府正式推出首个面向游客的国有比特币钱包
- Matrixport:比特币或下探 11.2 万美元,市场静待美联储 FOMC 会议最关键催化剂
- 数据:某传奇交易员平仓全部 66,749 枚 ETH 的多头头寸,总价值 3.03 亿美元
- 分析:BTC 可能正在重演 2021 年比特币牛市终结时出现的模式
- 荷兰加密服务商 Amdax 成立比特币财库公司 AMBTS,目标持有 21 万枚 BTC
- BTFS 社区发布 BTIP-103 提案,优化存储治理流程
- 招银国际证券正式开始提供虚拟资产交易服务
- Binance 下架 Neo Legacy 网络代币充值、提现业务
- 某波段交易员恐慌抛售 2277 枚 ETH,锁定 404 万美元利润
- 日本房地产公司 Lib Work 宣布 2025 年将购入价值 340 万美元的比特币
- Binance:RiceAI(RICE)TGE 参与门槛为 230 Alpha 积分
- 数据:澳大利亚 Monochrome 现货比特币 ETF 的 BTC 持仓升至 990 枚
- 上市公司 BTC AB 将筹集最高约 2190 万美元资金,用于购买更多比特币
- 链上分析师:币安的比特币流向或预示未来一至两周面临抛售压力
- 某巨鲸减仓 5000 枚 ETH 多单以避免爆仓,浮盈收窄至 295 万美元
比推专栏
更多 >>观点
比推热门文章
- 比特币矿企 TeraWulf 拟发行 4 亿美元可转换债券用于数据中心扩建
- 美联储传声筒:预计 7 月整体 PCE 通胀率较为温和,同比涨幅维持 2.6%
- BitMine(BMNR)上周增持 37.3 万枚 ETH,持仓总量达 152 万枚 ETH
- BitMine 持有价值逾 66.12 亿美元加密货币,包含 152 万枚 ETH 和 192 枚 BTC
- 微策略 Strategy 上周增持 430 枚比特币
- 某加密网红因策划 350 万美元“加密劫持”被判刑一年
- 德商银行:关税可能推高美国通胀,拖累美元走弱
- 币安支付、SPAR 与 DFX.swiss 达成合作,在逾 100 家瑞士商店提供加密支付服务
- 香港币圈三重撕裂:Crypto自由、互金效率与传统合规的对抗与融合
- 分析师:鲍威尔或将在本周五避免释放宽松信号,通胀回升使其存在保持谨慎的理由