查看原文
其他

使用链上轻客户端保护从以太坊到互联网计算机的跨链通信

Dfifans Internet Computer 2023-10-20


互联网计算机(ICP)不断发展,致力于成为多链世界中去中心化应用程序和服务的中心,ICP 独有的链密钥签名允许容器智能合约签署交易,而 HTTPS 呼出使它们能够从其他链获取状态。
为了提高后者高价值应用程序的安全性,Eiger 的一个团队致力于将以太坊轻客户端移植到 ICP。
什么是轻客户端和 Helios?
轻客户端是一种专门的软件,它使区块链节点能够与另一个区块链交互,而无需下载和验证整个区块链的历史记录,相反,它依赖加密证明和有限的数据子集来验证交易并访问相关信息,轻客户端被设计为高效且快速,使其适合资源受限的环境,例如互联网计算机。
Helios 是一个用 Rust 实现的新兴以太坊轻客户端,是此集成的核心,它是一个软件组件,可以集成到互联网计算机上的容器智能合约中,以实现与以太坊区块链的交互。
Helios 利用 Merkle 证明和同步委员会来有效验证以太坊状态和事件,从而无需完整的区块链验证,这种轻量级方法与互联网计算机的架构和目标完美契合。
更多相关信息请访问:
  • github.com/a16z/helios

为什么选择在 ICP 上建立轻客户端?
ICP 旨在通过运行与 ICP 节点位于同一位置的以太坊节点来与以太坊网络进行本机集成,然而,在当前状态下,集成基于对一个或多个 RPC API 提供商(如 Infura 或 Alchemy)的 JSON-RPC 调用,添加以太坊轻客户端可以提高此集成的安全性,因为从 RPC 提供商获取的所有数据都会经过加密验证。


Helios ICP 移植经验
ICP 提供了一个强大的基于 WASM 的计算平台,这使得开发人员可以用各种编程语言编写智能合约,并可以移植像 Helios 这样用 Rust 实现的应用程序,而无需从头开始重写应用程序。
尽管如此,将 Helios 移植到 ICP 上仍需要进行一些重大更改和优化,以确保其兼容性和效率,一些显著的变化包括:
  • 升级 Helios 以与 Rust 稳定工具链兼容

  • 删除对浏览器相关的 WebAssembly(WASM)组件的依赖

  • 消除与 wasm 不兼容的 Tokio 相关代码

  • 利用 ethers-core 库并删除 ethers-providers

  • 当针对 wasm 时,用 HTTPS 呼出替换 reqwest

这些更改是为了使 Helios 适应 ICP 的独特要求,使其成为互联网计算机上以太坊容器的合适组件。
如何使用它?
要使用 ICP 上的以太坊容器来访问以太坊区块链数据,您可以按照以下步骤操作:
运行和使用以太坊容器


运行端到端容器测试


我们的目标是让以太坊容器提供一个全面的 API 来与以太坊数据交互,因此您可以参考 candid.did 文件中的 API 定义,以获取有关可用函数及其用法的更多详细信息:
  • github.com/eigerco/ethereum-canister/blob/main/src/ethereum-canister/candid.did

概括
在互联网计算机上实施以太坊轻客户端(特别是 Helios)旨在通过允许容器、应用程序、服务和智能合约独立访问以太坊数据来增强去中心化应用程序和服务,确保从以太坊安全检索数据,它还展示了互联网计算机的独特功能及其强大的计算环境,该环境允许运行其他去中心化平台无法比拟的应用程序。
您可以在我们的 GitHub 存储库上找到该项目:
  • github.com/eigerco/ethereum-canister


来源:DFINITY翻译:Catherine

-              -


ICP On EDGE Summit

DFINITY 基金会斥资 2000 万美元发起 ICP 亚洲联盟,推动 Web3 在亚洲的采用

沃顿商学院 EMBA 学生遇见互联网计算机





你关心的 IC 内容

技术进展 | 项目信息 | 全球活动



长按关注 IC 微信公众号

掌握最新资讯


*添加小助手微信 comiocn 进交流社群


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存