跳到主要内容

1 篇博文 含有标签「技术架构」

查看所有标签

Hyperlane 深度解析(2):技术架构与安全机制

· 阅读需 11 分钟
国子
Author of @AmphitheatreApp / Contributor of @Alux_Network / PMC of @OpenBuildxyz / Compiler Researcher of http://github.com/hummanta / Rustacean 🦀
hyperlane 中文
Hyperlane 中文团队

跨链通信一直是区块链领域的一个难题,尤其是在安全性、去中心化和可扩展性之间找到平衡点。Hyperlane 通过其模块化设计和灵活的安全策略,提供了一种高效且安全的跨链通信方案。今天,我们就来深入探讨 Hyperlane 的技术架构和安全机制,看看它是如何解决这些挑战的。

Hyperlane 的架构设计

Hyperlane 是第一个无需许可的互操作层,允许智能合约开发人员在区块链之间发送任意数据。开发人员可以使用 Hyperlane 移动代币、执行函数调用以及许多其他允许创建跨链应用程序的操作,这些应用程序可供任何区块链上的用户访问。用户通过邮箱智能合约与 Hyperlane 协议进行交互,该合约提供了链上消息传递接口来发送和接收链间消息。

Flow

Hyperlane 采用模块化方法实现安全,允许应用程序配置和选择一系列Interchain 安全模块(ISM)。应用程序可以指定 ISM 来定制安全模型,以确保其与 Hyperlane 消息传递接口的集成安全。

邮箱

Mailbox 合约是 Hyperlane 的消息存储和索引中心,负责管理跨链消息的生命周期,包括消息的发送、接收和状态更新。

Hyperlane Mailbox 支持的每条链上都部署了一个合约,其公开了一个用于发送和接收链间消息的链上 API。该网络 Mailboxes 促进了区块链之间的结缔组织,开发人员可以利用它来创建跨链应用程序,并为其现有应用程序添加跨链功能。

Mailbox

Mailbox 合约需实现 IMailbox 接口,以下主要讲两个状态变异函数;dispatch()process(),分别用于发送和接收消息。

发送消息

为了发送链间消息,开发人员需要调用Mailbox.dispatch()。此函数将消息内容、目标链 ID 和收件人地址作为参数。每条消息都作为叶子插入到存储的增量 Merkle 树Mailbox中。Hyperlane 的权益证明协议使用此 Merkle 树来验证欺诈证明。

function dispatch(
uint32 destinationDomain,
bytes32 recipientAddress,
bytes calldata messageBody
) external payable returns (bytes32 messageId);