Back

NTU MOOC 学习笔记 - 第十讲 区块链互操作层的解耦及如何扩展跨链

By
HackQuest
Aug 6, 2024
4 min read

日期: 2024年8月6日 上午9-10:30 SGT / 2024年8月5日 晚上9-10:30 EST

课程主题: 区块链互操作层的解耦及如何扩展跨链

NTU I&E x HackQuest MOOC 是我们与南洋理工大学官方联合出品的公开课程,旨在为对 Web3 感兴趣的小伙伴提供免费且公开的学习机会。MOOC 课程由 Yat Siu (Co-founder, Animoca), Ed Felten (Co-founder, Offchain Labs), Sergey Gorbunov (Co-founder, Axelar), Scott Moore (Co-founder, Gitcoin), Haider Rafique (CMO, OKX), Austin Griffith (Developer Onboarding, Ethereum Foundation), Anna Yuan (Stablecoins Lead, Solana Foundation) 等 Web3 业界和学界专家主讲。所有 MOOC 课程将会被整理提炼成笔记供各位复盘和学习。Happy Learning!

概述

主要议题: 区块链互操作层的解耦及如何扩展跨链

目标:

1.了解在多个区块链网络上构建互操作去中心化应用(dApps)的挑战和解决方案。
2.探讨互操作协议的原理和架构。
3.以 Squid 协议为案例分析跨链原生 dApps 的扩展方式。

第一部分:区块链互操作性简介

1.1 连接的重要性

区块链 & 城市:
区块链 可以被比作数字城市——独立、强大的网络,开放且无需许可。每个区块链都像一个城市一样独立运行,有其独特的基础设施、文化和治理。然而,就像城市需要道路、桥梁等连接来促进繁荣和商业往来一样,区块链也需要互操作性来实现不同网络之间的无缝交易和互动。
没有连接性,去中心化应用(dApps)将局限于单一的区块链,限制了它们的覆盖范围和实用性。互操作性使这些 dApps 能够在多个区块链上运行,确保它们能够为不同区块链的用户服务。
image
Preview

1.2 挑战

TRUST 选项:
过去,许多区块链应用依赖于中心化的解决方案,如桥接、交易所和借贷平台来实现跨链活动。这些中心化中介机构负责在区块链之间传递资产和数据。然而,这种依赖引入了重大风险,因为这些中心控制点容易受到攻击、故障和其他形式的威胁。这种中心化的解决方案削弱了区块链技术的基本原则,如去中心化和去信任性。
SUFFER 选项:
另一种开发者采取的方法是分别在多个区块链上部署他们的应用程序。虽然这种方法允许应用程序在不同区块链上覆盖用户,但它分散了应用程序的用户群和流动性。用户往往需要自己处理跨链资产移动的复杂性,如使用第三方桥接工具、管理多个钱包以及支付每条链上的 Gas 费用。这种分散的体验令人困惑,阻碍了区块链技术的更广泛采用。

1.3 解决方案: 强大的互操作性

开发者体验的统一:
强大的互操作性旨在统一跨多个区块链的开发过程。开发者无需为每个区块链单独构建和维护应用程序的不同版本,只需构建一次应用程序,它就可以在所有支持的区块链上无缝运行。这种方法减少了开发的复杂性,使开发者可以专注于创造最佳的用户体验,而无需担心每个区块链的复杂性。
用户体验的简化:
对于用户来说,互操作性简化了在不同区块链上与应用程序交互的体验。理想情况下,用户应该能够在任何区块链上访问和使用应用程序,而不需要处理多个钱包、手动交换资产或处理多套 Gas 费用。目标是创造一个像使用传统 Web 应用程序一样顺畅的用户体验,用户可以不受底层基础设施的限制访问服务。

第二部分:Squidrouter:一个跨链原生 dApp

2.1 Squid 协议概述

一键跨链交换:
Squid 协议在区块链互操作性方面取得了重大进展,提供了一键跨链交换的功能。此功能使用户可以通过单击一次按钮,从一个区块链交换代币到另一个区块链,而无需中间步骤,如包装代币或手动桥接资产。通过集成超过 30 个区块链,Squid 确保用户在多个生态系统中进行交易的同时,保持原生资产的安全性。
Squid 协议的一个关键创新是其在链间组合现有去中心化交易所(DEXs)的能力。通过使用代币和合约调用,Squid 利用源链和目标链上的流动性池,使用稳定币(如 USDC)作为路由资产。此过程对用户来说是抽象的,他们体验到的交易是无缝的单步操作。
关键特性:
最小化流动性创建: Squid 依靠单一流动性池(axlUSDC)支持跨链交换。这种方法最大限度地减少了对大量流动性的需求,降低了桥接相关的风险,并确保了高效的交换。
无缝用户体验: 用户可以执行跨链交换,而无需管理多个钱包或支付每个区块链上的 Gas 费用。协议在后台处理所有复杂的操作,提供了类似中心化交易所的用户体验,同时保留了去中心化和自我托管的优势。
image
Preview

2.2 互操作协议的设计原则

1.无需更改以实现集成:
互操作协议设计的一个关键原则是确保区块链可以在不需要更改其内部结构的情况下连接。这意味着区块链的共识机制、智能合约语言和区块最终确认过程保持不变。这一原则对于扩展性至关重要,因为它允许多样化区块链的无缝集成,而不会施加显著的开发负担或限制。
2.最佳努力通信:
互操作协议必须确保在区块链之间可靠地通信,即使面临潜在的网络故障或延迟。如果消息或交易未能到达目的地,协议应能够从源区块链重试操作,确保交易最终完成。
3.基于网关的连接性:
区块链之间的连接性通常通过网关来管理——这是专门的智能合约,用于在网络之间传递消息和资产。这些网关充当中介,确保区块链可以在不需要直接点对点连接的情况下进行通信。
4.去中心化控制:
为了保持互操作协议的安全性和完整性,控制必须是去中心化的。任何单一实体都不应有能力控制或操纵协议,从而确保其在潜在攻击或故障面前保持稳健和安全。
5.跨链安全性:
跨链安全性至关重要,确保只有当源区块链上的交易已成功完成时,才会在目标区块链上执行交易。这防止了跨链上的双花或无效交易的执行。
6.最终活跃性:
即使网络中出现延迟或故障,互操作协议也必须保证交易最终会被传递并在目标区块链上执行。这确保了用户可以依赖该协议来进行一致且可靠的跨链操作。

2.3 Axelar 跨链网关协议

跨链消息语义:
Axelar 跨链网关协议(CGP)定义了在区块链之间传递消息的标准。这种标准化确保了不同区块链能够有效地进行通信,不论其底层架构如何。通过支持多种验证和传输层,CGP 在如何实现这些通信方面提供了灵活性。
验证:
验证是跨链安全性的关键组成部分,确保只有在源区块链上已正确验证的交易才会在目标区块链上执行。这可以通过原生验证方法实现,即区块链直接验证彼此的交易,或者通过外部验证,即第三方系统验证交易。
传输:
传输层管理在区块链之间传递消息的物理过程,确保消息以安全且高效的方式传输。这包括处理消息的中继、发现可用的区块链以及管理跨链交易的 Gas 费用。
image
Preview

第三部分:互操作层与挑战

3.1 三层互操作性

1.消息语义:
在互操作性最高层,消息语义定义了允许区块链发送和接收消息的通信 API。此层抽象了跨链通信的复杂性,为开发者提供了一个简单且一致的接口,用于构建互操作应用程序。
2.验证:
验证层负责确保跨链交易的安全性和完整性。此层验证源区块链上的交易已正确完成,并且在目标区块链上执行是安全的。它可以使用原生验证,即区块链直接验证彼此,或外部验证,由第三方处理验证。
3.传输:
传输层关注区块链之间消息的实际传输。这包括管理通信模型(例如点对点或中心辐射)并确保消息在网络故障或延迟的情况下可靠传递。
image
Preview

3.2 构建互操作性的挑战

二次连接管理:
随着区块链数量的增加,管理所有可能的区块链对之间的直接连接变得难以管理。这种连接管理的二次增长既复杂又昂贵,使得扩展互操作性解决方案变得困难。
信任中介:
虽然去中心化网络是首选,但在某些情况下,中介网络是必要的。然而,这些中介必须是去中心化的,以避免引入单点故障并保持系统的去信任性。
高昂的开发成本:
构建和维护区块链之间的互操作性连接可能成本高昂,特别是当每个连接都需要大量开发工作时。高效的设计和模块化架构对于降低这些成本并确保互操作性解决方案的经济可行性至关重要。

第四部分:跨链 dApp 架构模式

4.1 点对点 (P2P) 模型

对称合约:
在 P2P 模型中,智能合约对称地部署在多个区块链上。这些合约被设计为能够直接相互通信,允许以点对点的方式执行交易。这种模式适用于需要在多个区块链上复制相同功能的应用程序,每个合约实例都可以与其他合约作为平等的参与者进行交互。

4.2 中心辐射模型

核心逻辑在单一链上:
中心辐射模型将应用程序的核心逻辑集中在单个区块链(中心)上,同时在其他区块链(辐射)上部署较轻的卫星合约。这些卫星合约与中心链上的核心合约进行通信,以获得交易授权和其他关键功能。此模型特别适用于需要单一事实来源或集中处理的应用程序,同时仍能从多个区块链上访问。

4.3 各链上的统一地址

使用 Nonce 保持一致性:
为了确保一致性和易于发现,可以为跨多个区块链部署的合约分配相同的地址,通过使用一致的 nonce。这种方法简化了认证过程,使用户能够轻松识别和与正确的合约进行交互,无论他们使用的是哪个区块链。
image
Preview

第五部分:未解问题与未来展望

5.1 互操作性中的未解问题

缺乏标准:
区块链互操作性面临的最大挑战之一是缺乏统一的标准。每个区块链都有自己的协议、共识机制和交易格式,难以建立跨链通信的共同框架。这种标准化的缺失不仅增加了开发互操作性解决方案的复杂性,也阻碍了这些解决方案在不同区块链上扩展的能力。
单一设计:
一些互操作协议,如 IBC,被设计为紧密耦合协议栈各层的单一系统。虽然这种方法可以提供强大的安全保障,但也使得该协议难以适应或扩展到新用例或区块链。单一设计的局限性限制了其灵活性,并可能减缓互操作性解决方案的采用。
创新与标准化的平衡:
在互操作性协议的开发中,创新需求与标准化需求之间的平衡是一个关键挑战。虽然创新推动了区块链技术的发展,但各个区块链操作方式的过度分化可能会对互操作性构成障碍。标准化努力必须在允许持续创新和提供跨链通信的共同基础之间取得平衡。

5.2 未来需求

可扩展性中心:
随着区块链数量的继续增长,中心将在高效管理跨链通信方面变得越来越重要。中心允许一种更可扩展的互操作性方法,通过减少需要管理的直接连接数量,并使消息和交易在区块链之间的路由更加高效。
模块化和面向未来的设计:
为确保互操作性解决方案能够跟上区块链技术的快速发展,它们必须在设计时考虑模块化和面向未来。模块化架构允许协议栈的不同层独立更新或替换,方便采用新技术和标准,而不需要完全推翻互操作性系统。面向未来的设计将是保持跨链解决方案长期可行性和可扩展性的关键。
image
Preview

关键要点

区块链互操作性对于创建无缝、可扩展的去中心化应用(dApps)至关重要。Squid 协议展现了跨链原生 dApps 的强大功能,提供一键跨链交换并集成了超过 30 条链,同时将安全风险降至最低。互操作协议必须遵循去中心化控制、跨链安全和最佳努力通信等关键原则。Axelar 跨链网关协议通过定义跨链消息语义并确保网络间的可靠验证和传输,进一步增强了互操作性。尽管取得了显著进展,但仍然存在高昂开发成本和标准化需求等挑战。未来,模块化、面向未来的设计以及可扩展的中心辐射模型将是推动互操作区块链生态系统持续增长和采用的关键。

问答环节

1.问题: 你看到的一些有趣的新跨链协议是什么?它们在架构和设计方面有哪些独特或特别之处?

回答: 我们看到的一个有趣趋势是跨链协议中意图的使用。意图允许用户发布交易并以最有效的方式执行,而无需亲自执行。例如,在跨链交换中,不必等待源链的完全最终确定,第三方行为者可以看到意图并立即在目标链上执行交易,暂时承担风险。这种方法可以显著加快跨链执行速度并减少用户风险。

2.Axelar 有哪些即将推出的计划?

回答: 我们即将推出的一个重大计划是 Interchain Amplifier 产品的发布。该框架允许协议开发者和区块链开发者轻松连接到 Axelar。历史上,连接到 Axelar 有些困难,但我们正在简化这一过程,使开发者能够更容易地扩展并快速访问其他链。该框架已经在测试网上上线,并将很快在主网上推出。

3.什么使 Axelar 成为区块链?

回答: Axelar 是区块链,因为它运行完整的共识协议并支持智能合约。虽然我们不一定打算在 Axelar 上直接构建 DeFi,但它们对于一些逻辑非常有用,比如跨链命名服务可以在 Axelar 上存储其映射,从而在多个链上快速传播。

4.你认为跨链通信未来最大的技术挑战是什么?

回答: 跨链通信中最大的技术挑战之一是扩展,同时保持安全性并降低成本。随着连接链的增多,我们需要确保如果一条链遭到破坏,它不会对其他连接的链产生负面影响。这需要隔离故障和风险,同时仍然允许无缝的互操作性。

5.Axelar 如何盈利?目前最大的收入来源是什么?

回答: Axelar 通过为跨链交易收取 Gas 费用盈利。用户不会直接看到这些费用,但在后台,Axelar 会收取源代币的 Gas 费用,将其转换为支付 Axelar 的 Gas,然后再转换为支付目标区块链的 Gas。此过程类似于其他区块链处理 Gas 费用的方式,但 Axelar 在多个链之间促进了这一过程。

6.启动 Interchain Token 服务的动机是什么?

启动 Interchain Token 服务的主要动机是简化在多个链上启动代币的过程。许多开发者需要他们的代币能够在多个区块链上使用,但在不同链上启动和管理这些代币的过程一直很繁琐。Interchain Token 服务允许开发者在 5 分钟内在 60 条链上启动代币,并在所有链上使用相同的地址,并实现统一的流动性。

7.如果你参加一个为期六到八个月的黑客松,你会构建什么?

回答: 我会专注于构建 Web2 和 Web3 堆栈交叉点的项目,比如结合 AI 和加密货币或支付和加密货币的项目。重要的是要超越典型的区块链原生用户,考虑区块链如何为当前生态系统之外的用户解决现实世界的问题。这种方法可能会带来更广泛的分布和创新。

8.你对多链未来的趋势有什么看法?

回答: 多链未来不仅仅是一个趋势,而是一个事实。开发者希望在多个链上构建,每个新推出的区块链都从第一天起就考虑了互操作性。这在三年前并不是这样,但现在已经成为区块链开发的一个基本方面。

Stay connected with us

More Blog about ’Study Notes‘

View All
loading...