Avalanche4
雪崩L1区块链
了解多链架构。
雪崩L1是一条独立的区块链,在验证节点成员、代币经济模型以及执行层方面拥有自主规则体系。它拥有专属的验证节点集合,负责达成共识并对区块链进行验证。这类专业化的L1区块链可进行定制化设计,以满足各类应用的特定需求,包括去中心化金融(DeFi)、非同质化代币(NFT)、游戏以及企业级解决方案。
- 可自主定义执行逻辑
- 可自主设定费用结构
- 可自主维护账本状态
- 可自主搭建网络通信
- 可自主提供安全保障
这种独立性确保了各L1区块链无需与其他L1网络或主网共享执行线程、存储资源或网络带宽。
雪崩网络
雪崩网络是由多条独立且可互操作的L1区块链组成的网络。这些区块链可相互通信,资产也能在链间流转,同时保持互操作性。
因此,雪崩网络能够:
- 轻松实现扩容
- 提升整体每秒交易处理量(TPS)
- 降低交易成本
通过依托L1架构,雪崩打造出一个灵活、可扩展的生态系统,能够适配广泛的应用场景与业务需求。
Avalanche 网络中 L1 的主要目的是什么?
A 提升代币价值
B 加密货币挖矿
C 支持专用的区块链应用场景
雪崩L1的特性与优势
了解使用雪崩L1的各类优势,包括可扩展性、独立性、可定制性、隐私性与互操作性。
雪崩网络的可扩展性
每条区块链的计算与数据存储容量均存在上限。因此,其在特定时间内可处理的交易数量以及可存储的账本状态都受到限制。
为实现水平扩展并提供更多区块空间,我们只需在雪崩网络中增加更多区块链即可。
我们可以用高速公路的类比来理解这个概念。
一条高速公路同一时间只能承载一定数量的车辆。如果太多车辆同时涌入,就会出现交通拥堵,车辆必须排队等待进入。
这个思路与并行修建多条高速公路、为车辆增加更多行驶空间是相似的。它能让更多交易并行处理,从而提高网络的整体吞吐量。
这种方案的妙处在于简洁,不需要任何未经检验的全新创新。
真正的挑战,反而在于优化雪崩L1之间的互操作性,以及让用户能轻松地在不同雪崩L1之间切换。
与其他雪崩L1的独立性
将生态系统拆分为多条链,可以实现彼此相互独立。
如果某条链因为网络活动繁忙(例如NFT发售、代币价格剧烈波动、新游戏上线)而出现拥堵,其他链不会受到任何影响。
一条链的拥堵或手续费上涨,不会波及其他链。
回到高速公路的类比:通过多链实现扩容,就相当于并行修建多条独立的短途高速公路。
回到我们的高速公路类比,我们可以设想这样一个场景:某一条高速公路出现拥堵,而其他高速公路并不会直接受到影响。部分车辆可以选择改走其他高速公路,交通瓶颈也会随之缓解。
在以太坊这类单链系统中,网络拥堵和手续费上涨会影响所有用户,即便是与造成交易量激增无关的参与者也无法幸免。尽管这种统一的单体区块链设计确实具备一定优势(例如流动性统一、跨链桥更少、dApp 集中部署带来更好的用户体验),但同时也存在明显缺陷。
验证节点需要配备性能强劲、成本高昂的设备才能支撑各类应用运行,而节点运行成本过高会进一步加剧网络中心化程度。缺乏模块化设计会导致网络中断时所有链上活动被迫停止,可能造成重大经济损失。此外,每一个新的去中心化应用都会与其他应用争夺相同的区块空间,最终导致网络过度拥挤。
在单链系统中新增一个去中心化应用(dApp),会加剧该链区块空间的竞争。
A
正确
B
错误
答案: A
可定制性
Avalanche L1 的创建者可以对其进行定制以满足自身需求。定制方式多种多样,包括引入自定义的Gas代币、使用不同的虚拟机(例如 WASM 或 Move VM),或是限制对该 Avalanche L1 的访问权限。
而在单链系统中,这类操作很难实现,因为这需要获得绝大多数用户的同意。
在我们的高速公路类比中,不妨设想部分旅行者有着非常特殊的需求:他们想乘船出行,而非驾车。
虽然在单一高速公路系统中理论上可以修建水道,但实际操作难度极大。然而,在 Avalanche L1 中满足这类定制化需求却十分简便。
选择或创建自定义虚拟机(VM)的能力,带来了前所未有的灵活性。
Avalanche L1 让开发者能够实现:
- 多虚拟机支持:与比特币、以太坊等仅支持单一虚拟机的网络不同,Avalanche L1 可以搭载运行不同虚拟机的多个区块链实例。
- 易用性:既可直接使用 Subnet‑EVM 等现有虚拟机,也能通过我们的软件开发工具包(SDK)创建全新的自定义虚拟机,以满足你的特定需求。
- 网络效应:这种灵活架构既能在单条区块链内部,也能在不同 Avalanche L1 及区块链之间形成网络效应。
与C链相比,Avalanche上的自定义区块链在Gas代币方面有何优势?
A
它们使用与C链上ETH类似的固定Gas代币。
B
它们完全不再需要Gas代币。
C
它们允许开发者使用任意ERC-20代币作为Gas代币。
D
它们会根据网络需求自动调整Gas费用。
在Avalanche的自定义区块链(子网)中,开发者可以灵活地选择任意ERC-20代币作为Gas代币,而C链则固定使用AVAX作为Gas代币。因此,自定义区块链的优势在于Gas代币的可定制性。
答案:C
增强隐私性、合规性与访问控制
公有区块链虽具备透明性,但许多商业场景需要对交易数据的可见范围进行管控。开发人员在构建 Avalanche L1 时可按需启用以下功能:
- 选择性透明:私有链可将交易信息仅对获得授权的参与方开放。
- 数据保护:通过交易加密技术保护敏感信息。
- 精细化权限:控制不同参与方可查看的数据范围,支持“最小必要知情”的访问模型。
互操作性
Avalanche L1 原生支持互操作性,可借助以下能力:
- 跨链通信:通过 Avalanche 跨链消息服务,实现网络内不同自定义区块链之间的无缝交互。
- 资产桥接:搭建高效桥梁,用于自定义链与其他网络之间的资产转移,例如 Avalanche 跨链代币传输方案。
Avalanche L1 与 Layer 2 对比
对比不同的区块链扩容方案。
Layer 2 区块链解决方案(例如 rollup 汇总方案)是区块链领域的另一项创新。Layer 2 旨在提升以太坊网络的可扩展性与性能。Rollup 本质上是将计算放到链下进行,再将最终状态变更提交到基础层,从而减轻以太坊主链的计算负担。
尽管 Avalanche 自定义区块链与 Layer 2 rollup 都致力于提升区块链的可扩展性和性能,但二者采用的实现方式不同,各自拥有独特的优势与取舍。
去中心化与安全性
Avalanche 自定义区块链本身属于基础层的一部分。Avalanche 上的每条区块链都独立维护自身安全,因此某一条链出现安全问题,不一定会影响其他链。
而 rollup 方案则将安全性委托给以太坊主网。只要主网安全,且 rollup 运行正常,Layer 2 方案就是安全的。但以太坊主网一旦发生安全漏洞,可能会影响所有 Layer 2 解决方案。
互操作性与灵活性
Avalanche 的多链结构具备出色的互操作性与灵活性,每条自定义区块链网络都可以制定自身规则,并支持搭载不同虚拟机的多条区块链验证。这意味着 Avalanche 能够适配极其广泛的应用场景。
相反,Layer 2 解决方案主要是为增强以太坊主网而设计,灵活性通常不及前者。
性能与成本
相较于传统单链系统,两种方案都旨在实现更高的交易吞吐量与更低的手续费。
Avalanche 通过多条 Avalanche L1 并行处理来达成这一目标,而 rollup 则是将计算迁移到链下。
不过,Layer 2 用户在将资产转回 Layer 1 时可能会遇到延迟。此外,由于 Layer 2 需要向 Layer 1 提交交易 checkpoint(状态校验点),这实际上设定了费用下限,并将 Layer 1 的 Gas 代币价格与 Layer 2 绑定。
而在 Avalanche 中,Avalanche L1 的 Gas 代币与 AVAX 完全独立。
在安全性与去中心化方面,Avalanche 自定义区块链与 Layer 2 汇总方案(rollups)有何区别?
A
Avalanche 自定义区块链将安全性委托给以太坊主网,而 Layer 2 汇总方案则维护独立的安全性。
B
Avalanche 自定义区块链作为雪崩基础层的一部分,维护自身的安全性;而 Layer 2 汇总方案将安全性委托给以太坊主网。
C
Avalanche 自定义区块链与 Layer 2 汇总方案均仅依赖各自基础层的安全性。
D
Layer 2 汇总方案为每条区块链提供独立的安全性,而 Avalanche 自定义区块链采用统一的安全模型。
在安全性与去中心化方面,Avalanche自定义区块链(子网)作为雪崩基础层的一部分,由其自身的验证者集合维护独立的安全性;而Layer 2汇总方案(rollups)则依赖以太坊主网的安全性,将交易数据发布到以太坊上进行最终结算。因此,正确答案是B。
如果以太坊主网发生安全漏洞,所有二层(Layer 2)解决方案都可能受到影响。
A
正确
B
错误
答案 A
配置 Core 钱包
学习如何设置你自己的 Core 钱包。
为了更好地理解 Avalanche L1 的概念,我们将与一条区块链进行交互。为此,我们会使用 Core。Core 是专为多链系统打造的一站式操作中心,支持 Avalanche、比特币、以太坊以及所有兼容 EVM 的区块链。Core 提供浏览器扩展、网页钱包和移动应用,针对多链环境进行了优化,让链间切换变得简单便捷。
1. 安装 Core 扩展
Core 扩展兼容谷歌 Chrome 浏览器。前往 Chrome 网上应用店,将其添加到你的浏览器:Core 加密货币钱包与 NFT 扩展。安装完成后,请务必固定该扩展,因为后续课程中我们会频繁使用它。
创建钱包
为安全起见,我们建议你单独创建一个钱包用于测试,与存放真实加密资产的钱包分开。
按照 Core 内的指引步骤创建钱包即可。由于我们仅使用无实际价值的测试网代币,因此无需使用冷钱包。
切换至测试网
为避免使用真实资产,我们将切换到 Fuji 测试网。它是 Avalanche 主网架构的完整复刻,唯一区别是测试网代币无实际价值。
切换到测试网模式:
打开 Core 浏览器扩展,点击侧边栏的工具图标,选择设置,最后开启测试网模式。
获取测试网代币
免费领取测试网代币
只需注册 Builder Hub 账号并连接钱包,你将自动在 C 链、P 链、Dispatch、Echo 及其他支持的 L1 上收到测试网代币,无需优惠码!
使用流程:
- 注册 Builder Hub 账号(如未注册)
- 连接你的 Core 钱包
- 需要时代币会自动发放至你的钱包
备选水龙头
如果你不想注册 Builder Hub 账号,也可以使用外部 Avalanche 测试网水龙头,优惠码:avalanche-academy
钱包地址说明
你的 Core 钱包在不同链上会显示不同地址:
- C 链地址(以 0x 开头):用于兼容 EVM 的链以及本学院的大多数教程
- X/P 链地址:测试网以
fuji开头,主网以avax开头,用于 X 链和 P 链交易
从水龙头领取代币时,默认使用 C 链地址(0x…),除非有特别说明。
问题排查
如果领取测试网代币时遇到问题(例如水龙头余额不足),请前往 Avalanche 学院 Telegram 群反馈,我们的开发关系团队将为你提供协助,并在需要时补充水龙头余额。
MetaMask 与 Core 扩展管理
如果你已安装 MetaMask,可能会出现冲突问题。我们建议暂时禁用 MetaMask。
操作步骤:
打开浏览器的扩展页面,也可在地址栏输入 chrome://extensions 打开。在已安装的扩展列表中查找,或使用页面顶部的搜索栏找到 MetaMask 扩展。
找到 MetaMask 后,点击其旁边的开关即可禁用该扩展。你可随时重新启用,开关处于关闭状态即表示已禁用,设置完成。
MetaMask和core钱包有什么区别
MetaMask(小狐狸)与 Core 钱包最核心的区别:MetaMask 是以太坊生态主导的通用 EVM 钱包,Core 是 Avalanche 官方原生的多链命令中心,在定位、链支持、多链体验、Avalanche 原生功能上差异显著。
一、核心定位与背景
| 对比项 | MetaMask | Core 钱包 |
|---|---|---|
| 开发主体 | ConsenSys(以太坊生态核心公司) | Ava Labs(Avalanche 官方) |
| 核心定位 | 以太坊/EVM 生态入口、Web3 通用钱包 | Avalanche 原生多链命令中心、一站式多链操作 |
| 主打优势 | 以太坊生态兼容性、DApp 连接普及度 | Avalanche 原生支持、多链切换/管理、跨链桥集成 |
二、链支持与多链体验
- MetaMask
- 原生支持:以太坊主网 + 所有 EVM 兼容链(Polygon、Arbitrum、Avalanche C-Chain 等)
- 非 EVM 链:需通过 Snaps 插件扩展(如 Solana、Bitcoin),体验非原生
- 多链操作:切换网络需手动添加 RPC/Chainlist,流程繁琐
- Core
- 原生支持:Avalanche 全链(X/P/C 链)+ Bitcoin + Ethereum + 所有 EVM 链 + Avalanche 自定义 L1/Subnet
- 非 EVM 链:原生集成 Bitcoin,无需插件
- 多链操作:一键切换、自动识别链、跨链桥内置,多链管理流畅
三、Avalanche 原生功能(核心差异)
- MetaMask
- 仅支持 Avalanche C-Chain(EVM 部分),无法直接操作 X/P 链
- 无 Avalanche 原生质押、跨链(X↔P↔C)、Subnet 管理功能
- Core
- 全链支持:X/P/C 三链原生操作,地址自动区分(C 链 0x、X/P 链 avax/fuji 开头)
- 原生功能:AVAX 质押(最高 6.43% APY)、X↔P↔C 跨链、Subnet/L1 部署与交互、Builder Hub 测试网代币自动领取
- 专属福利:Core 内部分交易免 Gas
四、功能与体验
- MetaMask
- 优势:DApp 连接普及度最高,几乎所有 Web3 DApp 优先支持;Snaps 生态丰富,可扩展插件
- 劣势:多链管理繁琐、非 EVM 链支持弱、Avalanche 原生功能缺失
- Core
- 优势:多链一体化(含 Bitcoin)、Avalanche 全生态深度集成、跨链/质押/Subnet 一站式操作、界面专为多链优化
- 劣势:以太坊生态 DApp 支持度略低于 MetaMask,用户基数更小
五、安全与管理
- 两者均为非托管钱包,私钥/助记词由用户完全掌控
- MetaMask:浏览器扩展为主,依赖浏览器安全;支持硬件钱包(Ledger/Trezor)
- Core:浏览器扩展 + 网页 + 移动端;原生安全设计,支持硬件钱包;Avalanche 链上交易确认更快
六、适用人群
- 选 MetaMask:以以太坊/EVM 生态为主、高频使用 DApp、追求最大兼容性的用户
- 选 Core:Avalanche 生态深度参与者(质押、跨链、Subnet/L1 开发)、需要管理 Bitcoin+EVM+Avalanche 多链资产、追求一站式多链体验的用户
需要我帮你整理一份 Core 钱包快速上手步骤(安装→创建→切换 Fuji 测试网→领测试币),直接照着做即可吗?
使用 Dexalot L1(Avalanche 专属 L1 实战体验)
体验 Avalanche L1 的第一手操作。
在这个练习中,我们将与第一个 Avalanche L1 进行交互。
Dexalot Avalanche L1 的目标是:在保持更高去中心化与透明度的同时,复刻中心化交易所(CEX)的用户体验。
借助 Avalanche L1,Dexalot 可以提供比传统 DEX 更低的交易手续费,同时保留中心化交易所不具备的链上透明度。
在 Core 钱包中显示 Dexalot Avalanche L1
- 确保你的 Core 钱包已切换到 Testnet 模式(不使用真实资金)。
- 打开 Core 浏览器扩展钱包。
- 点击 Show all Networks(显示所有网络)。
- 找到 Dexalot,点击它名称旁边的 星星图标,将其添加到首页显示。
将代币桥接到 Dexalot
- 前往 Dexalot 测试网。
- 连接你的钱包(页面右上角)。
- 点击连接钱包旁粉色图标旁边的 Deposit(存入) 按钮。
- 首次与 Dexalot 交互时,需要完成钱包授权。
完成后,你就可以在这条 Avalanche L1 上体验链上交易了。
以下的内容先跳过,只看目录。因为时间不够
创建 L1
学习如何使用Avalanche 构建工具在雪崩网络中创建一条 L1 区块链。
我们已经讲解了什么是雪崩 L1 以及互操作性的工作原理,你现在可能已经迫不及待想要亲自创建一条 L1,来实际体验雪崩 L1 的功能了!
在本章节中,你将学习如何使用 Avalanche Builder Tooling 创建一条 L1 区块链。
对于生产环境部署,你可以借助区块链即服务(BaaS)提供商,将 L1 基础设施的搭建与维护工作外包出去。
创建构建者账户
创建构建者账户,以便更便捷地使用各项功能。
在开始创建你的第一条 L1 之前,我们建议你注册一个 Avalanche 构建者账户。
该账户能让你轻松使用 Builder Hub 的众多功能。
即使没有构建者账户,你也可以完成本课程,但拥有账户会便捷得多。
安装 Core 钱包
学习如何安装 Core 钱包浏览器扩展并创建钱包。
在本章节中,你将学习如何设置 Core 钱包,并在 P 链获取一些测试网 AVAX,以便启动你的第一条 L1。
1. 下载 Core 钱包
如果你尚未安装 Core 钱包,请下载适用于 Chrome 的 Core 扩展:
Core 钱包扩展
Core 是唯一支持发起 P 链交易的钱包,因此无法使用 MetaMask 或 Rabby 等其他钱包。
2. 在 Core 中创建钱包
通过点击「使用 Google 继续」,或手动创建新钱包,在 Core 中新建一个钱包。
恭喜!你已成功完成 Core 钱包的设置。
领取测试网代币
学习如何连接 Core 钱包并领取测试网 AVAX。
在下方连接你的 Core 钱包,即可在 C 链和 P 链上领取测试网 AVAX。
拥有 Builder Hub 账户的情况下,代币会自动发送到你的钱包——无需手动领取,也不需要优惠码!
网络架构
了解 Avalanche 的网络架构以及 P‑Chain(平台链)的作用。
创建一条 L1 需要遵循以下步骤:
- 通过
CreateSubnet交易在 P‑Chain 上创建一条子网记录 - 通过
CreateChain交易向该子网添加一条或多条链 - 通过
ConvertSubnetToL1交易将子网转换为 L1,并添加初始验证节点
下面我们深入理解这些操作的含义:
多链网络中的验证节点
验证节点是区块链中的节点,通过验证交易来保障网络安全。
Avalanche 网络中的每条 L1 都拥有自己的一组验证节点,这些节点运行着 AvalancheGo 客户端。
创建区块链
学习如何使用构建工具(Builder Tooling)发送 CreateChainTx 交易,来配置一条区块链,并在 P‑Chain 上为其创建记录。
现在你已经完成了 Core 钱包的设置,并且在 P‑Chain 上拥有了一些 AVAX,接下来就可以创建一个子网(Subnet)。你将通过发送一笔 CreateSubnetTx 交易来完成这一操作。该交易会创建一个子网,其唯一标识就是 CreateSubnetTx 这笔交易的哈希值。
CreateSubnetTx 交易只有一个参数:子网的所有者。
所有者可以向子网中添加区块链,并将子网转换为 L1。
一旦转换为 L1,所有者就会失去这些权限。
因此,所有者仅在创建阶段相关;如果计划立即转换为 L1,则无需通过多签钱包来保障所有者地址的安全。
我们将直接使用你的 P‑Chain 地址作为所有者地址。
之后,你需要在 P‑Chain 上发送 CreateChainTx 交易,以创建这条区块链的记录。CreateChainTx 交易包含以下参数:
- name:链的名称
- subnetID:要将该链添加到的子网 ID
- vmID:运行这条链所使用的虚拟机 ID
- genesisData:链的创世区块配置
创世区块构建工具(Genesis Builder)允许我们配置区块链的诸多参数,例如权限管理、代币经济学以及交易手续费机制。
你可以浏览一下不同的配置选项,但目前不要修改默认设置,直接点击「查看创世区块 JSON(View Genesis JSON)」按钮即可。
然后点击「创建链(Create Chain)」。
这会在 P‑Chain 上为你的区块链创建记录,并将其与上一步创建的子网关联起来。
这条区块链的唯一标识,就是 CreateChainTx 这笔交易的哈希值。
搭建验证节点
学习如何使用托管基础设施或自行部署 Docker 的方式,为你的 L1 部署验证节点。
P‑Chain 上的记录已创建完成,现在你可以开始让节点与你的子网进行同步。
运行你的 L1 节点
使用我们免费的测试网托管基础设施,即可一键为你的 L1 部署节点,无需配置 Docker 或云服务商账户,也无需充值。你将获得以下优势:
- 一键即时部署
- 子网自动配置
- 测试网开发完全免费
- 通过构建者控制台进行监控与管理
将子网转换为 L1
学习如何使用构建工具(Builder Tooling)发送 ConvertSubnetToL1Tx 交易,在 P‑Chain 上将子网转换为 L1。
你刚刚启动的节点正在跟踪该子网,但尚未成为验证节点。事实上,由于该子网目前还没有任何验证节点,它无法处理任何交易。在这一步中,我们将同时完成两件事:
- 将子网转换为 L1
- 将你的节点添加为验证节点
将子网转换为 L1 需要子网所有者在 P‑Chain 上发起一笔 ConvertSubnetToL1Tx 交易。这笔交易会为你的区块链创建一套新的验证节点集合,并将其从子网转变为一条独立主权 L1 链。ConvertSubnetToL1Tx 是一次性交易,只能由子网所有者执行一次。
转换完成后,子网所有者将失去所有权限,这条 L1 将由验证节点管理合约(validator manager contract) 控制,由该合约管理验证节点集合。下一章你会了解更多相关内容。
ConvertSubnetToL1Tx 包含以下参数:
- 子网 ID(Subnet ID) —— 你的子网的唯一标识
- 验证节点管理区块链 ID(Validator Manager Blockchain ID) —— 部署验证节点管理合约的区块链 ID。这条区块链可以属于该 L1、C‑Chain,或 Avalanche 网络中任意其他 L1
- 验证节点管理合约地址(Validator Manager Address) —— 该合约在对应区块链上的地址
- 验证节点(Validators) —— 该 L1 的初始验证节点集合
测试你的 L1
通过构建工具部署一个 ERC-20 代币,来测试你刚刚创建完成的 L1。
恭喜!你已经成功创建了属于自己的 L1。现在,我们来在你的 L1 上部署一个 ERC-20 代币并进行测试。
移除节点
学习如何停止并移除在 Docker 上运行的节点。
既然你已经测试完自己的 L1,就可以停止并移除该节点。如果你想释放资源,或是想用不同参数重新启动一个新节点,这一操作会非常实用。
停止节点
如需停止节点,可以使用以下命令:
1 | |
节点的凭证信息与区块链状态会保存在 ~/.avalanchego 目录中。当你使用 docker start avago 重新启动节点时,它会从之前中断的位置继续运行。
移除节点
1 | |
该操作不会删除节点的状态数据与凭证信息。如需彻底删除这些数据,你需要删除 ~/.avalanchego 目录。
互操作性
既然我们已经了解了 Avalanche 的多链架构,接下来理解如何在所有这些链之间实现原生互操作性就至关重要。
什么是互操作性
互操作性是指不同区块链网络能够无缝通信、共享数据并相互交互的能力。
这种能力让资产、信息和功能可以在独立的区块链生态系统之间流转,无需中介。
这类交互有多种形式,包括:
- 资产桥接(代币、NFT 等)
- 跨链 DAO 投票
- 跨链流动性池
- 去中心化数据预言机
- 跨链智能合约调用
为什么互操作性至关重要
如果没有互操作性,区块链将面临巨大挑战:
- 流动性不足:新公链很难为代币和金融工具吸引足够的流动性,限制其可行性与用户采用。
- 开发者采用受限:在无法接入成熟网络的现有工具、社区与基础设施的情况下,开发者不愿在新链上构建应用。
- 用户准入壁垒:由于缺少直接入金服务与资产种类有限,用户进入新链会面临阻碍。
Avalanche 如何实现互操作性
Avalanche 通过分层架构实现原生跨链通信:
Avalanche Warp Messaging(AWM,雪崩 warp 消息协议)
这是实现 L1 之间交换可验证消息的基础协议。
AWM 使用 BLS 多重签名:验证节点对发出的消息进行签名,这些签名会被聚合,以便在目标链上高效验证。
跨链消息合约(ICM)
构建在 AWM 之上、面向开发者的友好接口智能合约。
负责消息编码/解码、中继激励与跨链 dApp 通信模式。
跨链代币转账(ICTT)
基于跨链消息合约构建,通过在源链锁定代币、在目标链铸造映射资产,实现 L1 之间的资产转移。
你将学到的内容
在本章节中,我们将探索:
- 互操作性基础——理解核心概念与应用场景
- 保障跨链通信安全——包括 BLS 签名在内的密码学基础
- Avalanche 的互操作性方案——深入解析 AWM 与 ICTT 协议
- 实际落地实现——这些技术如何在真实应用中协同工作
让我们先从理解支撑安全跨链通信的基础概念开始。
源链、消息与目标链
了解互操作性及其在多链系统中的重要性。
互操作性是通过让区块链之间能够传递消息来实现的。每条消息都从一条源链发出,并被发送至一条或多条目标链。
这些消息对任意数据进行编码,可用于证明源链上的某些事件,例如资产存入或投票结果。
源链
跨区块链通信系统中的源链,是指数据、资产或信息在被传递到其他区块链之前,最初产生的那条区块链。它是发起跨链交互的起点。当用户希望与另一条区块链通信时,会通过协议或智能合约,从源链启动通信流程。
消息
消息是将要发送到目标链的数据结构。它包含一些元数据、经过编码的消息内容,以及一个签名。签名用于证明消息的真实性,即消息所声明的内容确实在源链上发生过。
目标链
与之相对,目标链是接收并处理所传递的数据、资产或指令的区块链。目标链上与跨链通信系统相关的验证者、节点或协议,会接收并验证从源链转发过来的信息。验证通过后,目标链将对数据进行处理或执行指定指令。
消息在跨区块链通信中的作用是什么?
A
在目标链上处理数据。
B
包含源链、目标链以及带签名的编码数据。
C
从源链发起通信。
D
在源链上验证消息的真实性。
正确答案:B
跨链的目的是什么?
在 Avalanche 与 Web3 里,跨链(互操作性)的核心目的就一句话:
让不同区块链能安全、无缝地互通资产、数据与功能,打破孤岛,把整个生态连成一张网。
展开成最实用的 4 个目标:
- 资产自由流动
代币、NFT 能在不同 L1、公链之间转移,不用依赖中心化交易所。 - 共享流动性与用户
新链不用从零开始,可以直接复用成熟生态的资金和用户。 - 功能互相调用
一条链上的合约可以触发另一条链上的操作(跨链投票、跨链借贷、跨链治理)。 - 让多链架构真正可用
像 Avalanche 这种每条 L1 各司其职的架构,必须靠跨链才能协同工作。
简单说:
没有跨链,每条链都是孤岛;有了跨链,整个生态变成一个互联网。
要不要我用最简单的比喻再给你讲一遍 Avalanche 跨链是怎么实现的?
ICM、ICM 合约(Teleporter)与 ICTT
学习 Avalanche 如何通过 ICM、ICM 合约(Teleporter)和 ICTT 实现安全互操作。
我们可以用分层架构来理解 Avalanche 原生互操作性,每一层都确保消息能在系统间安全传输。
要掌握跨链消息的基础原理,本章会讲解 5 个核心概念:
- 安全签名 —— 确保消息可被信任的基础
- ICM(Interchain Messaging,跨链消息) —— 支持跨链通信的原生区块链功能
- ICM 合约(Teleporter) —— 让开发者更轻松构建跨链应用的友好工具
- ICTT(Interchain Token Transfer,跨链代币转账) —— 可直接使用的链间代币转移方案(并非必须使用)
- Relayers(中继器) —— 通过收集签名、提交交易来协助链间消息传递的服务
签名机制
学习签名机制如何工作,并支撑安全的跨链通信。
签名机制是一类密码学方案,它让我们可以对一段数据进行签名,而其他人能够验证这个签名。
你可以把它理解成现代版的签名——不是依靠独特的手写笔迹,而是依靠数学。
签名机制有很多种,它们在效率和安全性上各有不同。
签名机制的核心目标,是保证数字消息的:
- 真实性(Authenticity)
- 不可否认性(Non-Repudiation)
- 完整性(Integrity)
真实性
真实性确保签名能够验证消息的来源,确认它确实来自声称的发送者。
一条消息上的有效签名,证明签名者拥有对应公钥的私钥。
不可否认性
不可否认性确保签名者无法否认自己参与了这笔交易。
也就是说,他不能事后声称自己没有授权或签名这条消息。
对消息签名,是一种具有约束力的承诺。
完整性
完整性确保消息在传输过程中没有被篡改或修改。
只要消息被改动过,哪怕非常微小,用原签名去验证都会失败。
使用签名机制
BLS 签名机制的实操演示
接下来我们动手实操签名机制的使用,具体步骤如下:
- 生成密钥对:生成包含公钥(Public Key)和私钥(Secret Key)的密钥对。
- 签名消息:使用私钥对消息进行签名,生成签名(Signature)。
- 验证签名:使用公钥验证消息对应的签名是否有效。
生成密钥
首先,生成由公钥和私钥组成的密钥对。
实操代码(Python 实现 BLS 签名)
以下是可直接运行的代码,基于 py_ecc 库实现 BLS 签名的完整流程,贴合 Avalanche 跨链场景的签名逻辑:
1 | |
代码运行说明
- 前置条件:先安装依赖库
1
pip install py_ecc blspy - 核心逻辑解释:
- 私钥(Secret Key):签名者的私密密钥,需严格保管,用于生成签名;
- 公钥(Public Key):可公开的密钥,用于验证签名,由私钥推导而来;
- 消息哈希:BLS 签名不直接对原始消息签名,而是对消息的 SHA256 哈希签名,确保输入长度固定;
- 签名验证:只有「正确的公钥 + 未篡改的消息哈希 + 合法签名」组合才能验证通过。
运行结果示例
1 | |
总结
- BLS 签名的核心流程:生成密钥对 → 私钥签名消息哈希 → 公钥验证签名;
- 验证签名时,消息一旦被篡改,验证必然失败(保证完整性);
- 只有持有对应私钥的人才能生成有效签名(保证真实性和不可否认性),这也是 Avalanche 跨链消息安全的核心基础。
多重签名机制
学习多重签名如何实现拜占庭容错
多重签名机制(多签)是一种密码学方法,允许多个参与方共同授权某一操作,通常需要预先设定数量的授权方提供数字签名才能生效。
在多签方案中,每个授权方都拥有自己的私钥。要使操作生效,必须有指定子集的参与方生成各自的唯一签名。
这在以下场景非常有用:
一组参与者希望共同签名一条消息,但只需要其中一部分人签名即可生效。
多重签名通过以下方式提升安全性:
- 降低对单一实体的依赖
- 降低私钥泄露风险
- 实现密码学流程的共同控制权
这类机制广泛用于各类密码学与安全场景,用于建立信任、分散控制权、降低潜在漏洞影响。
BLS 多重签名方案
BLS(Boneh-Lynn-Shacham)多重签名方案以签名体积极小著称,在区块链应用中效率极高。
它还支持签名聚合与公钥聚合:
- 签名聚合:把所有签名压缩成一个很短的签名,让传输与验证更高效。
- 公钥聚合:验证算法只需使用一个聚合后的短公钥即可完成验证。
BLS 多重签名可用于:
- 安全多方计算
- 分布式密钥生成
- 门限解密
- 其他密码学协议
在区块链这类去中心化系统中尤其重要——
多方需要协作签名消息或执行密码学操作时,BLS 是最主流、最高效的方案。
简单记:
普通多签 = 很多签名拼在一起
BLS 多签 = 所有签名合成一个,又小又快
要不要我用超级通俗的比喻帮你秒懂 BLS 聚合签名?
BLS 多重签名方案在区块链应用中的一个关键优势是什么?
A
所有参与者只需要一个私钥。
B
它不再需要公钥。
C
它使用对称加密来增强安全性。
D
它支持签名和公钥聚合,从而生成紧凑的签名。
正确答案:D
使用多重签名机制
基于 BLS 的多重签名机制实操演示
让我们来学习多重签名机制的使用。我们将执行以下步骤:
- 生成两个密钥对:我们将生成两组密钥对。
- 对消息进行签名:使用两个私钥为同一条消息生成两个签名。
- 聚合签名:将两个签名聚合成一个签名。
- 聚合公钥:将两个公钥聚合成一个公钥。
- 验证聚合签名:使用聚合后的公钥验证聚合签名。
生成第一个密钥
首先,生成一组由公钥和私钥组成的密钥对。
BLS 签名聚合
了解签名聚合如何实现高效的多方验证
签名与公钥聚合可以将同一条消息的多个签名合并成一个简短的签名,这让签名的传输与验证效率大幅提升。
我们来看一个例子。假设我们要对下面这条消息进行签名:
消息
Per consensum ad astra
使用私钥,我们生成如下签名:
应用场景
了解互操作性在 Avalanche 上的实际应用
互操作性支撑了多种能够提升用户体验、拓展 Avalanche 生态能力的应用场景。我们来看看其中的核心应用:
- 跨链代币转账
代币可在不同 L1 区块链间无缝转移,无需中心化交易所:
- 无缝转账:在链间转移 USDC 等代币,费用低、交易速度快
- 流动性获取:为 DeFi 活动、交易或支付使用来自不同网络的流动性
- 去中心化:转账过程中始终掌控资产,无需第三方中介
- 去中心化数据预言机
智能合约可从专业预言机链获取可靠的价格数据与其他信息:
- Chainlink 集成:使用实时价格数据支撑 DeFi 应用
- 无需信任访问:直接从去中心化预言机获取数据
- 跨链应用:构建依赖全网一致数据的金融应用
- 跨链代币兑换
不同区块链网络间直接完成代币兑换,无需中心化交易所:
- 去中心化交易:在无需信任的环境中兑换资产
- 多链访问:获取来自不同生态的代币
- 更低成本:避开中心化平台的高额手续费
- 跨链 NFT
NFT 可在不同区块链网络间转移与使用:
- 更广曝光:NFT 可在多条链上展示与交易
- 增强实用性:在跨平台游戏、艺术与元宇宙场景中使用 NFT
- 保留所有权:跨链保持 NFT 的真实性与溯源信息
- 可互操作的 DeFi 协议
DeFi 协议可跨链交互,实现更强功能:
- 跨链收益耕作:在多条链上最大化收益
- 跨链抵押借贷:使用任意公链的资产作为抵押品
- 组合性:依托多网络构建创新金融产品
- 跨链治理
覆盖多条区块链的去中心化治理:
- 统一治理:从单一平台管理多链协议
- 去中心化投票:让不同链上的持币者均可参与
- 提升参与度:决策更具多样性与代表性
在 Avalanche 上,哪种互操作性用例允许用户在不同的第一层区块链之间转移 USDC 等代币,而无需使用中心化交易所?
A
去中心化数据预言机(Chainlink 价格喂价)
B
跨链代币转账
C
跨链 NFT
D
可互操作的去中心化金融协议
正确答案:B
Avalanche 可以运行多少个虚拟机(VM)?
A
只能运行 Avalanche 虚拟机
B
EVM 和 AVM
C
Avalanche 上可以运行的虚拟机数量没有限制。任何人都可以创建最适合自己需求的定制化虚拟机。
答案C
一个虚拟机(VM)可以用来创建多条区块链吗?
A
可以,同一个虚拟机可以用来创建多条区块链
B
不可以,每条区块链都需要一个专属的虚拟机
C
可以,但前提是这些区块链属于不同的网络
正确答案:A
同一个虚拟机(VM)可以用来创建多条区块链。
Avalanche 如何处理虚拟机(VM)的修改?
A
定制化难度较高,需要网络参与者之间达成广泛共识。
B
不允许定制化,因为这会损害区块链的安全性。
C
Avalanche 为虚拟机开发者提供了简易的 API。
D
Avalanche 不支持虚拟机的定制化。
正确答案:C
Avalanche9000 升级带来的主要变化有哪些?(选择所有适用项)
- 子网(Subnets)现在被称为 L1
- 现在每个节点需要质押更多 AVAX 才能成为验证者,从而提升网络安全性
- 现在 L1 验证者无需验证主网(Primary Network),只需遵守其希望验证的 L1 所规定的质押要求即可
- 现在 C 链、P 链和 X 链已不复存在,所有 L1 共同组成 Avalanche 主网
- 现在所有 L1 都是公开且无需许可的,正如所有区块链应有的形态
- 现在 L1 可以设为私有链
正确答案:
子网(Subnets)现在被称为 L1
现在 L1 验证者无需验证主网(Primary Network),只需遵守其希望验证的 L1 所规定的质押要求即可
根据Avalanche9000升级后的新规则,正确答案是C。
以下是基于升级内容对各个选项的详细分析:
A. L1验证者必须质押比之前更多的AVAX以使网络更加安全 ❌
这个说法是错误的。Avalanche9000升级(特别是其中的Etna升级和ACP-77提案)的核心目标之一是降低验证者的门槛和成本,而不是提高。升级后,L1验证者不再需要像以前那样质押2,000 AVAX。
B. 所有L1都必须使用与主网相同的质押要求 ❌
这个说法是错误的。升级赋予了L1更大的自主权和灵活性。L1现在可以作为一个独立的网络运行,可以定义自己的验证规则、质押要求、代币经济学和治理结构,无需遵循Avalanche主网(Primary Network)的规则。
C. L1验证者只需遵守他们希望验证的特定L1所定义的质押要求,而无需验证主网 ✅
这个说法是正确的。这是Avalanche9000升级带来的最重大变化。现在,验证者可以选择只验证特定的L1,为此他们需要:
- 支付持续的动态费用(最初设定为每月约1.33 AVAX)。
- 同步并验证该特定L1。
- 同步最新的P链(P-Chain)状态。
他们不再需要质押2,000 AVAX,也不再需要验证或参与主网(X链、P链和C链)的共识。
D. 子网现在被称为L1,这意味着所有验证者共享一个统一的质押池 ❌
这个说法是错误的。虽然”子网”(Subnet)这个术语确实被重新命名为”L1”,但这并不意味着验证者共享一个统一的质押池。正如选项C所解释的,L1现在拥有主权,可以设置自己的规则,包括独立的质押要求和奖励机制。验证者通过支付动态费用来注册其验证者信息到P链,而不是共享一个共同的质押池。
P‑链(P‑Chain)的主要作用是什么?
A
为 C‑链 和 X‑链 提供备份
B
记录主网和所有 L1 上的全部交易
C
登记雪崩网络中所有验证者的信息
D
管理所有 L1 的验证者集合
用汽水售卖机打比方的话,机器的**状态(state)**代表什么?(选择所有适用项)
- 汽水口味
- 当前余额
- 每种口味的剩余罐数
- 售卖机的位置
答案:
- 当前余额
- 每种口味的剩余罐数
在汽水售卖机的类比中,以下哪些是机器的操作?(选择所有适用项)
- 投入硬币
- 当前余额
- 机器的位置
- 选择汽水口味
答案:
- 投入硬币
- 选择汽水口味
实现状态机的优势是什么?(选择所有适用项)
- 提升网络速度
- 降低交易成本
- 可重现性
- 清晰的接口
正确答案:
- 可重现性 (Reproducibility)
- 清晰的接口 (Clear interface)
我先把你前面那句准确翻译成简体中文,再给你用最简单的方式讲清楚:什么是状态机 + 怎么实现状态机。
翻译(严格对应原文)
What are the advantages of implementing state machines? (Select all that apply)
实现状态机的优势是什么?(选择所有适用项)
- Increased network speed
提升网络速度 - Decreased transaction costs
降低交易成本 - Reproducibility
可重现性 - Clear interface
清晰的接口
用最通俗的话讲:什么是状态机 & 怎么实现
1. 什么是状态机(State Machine)
状态机 = 一个只会根据“当前状态 + 输入”,变成“下一个状态”的系统。
可以理解成:
- 只有固定几种状态
- 只有固定几种操作
- 操作只会改变状态,不会乱来
例子:汽水售卖机
- 状态:余额 0 元、有5瓶可乐、有3瓶雪碧
- 操作:投币、选口味、出货
- 规则:投币 → 余额增加;选口味 → 扣钱、减库存
这就是状态机。
2. 怎么实现一个状态机(极简步骤)
定义所有可能的状态
比如:余额、库存、是否上锁定义所有允许的操作
比如:投币、选择商品、退款写清楚:每个操作会如何改变状态
- 投币 5 元 → 余额 +5
- 选可乐 → 余额-3,库存-1
对外只暴露操作接口
别人不能直接改余额,只能通过“投币”“购买”来改。
3. 区块链里为什么要用状态机?
因为区块链必须满足:
- 结果可重现(所有人运行同一份代码,结果必须一样)
- 逻辑清晰、不可乱改
所以以太坊、Avalanche 本质上都是分布式状态机。
如果你愿意,我可以用 5 行代码给你写一个最简单的状态机示例,一看就懂。