万字详解ZetaChain:如何实现Universal DApp的全面发展?
原文:《 ZetaChain: The Path Forward for Universal Apps 》
作者:Delphi Consulting
编译:Odaily星球日报 夫如何
本文由于字数众多且技术内容过于密集,Odaily星球日报将文章的核心要点进行提炼,以方便读者尽快了解 ZetaChain 的最新动态。
ZetaChain 为了创造更符合用户使用体验的底层基础,将链抽象带入 Web3,提出了众多的解决方案,具体要点如下:
ZetaChain 是一个基于 Cosmos SDK 的 L1 区块链,设计用于全链智能合约和统一的应用程序体验。它通过以下几层架构实现链抽象:
-
权限层:处理账户和权限,使用智能合约钱包和代理服务简化用户交互。
-
Solver 层:提供最优的交易路径,自动化决策过程,减少用户认知负担。
-
结算层:使用桥梁、预言机等跨链解决方案,确保交易高效完成。
ZetaChain 的主要功能
-
Universal EVM:改进的以太坊虚拟机,支持全链应用。
-
跨链消息传递:允许开发者构建可以调用连接链的全链应用。
-
ZRC 20 标准:支持全链同质化代币,简化跨链资产管理。
-
TSS 签名者:验证跨链交易的安全性。
ZetaChain 2.0 的增强功能
-
Universal DApp:支持从 Universal DApp 调用连接链上的合约,实现复杂的跨链交互。
-
全链账户:简化用户管理多个区块链资产的流程。
-
新增链支持:通过治理流程添加新链,扩展网络覆盖范围。
应用场景
同时 ZetaChain 通过和其他相关解决方案的对比,这部分建议读者可以深入阅读,能更好的了解不同解决方案的优劣势,作者在此不过多赘述。 总而言之,ZetaChain 通过自动化和优化跨链交互,简化了 Web3 用户体验,使其更接近于 Web2 的直观操作。
链抽象简介
Web3 和 Web2 应用程序之间的主要区别之一是它们的易用性。在 Web2 中,用户通常没有意识到幕后发生的复杂性。例如,通过 Gmail 发送电子邮件时,用户只需输入并单击“发送”即可。然后,系统无需任何用户干预即可处理服务器通信、数据加密和垃圾邮件过滤。同样,在 UberEats 上订购食物涉及无缝集成餐厅菜单、支付网关和送货跟踪。这与支付系统、消息服务等相同。所有这些底层的复杂技术都被从用户身上抽象出来。
事实上,应用程序通过在顶部添加自动化流程来进一步推动它。Netflix 不仅抽象出底层技术,而且故意在没有观众按下按钮的情况下开始下一集。这些应用程序的业务是尽可能地延长所花费的时间,而笨拙的界面就如同将市场份额直接送给竞争对手一样。
Web3 应用程序可能不会比已经处理数十亿消费者的 Web2 应用程序更复杂。但他们确实觉得只为智商高于 Gary Kasparov 的人而设计。对于普通用户来说,使用 Web3 所涉及的选项和步骤数量是非常复杂的。用户面临着大量的链、Bridge 和其他连接基础设施。管理多个钱包和保护助记词会增加复杂性。如果我们想构建能够为下一代消费者应用程序提供动力的平台,那么所有这些都需要改变。
链抽象
帐户抽象之所以受到关注,是有充分理由的。这是简化 Web3 UX 向前迈出的重要一步。 通行密钥、帐户恢复和 gas 提取等功能是有价值的改进。然而,它们只解决了整体用户体验挑战的一小部分。
障碍在于 Rollup 选择、L1、桥接和 DApp 的数量之多,以执行超出帐户相关问题之外的操作。这种碎片化为用户创造了一个复杂而令人困惑的局面。链抽象通过将可解决的 UX 问题扩展到其最大范围来解决这些问题。这个想法是想象一种理想的用户交互状态,其中,类似于 Web2 体验,用户不需要了解区块链或 Bridge 是什么。
在理想情况下,使用 Web3 应用程序应该像发送电子邮件或在线订购食物一样直观。用户不需要知道他们的交易在哪个区块链上,如何选择正确的桥接,或者如何管理多个钱包和助记词。相反,所有这些复杂性都应该在后台无缝处理。这样,用户可以专注于他们预期的活动,而不受底层技术细节的负担。
为了解决这个问题,目前正在做出许多努力。CAKE 框架,Near 协议以及 Particle 网络通过将其划分为每个问题的特定层来解决这些问题。很少有项目在各个层之间垂直集成,而其他项目则专注于单个层。从广义上讲,存在账户聚合问题、路由问题、solving 问题、桥接选择问题。
Frontier 小组通过他们的 CAKE 框架 提出了一个三层堆栈,旨在系统地解决这些问题。
-
权限层:此层处理帐户和权限。它包括智能合约钱包和代理服务,旨在抽象用户交互,并在易用性和用户控制之间保持平衡。
-
Solver 层:第二层侧重于 Solver 市场及其之间的竞争。该层根据用户对速度、成本和效率的偏好为用户找到最佳解决方案,从而解决路由问题。Solver 市场竞相提供最佳的交易路径,通过自动化决策过程和减少用户的认知负担来增强整体用户体验。
-
结算层:最后一层负责结算交互。它利用桥梁、预言机和其他跨链解决方案来确保交易高效准确地完成。这一层抽象了跨链交互的复杂性。
我们稍后将详细比较这些层中的不同解决方案。ZetaChain 是解决多个问题的解决方案之一。
在高层次上,ZetaChain 是一个基于 Cosmos SDK 的 L1,使用 CometBFT 作为共识协议。其核心价值主张旨在部署全链智能合约并提供统一的应用程序体验。开发人员只需部署一个合约,ZetaChain 将负责跨链交互。在接下来的章节中,我们将首先探讨 ZetaChain 的运作方式,以及对其机制的理解。稍后,我们将讨论 2.0 版中的增强功能,重点介绍新功能和改进。
ZetaChain 架构
ZetaChain 组件及其功能:
-
Universal EVM:一种改进的以太坊虚拟机 (EVM),专为构建全链应用程序而设计。
-
沟通机制:
-
全链:一个互操作层,允许开发者构建全链应用,可以从连接的链中调用。
-
Connector API:点对点跨链消息,支持任意数据和价值转移。
-
ZRC 20 :全链同质化代币的标准。原生天然气和支持的 ERC 20 代币可以作为 ZRC 20 从连接的链发送到全链应用程序。ZRC 20 代币可以撤回到连接的链上。
-
TSS 签名者:具有额外职责的验证者,包括签署和监控出站交易。
-
TSS Addresses:用于存入代币和发起跨链交互的特定地址。
ZetaChain,如 Near 协议和 Lit,使用 Threshold 签名。阈值签名方案 (TSS) 是一种加密方法,其中签名由一组参与者协作生成。它要求参与者的最低阈值数量(例如, 5 人中的 3 人)才能产生有效的签名,每个参与者都持有私钥的份额。这通过在多方之间分配私钥、防止单点故障和确保容错性来增强安全性。
在 ZetaChain 上,观察者-签名者验证者运行两种不同的软件:
-
ZetaChain 节点:处理跨链交易、ZRC 20 铸造管理、全链应用调用等的区块链节点。
-
ZetaClient:由观察者-签名者运行的链下程序,用于观察连接的区块链上的交易,并代表 ZetaChain 在连接的链上签署和广播交易。
这些 TSS 签名者持续监控所有受支持链上的存款地址,确保它们在成功交易时传递信息,从而触发 ZetaChain 上的活动。此外,他们还负责签署出站交易,并被派往其他链进行处理。
这使得部署在 Universal EVM 上的合约不仅限于 ZetaChain。它们可以从连接的链中调用。
入站通信:
用户可以从任何外部链与建立在 ZetaChain 上的 DApp 进行交互。TSS 观察员监控原生天然气代币的特殊存款地址和 ERC 20 资产的 ERC 20 托管合同。创建到此存款地址的交易或 ERC 20 托管合同,其中嵌入了函数调用信息。TSS 观察者验证此内容并将其发送到系统合约,系统合约在相应的合约中调用 OnCrossChainCall 函数来执行它。
出站通信:
ZetaChain 上的合约可以使用 Connector API 调用连接的链。合约调用 Connector 合约,其中包含链 ID、合约地址和消息等详细信息。然后,ZetaChain 处理此调用并将这些详细信息转发到目标链,在那里调用接收者合约的“onZetaMessage”函数。
这些机制确保 ZetaChain 合约可以有效地响应和发起其他链的请求,而 DApp 开发人员或用户只需付出最少的努力。
ZetaChain 与外链之间的入站和出站通信由用户从其前端触发。这意味着他们可以与简单的前端进行交互,而无需了解底层机制。
在了解了基本的 ZetaChain 架构之后,让我们将注意力转向最新的迭代——ZetaChain 2.0 及其扩展功能。
ZetaChain 2.0
ZetaChain 2.0 现已完成升级,它包含了一些新的添加功能,使以前的体验更加完整。它支持更广泛的兼容比特币地址,用扩展的全链功能取代了连接器 API,以及更简单的用户体验的全链账户。
直接从 Universal 应用程序调用连接链上的合约的新功能使强大的全链应用程序成为可能。应用程序现在可以处理涉及跨多个链的各种资产和交互的复杂多条腿交易,所有这些都简化为一个用户步骤。例如,比特币上的用户可以触发 ZetaChain 合约,该合约可以无缝地在以太坊、BNB 和其他链上执行额外的合同。
Universal 应用
ZetaChain 2.0 中最大的新增功能之一是 Universal DApp。 ZetaChain 1.0 提供了两个独立的功能:跨链消息传递和全链应用程序。通过使用 Connector API 的跨链消息传递,用户可以使用 ZetaChain 作为中继器在连接的链之间发送任意消息。全链功能允许 Universal DApp 接受来自连接链的调用并管理连接链上的同质化代币。
在 ZetaChain 2.0 中,连接器 API 正在被扩展的全链功能所取代,让 Universal DApp 可以在连接的链上调用合约。例如,用户可以质押 BTC,将 LST 发送到 BNB,交换 LST,然后在 Polygon 上借出,所有这些都在一次交互中完成。这将应用程序从全链转变为具有多腿流的 Universal DApp。
在机制的变化方面,网关将通信转变为中心辐射模式,降低了成本和执行步骤。早期的连接器 API 方法更像是点对点通信,并引入了更多步骤、成本等。网关充当用户的入口点,并简化了交互。
以下是一些详细信息:
-
扩展全能链功能 ZetaChain 2.0 允许 Universal DApp 提取 ZRC 20 代币,同时通过 withdrawAndCall 功能调用连接链上的合约。Universal DApp 还可以在不提取代币的情况下在连接的链上进行合同调用。
-
停用连接器 APIZetaChain 2.0 没有为全链和跨链消息传递提供单独的 API,而是提供了一套一致且统一的 API 来构建 Universal DApp。
-
网关合同 ZetaChain 2.0 引入了网关合约,这些合约充当连接链上的单一入口点,供开发人员与 Universal DApp 交互。开发商将不再将原生天然气资产发送到 TSS 地址,将 ERC 20 发送到托管合同,而是有一个网关合同可以与之交互。
-
允许从合约中质押 ZETA 代币 ZetaChain 2.0 引入了智能合约在链上质押原生 ZETA 代币的能力。这使开发人员更容易构建 Universal DApp,这些应用程序能够以去中心化的方式质押 ZETA,而无需依赖链下程序。
-
模块化代码结构早期版本捆绑了状态转换和消息传递逻辑,使代码变得复杂。新版本将状态转换和消息传递逻辑分离,简化了代码库,提高了其可管理性和可维护性。
全链账户
全链账户简化了用户在多个区块链上管理资产的方式。ZetaChain 2.0 中引入的 withdrawAndCall 功能,让用户可以在单笔交易中跨链进行资产提现和智能合约调用。此功能首先确保必要的 gas 费用,然后从用户帐户中烧掉指定的代币,然后在目标链上执行进一步操作。
ZetaChain 上的 withdrawAndCall 功能通过将多个步骤合二为一来简化交易。它计算并转移 ZetaChain 和目标链所需的 gas 费用。然后,它安全地从用户帐户中销毁指定数量的代币。会发出一个名为 WithdrawalAndCall 的事件,记录提款并提供在目标链上调用智能合约所需的数据。最后,在目标链上执行指定的操作。
它减少了对多个步骤和网络切换的需求,使跨链操作变得更加简单。例如,在 ZetaChain 上使用收益聚合器的用户可以提取代币,将它们发送到另一条链,并在该链上的智能合约上执行投资命令——所有这些都在一笔交易中完成。
完整的 BTC 体验
ZetaChain 1.0 仅支持使用特定地址的交易,这限制了交互。在 ZetaChain 2.0 中,他们扩展了其兼容性,包括更广泛的比特币地址类型——P2P KH、P 2 SH、P 2 WSH 和 P 2 TR。这使得它对所有交易类型都是可访问和用户友好的。此外,随着 Taproot (P 2 TR) 的加入和对基于 SegWit 的地址(P 2 WPKH 和 P 2 WSH)的持续支持,用户现在可以享受到诸如改善隐私、降低交易费用和提高交易效率等好处。
BTC 中的交易类型
这是通过三个领域的更新实现的:
1. 地址处理
-
增强解码:ZetaChain 2.0 具有量身定制的解码功能,用于识别和处理不同格式的比特币地址,如 P2P KH、P 2 SH、P 2 WSH 和 P 2 TR。这些解码函数对于识别每种地址类型、提取关键组件(如公钥哈希或脚本哈希)以及执行彻底验证以确保准确性和安全性非常重要。
-
支持 Taproot (P 2 TR):Taproot 支持多重签名、复杂的消费条件和增强的隐私。这种地址类型使用独特的功能,如 Schnorr 签名和高级脚本,这些功能与 ZetaChain 最初配备的处理功能不同。为了扩展对 Taproot 的支持,ZetaChain 创建了一种新的地址类型,即 AddressTaproot。这种新型设计旨在通过遵循相同的结构和标准与现有基础设施集成,确保与现有系统的兼容性。
2. 交易创建
-
ZetaChain 2.0 现在包含针对每种比特币地址类型的特定脚本,以确保交易符合 P2P KH、P 2 SH、P 2 WSH 和 P 2 TR 地址的独特要求。这些脚本对于定义交易的处理方式至关重要,特别是解决基于 SegWit 的地址(如 P 2 WSH 和 P 2 TR)中对证人数据的特殊要求。
3. 事务解析
改进了解析逻辑,可以统一处理 P2P KH、P 2 SH、P 2 WSH 和 P 2 TR 地址类型的独特特性。这意味着系统可以正确识别、提取和验证每种类型的必要组件。
额外的链支持
ZetaChain 通过谨慎的治理流程和软件更新添加新的链来发展其网络。这确保了每个新链都顺利集成。目前,他们正在考虑添加 Polygon、Base、Solana 和 IBC 链。
添加新链可能更容易或更难,具体取决于它们的签名方案。EVM 链,如以太坊,由于其签名方案的广泛支持,更容易添加。其他链可能更具挑战性。例如,Solana、NEAR 和 TON 等较新的链通常使用 EdDSA(Ed 25519 曲线)而不是 ECDSA(scep 256 k 1 曲线)。这通常会给 TSS 模块带来挑战,因为 GG 18 和 G G20 中的 ECDSA TSS 比 EdDSA TSS 更成熟,并且经过了更多的实战测试。幸运的是,这些新链通常具有智能合约功能,并且通常在智能合约级别有效地支持 scep 256 k 1 操作。这使得 ZetaChain 可以使用相对成熟的 ECDSA TSS 技术来连接到这些链。
此外,ZetaChain 网络中的观察者验证者需要为所有支持的链运行节点。这使他们能够验证不同链上的交易。
ZetaChain 目前使用其跨链消息协议和 ZetaClient TSS 与其他链进行通信。还有人提议整合 IBC 模块,以增强这些通信,并将全链合约的覆盖范围扩展到 Cosmos 生态系统应用链中。
其他更新
RPC:ZetaChain 正在分叉当前的 Ethermint 模块以扩展它并解决这些问题。Ethermint 已更新到最新版本,以支持最新的功能和安全性。此外,我们还研究了与 JSON RPC 相关的其他问题。定制 Ethermint EVM 模块并提高 RPC 兼容性,可确保更好地处理跨链交易和 zEVM 合约交互。
Throttle mechanism:为了保护网络免受不需要的或恶意的活动,ZetaChain 实施了可调节的节流机制。该系统根据当前的网络条件和预定义的规则动态调整交易速率。通过管理交易流,这种机制增强了网络的稳定性和安全性,防止了垃圾邮件交易或闪电贷攻击等潜在威胁。这一新增功能不仅可以防止网络滥用,还可以确保所有用户的持续可靠性和安全性。
ZetaChain 上的一般应用程序
在 ZetaChain 2.0 中,可以从外部链调用合约,也可以调用外部链上的合约。使用它开发的应用程序通常在后台具有类似的一般工作方式。应用程序的第一部分是构建一个事务,其函数调用详细信息发送到全链合约。DApp 前端就是这样做的。这是通过 TSS 观察员发送的,并转发到 ZetaChain 上的相应合约。这些被传递给 systemContract,它充当看门人。该合约确保只有经过授权的功能(例如 OnCrossChainCall)才能触发该过程的后续步骤,从而增加了额外的安全层。目标合约中的 OnCrossChainCall 函数处理传入的消息,以识别并执行所需的函数。
成功执行此操作后,结果将被处理并发送到目标链。用户直接在目标链上的钱包中收到最终结果。从用户的角度来看,这种交互涉及简单地在源链上发起交易,并在目标链上接收结果。ZetaChain 在幕后处理交易构建、验证和执行的所有复杂细节,使跨链交互看起来毫不费力。用户体验到一个顺畅而直接的过程,只看到他们签署的交易和最终结果,所有中介步骤都由 ZetaChain 的基础设施有效地管理。
具体应用
原生交换
使用 ZetaChain,您可以将跨链交换应用程序实现为 Universal 合约。用户首先将原生 gas 或支持的 ERC 20 资产发送到连接链上的网关合约,以及 Universal 合约地址和消息(包含目标代币和接收者)。观察者-签名者验证者观察并处理交易。同质化模块铸造 ZRC 20 代币,代表存入 Gateway 合约的代币,系统合约调用 Universal 合约的 onCrossChainCall 函数。该函数接受 ZRC 20 令牌、上下文(包含连接链的 ID 和调用方地址)和消息。然后,Universal 合约使用其中一个可用的流动性池(默认的 Uniswap v2 池或任何其他 DEX 合约)将传入的 ZRC 20 代币交换为目标代币的 ZRC 20 和目标链的 gas 代币的 ZRC 20 。最后,合约调用 ZRC 20 提现方法,将 ZRC 20 gas 代币(用于支付目的链的 gas 成本),并将目标 ZRC 20 作为原生资产提现到目标链。
Staking 质押
智能合约质押 ZETA 的能力简化了 ZetaChain 上流动性质押和重新质押应用程序的开发。
过去,质押应用程序需要链下程序,这些程序将 ZETA 的存款监控到智能合约中,并代表用户质押 ZETA。这种链下机制是中心化的来源,使得构建有弹性和去中心化的质押协议变得更加困难。
具有质押 ZETA 的能力,合约可以原生接受来自用户和其他合约的 ZETA 代币,使用链的原生质押机制(Cosmos SDK 质押模块)质押 ZETA,以及查询质押模块并领取奖励。
利用此功能,Universal DApp 可以接受来自连接链的代币,提供 ZETA 代币并代表用户进行质押,并在连接链上转移的代币上赚取收益。
NFT 应用程序
从 ZetaChain 上的 Universal DApp 原生调用连接链上的智能合约的能力使创建创新的 NFT 应用程序成为可能。开发人员可以创建接受来自连接链的代币和消息的应用程序,铸造 NFT,并允许用户将这些 NFT 从 ZetaChain 转移到连接链并返回。
ZetaChain 启用的新应用程序
ZetaChain 的全链基础设施使 DeFi 应用程序能够在多个链上运行,而不是局限于单个链。Web3 的主要优势之一是其可组合性,它允许智能合约相互交互和构建。目前,这种互动仅限于同一条链上的合约。然而,ZetaChain 将这种可组合性扩展到所有链,包括那些没有原生智能合约支持的链,如比特币和狗狗币。这拓宽了开发人员可以从全链抽象中受益的用例范围,为 DApp 级别的创新奠定了基础。
全链财资管理
跨多个区块链的资金管理是一项复杂的任务。当一个组织的资产分布在不同的链上,每个链都有自己的原生账户时,管理过程很困难,如果处理不当,可能会导致资产损失。如果没有统一的解决方案,资金经理必须处理多个账户,协调来自各个链上的利益相关者的签名,并手动跟踪不同网络上的资产。这种分散的方法不仅增加了运营风险,而且限制了财务部门有效管理和部署资产的能力。
通过使用 ZetaChain 的基础设施,组织可以对其资金进行集中控制,同时保持区块链资产的去中心化性质。关键的创新在于可编程 TSS 和智能合约的使用。
资金经理可以在部署在 ZetaChain 上的单个智能合约中编写他们的管理逻辑。该合约是跨多条链的所有财务操作的中央控制点。初始设置要求利益相关者在 ZetaChain 上仅提供一次密钥,从而大大简化了审批过程。
一旦设置,ZetaChain 智能合约就可以在不同的区块链上协调复杂的资金操作。这意味着可以通过 ZetaChain 上的单一审批流程在各个链上移动、分配或使用资产,而不需要每个原生链上所有利益相关者的多次签名迭代。
这种方法不仅限于发送资金。资金政策、支出限额和批准阈值可以直接编程到智能合约中,以便在所有链上都有一致的应用。此外,它还为更复杂的资金管理策略开辟了可能性,例如自动跨链再平衡或收益优化,由于管理多个独立区块链账户的复杂性,这些策略在以前是不切实际的。
全链投资组合管理
管理跨多个链的加密投资组合非常困难,用户难以平衡资产并跟踪不同网络的性能。ZetaChain 通过一个统一的全链投资组合管理平台简化了这一过程。
全链智能合约充当所有用户加密资产的中央控制塔,是解决方案的关键。该合约使用 TSS 直接与各种链上的账户进行交互。用户可以在 ZetaChain 智能合约中编码投资策略和规则。然后,该合约使用 TSS 来执行交易、移动资产并在不同区块链之间重新平衡投资组合。
智能合约可以监控市场状况,自动重新平衡投资组合,并在没有人工干预的情况下跨链执行复杂的交易。它通过 TSS 生成签名来做到这一点,允许它安全地控制多个链上的资产。
这种方法不仅可以自动化跨链操作,还可以提供整个投资组合性能的综合视图。它为跨链套利或多链收益农业等复杂的投资策略开辟了可能性,这在以前是不切实际的。
这对于吸引和扩大新用户规模至关重要,这些用户对收益机会感兴趣,但可能不熟悉每条链所需的特定步骤。通过抽象多链操作的复杂性,ZetaChain 使更广泛的用户能够使用高级加密投资组合管理。
Native Swapping
我们已经讨论过类似于 ThorChain 的原生资产交换应用程序,用户可以在其中以原生形式存入和接收资产。从用户的角度来看,这个过程就像在中心化交易所存入和接收资金一样简单。由于输入和输出是连接链上的简单传输,因此与基于消息传递的方法相比,这具有显着的成本,其中涉及的合约调用(消息验证等)可能非常昂贵。所有逻辑都在全链合约中的一个地方,而不是在涉及的链上逐个执行逻辑。
跨链借贷
ZetaChain 2.0 通过启用 ZetaChain 对外部链的直接函数调用来增强跨链借贷。这允许在 ZetaChain 上部署跨链借贷协议,接受任何链上的贷方的存款,而无需用户额外的努力。存款可以包括来自流动性池的资产、流动性质押资产以及来自任何受支持链的更多资产。在借款人方面,抵押品可以在多个链上以各种资产类型提供,从而创建一个灵活的借贷生态系统。看看 BTC 原生借贷市场,没有很多选择。这为建筑商开辟了新的机会和市场,以实现 BTC 的收益并借款抵挡其他资产。与 ThorChain 相比,在 ZetaChain 上开发也提供了更多选项,可以用相同的输入和输出代币构建不同的架构。
从任何链上重新质押资产
来自受支持链的资产可用于为其他链提供可重置的安全性,类似于 Eigenlayer 方法。Resakers 可以使用 BTC、ETH 等资产,这些资产可能会根据目标链或应用程序的特定条件进行大幅削减。这种池化安全模型允许链或应用程序利用多样化的废弃资产组合,从而增强整体安全性并为整个生态系统提供更强大的保护。
该应用程序可能类似于 Exocore,其中 ZetaChain 上的智能合约协调关键功能。这些合约充当模块,可以管理不同方面,例如 AVS 注册、跟踪股权委托、处理存款、处理提款和执行削减。
当用户与系统交互时——无论是通过存入代币进行质押还是将他们的资产委托给他人——这些交易都会被相应的智能合约记录下来。这确保了所有用户活动都在 ZetaChain 生态系统中被记录和管理。
TSS 签名者积极监控验证者,以确保他们忠诚。如果验证者是恶意的或用户发起提款,削减模块会通过削减原生链上的权益来回应。
多链清算
假设用户想使用不同链上的资产进行借贷,那么用户和应用程序很难监控和管理这些资产的清算。它需要跨链的持续监控和快速执行,以尽可能减少对协议的损失。使用 ZetaChain,资产可以锁定在 TSS 地址中,并使用源链上的 AMM/DEX 进行清算,与其他链上的包装版本相比,源链上的流动性会很大。这将最大限度地减少在清算、桥接上花费的时间,并将利用由于更高的本地流动性而产生的更好的利率。TSS 观察员将持续监控这些位置,ZetaChain 上的 Universal DApp 将对其进行跟踪。一旦资产的价格达到需要清算的程度,智能合约就会触发它,被 TSS 签名者转发并在原生链上清算。
BTC 应用
Ordinals 市场、BRC 20 等 BTC 资产的 Swap、借贷等应用程序均使用 ZetaChain 实现。这些应用程序不仅可以与 ZetaChain 上的其他应用程序组合,还可以与其他受支持的链上的应用程序组合。普通智能合约链支持的所有应用程序以及 ZetaChain 对比特币的全链功能都受支持。
BTC 和 ETH 等资产之间的借贷将使用 TSS 地址。该应用程序可以作为 Universal DApp 部署在 ZetaChain 上,并具有其底层逻辑。如果用户想用其 BTC 借用 ETH,他/她只需将 BTC 存入原生链,并使用他们的钱包签名即可。BTC 被锁定在 TSS 地址中,等待它被提取或清算。TSS 观察员记录此内容,在 ZetaChain 上铸造 ZRC 20 版本的 ETH,在以太坊上将其发送和交换为 ETH 直接进入用户帐户。用户只需使用他们的钱包存款,并在他们的 ETH 钱包上接收 ETH。像中心化交易所一样简单。其他应用程序,如 Ordinals 市场,swaps 在简单性上是相似的。
跨链编排
链抽象正在解决账户聚合、求解、编排、结算和清算等领域的广泛问题。我们将探索几种解决编排问题的方法,并将它们与 ZetaChain 进行比较。
Agoric
Agoric 是一个基于 JavaScript 的智能合约平台,使用 Cosmos SDK 和 CometBFT 构建。它使用 IBC 和 Axelar 与其他 Cosmos 链进行通信。Agoric 的目标是让数百万 JavaScript 开发人员加入 Web3。Agoric Orchestration API 抽象化了跨不同链编排合约的复杂性,简化了开发过程。
Agoric 的突出特点之一是其独特的 async/await 模型。该模型允许部署在 Agoric 上的智能合约与其他链进行交互,等待响应,并执行跨越多个区块的工作流程。当 Agoric 向其他链发送消息时,这些消息包含指令(例如帐户创建或函数调用)以及必要的参数。一旦目标链处理了这些指令并返回结果,Agoric 智能合约就会继续执行其逻辑中定义的后续步骤。
Everclear(前身为 Connext)
Everclear 以前称为 Connext ,拥有一座桥梁,可促进跨链工作流程和来自多个 L2 的重新质押。通过集成 Connext SDK,xApps 可以跨链发送称为 xcall 的特殊消息。除了适配器合约外,这些消息还由源链和目标链上的 Connext 合约管理,以实现跨链函数调用。
借助 Connext SDK,xApp 可以编译和发送加载了所有必需执行详细信息的 xcall 消息,例如函数调用、资金、gas 信息和其他数据。这些消息最初由 Connext 合约在源链上处理,然后 Connext 合约将它们转发给目标链上的对应物。在这里,适配器合约通过接收这些消息、在需要时转换资产以及使用正确的参数执行指定的函数来发挥重要作用。Connext 的系统支持嵌套的 xCalls,模仿链之间的回调来验证状态变化并执行异步跟进操作。
这使得 Connext 能够有效地充当桥梁,在各种链上执行合约功能,并支持复杂的跨链工作流程。这与 ZetaChain 略有相似,在 ZetaChain 中,函数调用被中继到目标链并执行。
xERC 20 和 ZRC 20 代币之间的比较
ZetaChain 和 Connext 都开发了代币标准——分别为 ZRC 20 和 xERC 20 ——以促进跨链应用。
ZRC 20 代币是以太坊上 ERC 20 标准的改编版,专为 ZetaChain 的跨链功能而设计。ZRC 20 代币只有在将相应的 ERC 20 代币存入 ZetaChain 控制下的 TSS 地址后才会在 ZetaChain 上铸造。来自不同链的每个 ERC 20 代币在 ZetaChain 上都有唯一的表示;例如,以太坊的 USDT 显示为以太坊的 ZRC 20 USDT,而 Binance Smart Chain 的 USDT 显示为 BSC 的 ZRC 20 USDT。虽然这些代表相同的 ERC 20 代币,但在 ZetaChain 上,它们被视为不同的资产,但仍然可以交换。
相比之下,xERC 20 代币在不同链上保持可替代性。所有 xERC 20 USDT 代币都被视为相同,无论它们来自哪个链,都有助于整合流动性并避免 ZRC 20 代币的稀释。这种可替代性允许更好的跨链资产管理,xERC 20 代币与 xcall 消息一起使用,用于发送代币以及函数调用和其他交易细节。
Particle Network
Particle Network 从专注于钱包和账户抽象基础设施起家,并已成功满足用户需求。他们已经扩展了他们的堆栈,包括链抽象,在 Particle L1 上添加了去中心化 bundler、paymaster 和密钥库等关键组件,以管理跨链账户。这种密钥库方法的灵感来自 Vitalik Buterin 解决多链账户问题的概念。
Particle 的抽象堆栈涵盖三个领域:
-
Universal 账户这些账户通过集成新的用户操作结构、主密钥库和用于签名验证的默克尔树,对传统的智能合约账户进行了升级。Particle L1 充当智能账户、处理设置和密钥相关数据的集中存储库,同时在 Merkle 树中存储对用户私钥的承诺。用户在启动交易时通过 Merkle 成员资格证明验证密钥所有权。Scroll、Keybase 和 Stackr 也提出了类似的方法。我们将在统一帐户管理部分中详细介绍密钥库。
-
Universal 流动性:Bundler 节点网络执行任何链上用户交易所需的操作,例如代币交换和与流动性提供者的交互。这使用户可以在多个链上利用他们的代币余额,从而可以轻松地与新链进行交互,而无需直接在其上持有代币。用户创建的操作可以使用单个签名与多个链进行交互,Universal Accounts 和 Bundlers 管理交易构建、签名和路由。
-
Universal gas: 当用户发起交易时,界面会提示他们选择首选的 gas 代币。然后,该代币通过 Particle 的 Paymaster 合约进行管理,Gas 支付在源链和目标链上结算。部分费用在 Particle L1 上转换为 Particle 的原生$PARTI 代币。
这 3 种解决方案共同为最终开发人员和用户提供了强大的抽象体验。用户能够创建跨链交易,不需要管理账户或目的地的燃料。这些都是为了实现无缝的最终用户体验而处理的。
NEAR
NEAR 的目标是提供无桥跨链体验,不同于其他依赖桥接的协议。它通过链签名、多链中继器和多链加油站以及去中心化的前端来实现这一点。
账户聚合允许用户使用单个账户在任何区块链上签署交易,从而简化了用户体验。NEAR 开发了一种称为 Chain Signatures 的 MPC 协议,使用 NEAR 和 Eigenlayer 验证器。该协议在外部链上生成和管理账户,而无需额外的密钥或地址。这些地址派生自现有的 NEAR 帐户。我们将在“统一帐户管理”部分更深入地了解其工作原理。
与 Particle Network 类似,多链加油站和多链中继器通过在外部链上抽象天然气来简化用户体验。因此,用户只与 DApp 前端进行交互,而编排、签名、gas 支付、中继则在后台进行。
NEAR 方法的主要特点是能够在不同链之间转移资产所有权,而无需实际移动资产。此过程从使用 MPC 网络在其他链上创建账户开始,这些账户链接到用户的 NEAR 账户。这些账户的所有权密钥不是包装或转移资产,而是在 NEAR 上转化为 NFT。然后,用户可以在 NEAR 上交易这些 NFT,有效地转移资产的所有权,而无需移动它们。
这种方法允许使用 NEAR 的高吞吐量交换本地资产,因为只交换控制键,而不交换资产本身。
Neutron
Neutron 使用 CosmosSDK 构建,专注于使用几个关键组件的无缝跨链交易。链间账户(ICA)管理远程 Cosmos 链上的账户,允许它们持有资产并执行交易。 数据包转发中间件 (PFM)在链之间转发 IBC 数据包,使跨链通信更加容易。IBC Hooks 允许智能合约在收到 IBC 数据包时执行自定义逻辑。
如果用户想使用 Neutron 创建跨链交易,则链间交易 (ICTX) 模块充当中央编排器。Neutron 上的智能合约向 ICTX 模块发送请求,指定目标链、链间账户和要执行的操作。然后,ICTX 创建一个包含交易详细信息的 IBC 数据包,并通过中继器将其发送到目标链。远程链处理交易并发回确认。这种通过桥接发送函数调用的方法类似于 Connext 和 ZetaChain。
与 ZetaChain 的比较
在大多数方法中,跨链编排涉及一个桥,该桥将资产与相应的函数调用和参数一起传输。这些资产和指令在目标链上解开,由合约执行。ZetaChain 2.0 也使用这种方法,TSS 签名者和观察者中继数据,以确保交易的安全和准确。
ZetaChain 允许 DApp 开发人员创建智能合约,这些智能合约可以使用 TSS 控制多个区块链上的资产。这使得 TSS 可以通过 DApp 的逻辑进行编程。开发人员可以为跨链资产管理定义复杂的规则,并自动化多链交易。这种方法开辟了新的应用和协议。
ZetaChain 还允许开发人员在单链上构建统一的状态和逻辑,从而改进了跨链应用程序。这种方法与传统的桥接解决方案有着根本的不同,传统的桥接解决方案将操作分散在多个链上。
使用 ZetaChain,应用程序将其整个状态和逻辑保持在一个地方,从而实现同步和原子执行。与网桥中的点对点通信系统相比,这是一个重大改进,后者依赖于跨碎片化状态的异步事件驱动过程。
这种统一方法的好处是巨大的。它降低了跨链应用程序的复杂性。例如,实现像 Curve 这样的 AMM 变得非常简单。开发人员可以编写一个在一个地方处理所有逻辑的单一智能合约,而不是跨多个链协调复杂的操作。另一个关键优势是可靠性。在碎片化的系统中,跨链交易的每一步都会引入一个新的潜在故障点。这可能导致部分完成的交易和资金陷入困境。ZetaChain 消除了这些风险。交易要么完全完成,要么完全失败,资金恢复到原始状态。
这是因为如果一个交易需要被撤销,它通常可以在主链内快速简单地完成,因为大部分的状态和逻辑都包含在一个地方。如果外部调用复杂且失败,则为应用程序提供了异步回滚的方法。这对于具有特定条件的操作尤为重要,例如具有滑点容忍度的掉期。在 ZetaChain 中,如果未满足滑点容忍度,则如果提供了回滚函数,则整个交易将回滚。这可以保护用户在执行过程中因市场条件的变化而遭受意外损失。
统一账户管理
区块空间曾经是稀缺的,但现在由于交替的 L1、以太坊上的汇总和应用链而变得丰富。应用程序现在分布在这些层中,为用户提供了许多选择。有一些帐户管理解决方案,例如 Magicspend,Keystore rollups,可以直接解决这些问题。对这些问题进行深入研究后,有必要编写一份自己的报告。因此,我们将重点关注 Near、Particle 和 ZetaChain 等统一解决方案如何解决这些问题以及不同之处。
Particle Network
Particle Network 开发了 BTC Connect,将账户抽象的好处扩展到比特币用户。虽然直接账户抽象没有在比特币 L1 上实现,但它是通过 L2 实现的。这些比特币 L2 集成了 Particle 的 AA 基础设施组件,例如捆绑器和支付主,使用户能够享受无燃料交易、账户恢复和密钥等好处。
BTC Connect 已与不同的比特币钱包提供商集成,包括 UniSat、OKX 和 Bitget。当用户与应用程序交互时,他们可以通过他们的钱包连接到 BTC Connect。此连接会自动在 Bitcoin L2上为用户创建一个智能帐户。然后,用户可以选择通过比特币 L1 与 DApp 交互,或将他们的 BTC 桥接到 L2,以利用 AA 钱包的优势。整个过程由 BTC Connect 无缝抽象,提供流畅且用户友好的体验。
Near
NEAR 支持使用单个账户跨任何区块链进行交易签名。NEAR 的账户模型集成了账户抽象。用户还可以从人类可读的帐户中受益,每个应用程序都有不同的密钥,每个应用程序都有特定的访问级别。NEAR 扩展了此模型,通过链签名支持多链交互,该协议允许 NEAR 账户在其他链上创建和管理远程账户,而无需用户单独管理它们。
此过程使用由 NEAR 验证器运行的 TSS 协议。这种创新的 TSS 协议允许验证者在不更改公钥或密钥共享的情况下加入和离开网络,使 TSS 成为稳定可靠的签名者,而无需频繁调整。
用户可以在每条链上创建新账户,TSS 网络充当签名者,无需用户维护这些账户的私钥。TSS 网络可以通过 NearID 使用不同的路径为同一链派生多个账户,进一步增强安全性和易用性。用户的最终体验是所有连接链的单个 NEAR 账户,利用 TSS 进行签名和账户抽象的所有好处。
账户管理的一个关键区别是与 ZetaChain 相比,NEAR 采取的方法。NEAR 严重依赖自己的网络进行交互。当用户想要为其他链创建账户或签署交易时,他们的 NEAR 账户将作为所有交互的起点。其他链上的账户派生自 Near 账户,并由 MPC 网络管理。相比之下,ZetaChain 允许用户在其他链上维护他们现有的账户,并保留完全托管权。用户可以从任何源链发起交互,而无需 ZetaChain 账户即可使用在 ZetaChain 上开发和部署的全链应用程序。这种方法最大限度地减少了用户创建新账户的需要,因为他们可以简单地在其他链上使用现有账户。重要的是,用户通过持有自己的私钥来保持完全监护权。
这两种方法都进行了不同的权衡。NEAR 的方法锁定了用户,并作为所有链交互的入口点,在一定程度上简化了账户管理。另一方面,ZetaChain 为用户提供了更多的控制和灵活性,允许来自任何链的交互。最后,它可能归结为用户更喜欢什么:NEAR 的多合一软件包,或者 ZetaChain 灵活的自带账户方法。
比特币重新质押
比特币是最大、最安全的数字资产,这主要是由于其 PoW 机制。然而,其有限的可编程性限制了其对基本事务的使用。之前,我们讨论了 ZetaChain 的基础设施如何支持重新质押和全链质押,包括比特币。此外,ZetaChain 还支持比特币资产的其他全链应用程序,例如借贷、原生交换和 Ordinal 市场。使用 ZetaChain 的比特币可以进行任何使用智能合约的应用程序。
Restaking 提供了一个将 BTC 的安全性用于其他应用程序和 PoS 链的机会。让我们探索和比较一些其他方法来扩展 BTC 的安全性,以增强其在各种应用程序中的实用性。我们还将把 ZetaChain 作为一个平台与比特币 L2 进行比较。
Babylon Chain
Babylon 是一个基于 Cosmos 的 CometBFT 链,通过质押 BTC 来提高 PoS 链的安全性。要质押 BTC,必须根据验证者的行为对其进行锁定和控制。虽然以太坊直接支持这一点,但 BTC 不支持。通常,BTC 被锁定在多重签名或阈值签名方案 (TSS) 账户中进行质押。然而,巴比伦使用了一种无需信任的方法。它使用比特币脚本将 BTC 锁定一段时间,在此期间用户可以解锁和解锁他们的 BTC。斜线是使用可提取的一次性签名 (EOTS) 完成的。
组件:
-
可提取一次性签名 (EOTS)
-
Covenants
-
时间戳
Covenants:Covenants 将 BTC 锁定在保险库中,直到满足特定条件,使用比特币脚本操作码,如 OP_CHECKTEMPLATEVERIFY( OP_CTV )。比特币的 PoW 安全性可确保 BTC 在满足这些条件之前保持安全。
EOTS:验证者使用 EOTS 来签署 PoS 链的区块。这些签名只使用一次。如果验证者在同一高度签署两个冲突的区块,EOTS 会显示验证者的私钥,从而允许协议削减 BTC。这惩罚了不诚实的行为,并鼓励了诚实的验证。
时间戳:时间戳创建数据或交易的不可更改记录,防止对 PoS 链的远程攻击。该过程同步了比特币和 PoS 链,确保了数据的完整性,并加快了质押 BTC 的解绑。时间戳缩短了解绑时间,使用户能够快速取回他们的资产,同时防止远程攻击。
使用这些组件,Babylon 提供了一种无需信任的重新质押替代方案。
Stroom Network
Stroom 网络 允许用户质押他们的 BTC 并赚取原生 BTC 收益,而无需锁定他们的资金。用户还可以获得流动性质押代币,这些代币可用于以太坊上的 DeFi 协议,以提高收益。其核心思想是使用 BTC 在闪电网络中提供流动性,产生用户、DAO 和节点运营商之间共享的费用。
-
Stroom Bridge:这座桥将比特币与基于 EVM 的区块链连接起来。用户将 BTC 存入 Stroom DAO 金库,并在以太坊上接收 stBTC 或 bstBTC。这些包装的代币可以在以太坊的 DeFi 协议中使用,让用户获得额外的收益。
-
Stroom-Enabled Lightning Network 节点:这些节点使用用户的 BTC 存款管理闪电网络通道。节点不能直接访问 BTC;对通道状态的任何更改都需要获得验证节点的批准。通道管理由联合控制的多重签名设置和 Schnorr 签名保护。验证节点还充当瞭望塔,监督 Lightning 节点活动。
-
Stroom 验证节点:这些节点使用 Schnorr 阈值签名的 FROST 算法批准操作并保持协议安全。他们独立验证事件,确保去中心化和安全性。它们存储通道状态和吊销密钥,并根据需要更新 LN 状态签名。作为 DAO 管理的瞭望塔,它们通过集成的比特币全节点监控闪电网络通道。
tBTC
tBTC 是一个去中心化的桥梁,允许 BTC 在以太坊上使用。它允许用户通过将 BTC 锁定在 Threshold Network 控制的账户中来铸造 tBTC,一种 ERC 20 代币。然后,该代币可以在以太坊的 DeFi 生态系统中使用,为比特币持有者提供更多实用性。
桥接器为每个纪元随机选择其操作员,以确保安全性。为了保证比特币存款的安全,tBTC 需要得到大多数运营商的同意,通常是 100 个由 ECDSA 支持的门槛钱包中的 51 个。这用去中心化的加密系统取代了中心化的中介机构。
要存入 BTC,用户使用支付脚本哈希 (P 2 SH) 或支付见证人脚本哈希 (P 2 WSH) 将其发送到这些钱包之一。该交易包括用户的以太坊地址。运营商验证交易并在以太坊上铸造 tBTC,将比特币转换为与以太坊兼容的代币。
要将 tBTC 兑换为 BTC,用户需要提供一个比特币地址。该系统减少了他们的 tBTC 余额,并将等量的比特币释放到提供的地址。
建立在 tBTC 桥之上的产品包括:
-
Mezo:Mezo 使用 tBTC 创建一个经济层。它是一个通过质押 Mezo 和 tBTC 来保护的 PoS 网络,允许访问 BTC DeFi 和其他实用程序。
-
Acre:Acre 提供一个简单的 BTC 输入,BTC 输出的质押过程。用户存入 BTC 并获得 stBTC,代表 Acre 金库中 BTC 的部分所有权。这使用户能够在保持 stBTC 流动性的同时,从他们的 BTC 上赚取收益。Acre 在各种 L2 中质押 BTC 以实现经济安全,验证者以 L2 代币或 BTC 获得奖励。用户可以在 Acre 上赎回他们的 stBTC 以提取奖励或转换回 BTC。
虽然这些方法允许重新采用,但它们是专门用于此目的的。ZetaChain 允许将重新质押与其他应用程序(如借贷,交换等)组合在一起,以提高资本效率,并在单一同步环境中进行。应用程序还可以访问生态系统中其他应用程序的用户群。
对比其他比特币 L2
比特币 L2 使用其基于 MPC 的桥接和包装资产增强了 BTC 的效用。然而,ZetaChain 在比特币网络上使用 TSS 控制的地址来代表其链上的 ZRC 20 代币。与比特币侧链基于 MPC 的方法相比,TSS 可以更加去中心化,因为更大、更分布式的 TSS 集提供了更大的拜占庭容错能力。
此外,ZetaChain 的 TSS 支持全链应用程序,允许它们与其他链上的合约组成。这意味着 ZetaChain 上的 BTC 应用程序可以与不同链上的多个合约无缝交互。相比之下,BTC L2 仅在其自己的平台内提供可组合性。
虽然基于 BitVM 和 CatVM 的桥可以提供无信任或信任最小化的替代方案,但它们尚不可行。
对 UX 和 Zetachain 角色的未来展望
区块链用户体验的未来将看到由 ZetaChain 等基础设施推动的重大改进。以下是 ZetaChain 可以期待的内容和可以发挥的作用:
-
无缝交互:趋势正在朝着无缝和直观的用户交互方向发展,其中底层技术对最终用户来说变得不可见。ZetaChain 的链抽象方法是朝着这个方向迈出的重要一步,它使区块链交互就像使用任何 Web2 应用程序一样简单。
-
统一用户界面:具有本地处理跨链交互的能力,应用程序可以提供统一的接口,用户可以在其中从单个平台管理资产、执行交易并与多个链进行交互。这将大大提升整体用户体验。
-
增强的应用生态系统:随着 ZetaChain 实现更复杂的跨链功能,我们可以看到更丰富、更复杂的应用生态系统的发展。这些生态系统将提供更具集成性和互操作性的服务,为用户提供一整套全面的工具和功能。
-
主流采用:简化用户体验是推动区块链技术主流采用的关键。通过消除与复杂性和可用性相关的障碍,ZetaChain 可以在将区块链带给更广泛的非技术用户方面发挥重要作用。
-
创新用例:跨多个区块链执行复杂操作的能力将导致新的和创新的用例的出现。开发人员将拥有创建以前不可能的应用程序的工具,从而推动该领域的进一步创新。