a16z推出Helios轻客户端:无需信任的以太坊访问新方案

robot
摘要生成中

a16z Crypto推出Helios轻客户端:实现真正无需信任的以太坊访问

2023年11月8日,a16z Crypto发布了以太坊轻客户端Helios,这款基于Rust语言开发的工具旨在提供完全无需信任的以太坊网络访问能力。

区块链技术的核心价值之一就是让用户不必依赖第三方信任,从而真正掌控自己的财富和数据。以太坊等区块链在很大程度上实现了这一承诺,确保我们的资产真正归属于我们自己。

然而,为了便利性,大多数用户在使用区块链时做出了一些妥协。最明显的妥协之一是依赖中心化的RPC(远程调用)服务器。用户通常通过某些中心化服务提供商访问以太坊网络。这些公司在云服务器上运行高性能节点,帮助用户轻松获取链上数据。当钱包查询代币余额或检查交易状态时,几乎总是通过这些中心化服务进行。

现有系统的主要问题在于用户必须信任这些提供商,无法自行验证所获得信息的准确性。

Helios:轻量级且完全可验证

Helios作为基于Rust的以太坊轻客户端,能够在不牺牲安全性的前提下提供便捷的区块链访问。它利用以太坊转向PoS后实现的轻客户端协议,将来自不可信中心化RPC提供商的数据转换为安全可验证的本地RPC。通过与中心化RPC配合,Helios能够在不运行完整节点的情况下验证数据的真实性。

该轻客户端可在约两秒内完成同步,无需额外存储空间,用户可通过任何设备(包括手机和浏览器插件)安全访问链上数据。

中心化基础设施的潜在风险

在以太坊的"黑暗森林"中潜伏着理论上的风险。这种风险并非来自交易内存池(Mempool)中的前端运行攻击,而是通过模拟我们所依赖的中心化基础设施设置陷阱。

遭遇此类攻击的用户可能并未犯任何错误:他们只是访问了常用的DEX,设置了合理的滑点,进行了正常的代币交易。然而,他们仍可能面临一种特殊的三明治攻击,这种攻击潜藏在以太坊访问入口处——RPC提供商。

当用户在DEX执行交易时,会向智能合约提供几个参数:交易代币、交易数量以及用户愿意接受的最小代币数量(即滑点)。如果滑点设置合理,理论上用户不会遭受三明治攻击。但如果RPC提供商没有提供准确的DEX合约报价呢?用户可能会被误导,以较低的最小接收量签署交易。更糟的是,用户可能直接将交易发送给恶意RPC提供商,而提供商可以私下保留这些交易,并通过特定渠道直接发送给区块生产者以获利。

这类攻击的根本原因是用户需要依赖第三方获取区块链状态。为解决这个问题,有经验的用户通常选择运行自己的以太坊节点,但这需要大量时间和资源投入:至少需要一台持续在线的设备、数百GB存储空间以及大约一天时间来进行同步。虽然这个过程已比过去简化许多,但对大多数用户来说仍然难以实现,特别是对移动设备用户而言。

需要说明的是,虽然中心化RPC提供商攻击理论上完全可能发生,但目前尚未发现大型、知名提供商有过此类行为。尽管如此,在将不熟悉的RPC提供商添加至钱包前,进行充分研究仍然很有必要。

Helios工作原理:深度剖析

以太坊推出轻客户端协议后,为快速区块链交互和通过最低硬件需求验证RPC端点创造了新的可能性。合并(The Merge)后的一个月内,多个独立的轻客户端项目(Lodestar、Nimbus和基于JavaScript的Kevlar)相继出现,它们各自采用不同方法,但都致力于同一目标:在不运行完整节点的情况下提供无需信任的高效访问。

Helios与所有以太坊客户端一样,由执行层和共识层组成。但与多数客户端不同的是,Helios将这两层紧密结合,用户只需安装和运行单个软件即可。

共识层

Helios的共识层轻客户端遵循信标链轻客户端规范,利用信标链的同步委员会(在Altair硬分叉中引入)。同步委员会是由随机选择的512个验证者组成的群体,服务周期约27小时。

验证者在同步委员会中会签署所有看到的信标链区块头。如果超过三分之二的委员会成员签署了区块头,则该区块几乎肯定位于规范信标链中。当Helios了解当前同步委员会的构成后,就可以通过查询最近的同步委员会签名来可靠地跟踪链头。

得益于BLS签名聚合技术,仅需一次查询即可完成对新区块头的验证。只要签名有效且超过三分之二的委员会成员已签名,就能保证该区块已被包含在链中。

系统首先需要获取一个弱主观性检查点(weak subjectivity checkpoint)作为信任根源。这是一个被保证在过去某个时刻已纳入链中的区块哈希。利用这个检查点,Helios可以获取和验证当前及下一个同步委员会,从而快速检阅区块链历史并同步至最新区块。

执行层

执行层轻客户端的目标是将经共识层验证的信标区块头与不受信任的执行层RPC结合使用,提供经过验证的执行层数据。然后通过Helios在本地托管的RPC服务器访问此数据。

以太坊通过状态树存储账户信息,包括合约代码哈希、随机数、存储哈希和余额。只要知道状态树的根,就可以验证Merkle证明,证明树中是否存在任何账户,这种证明无法被伪造。

Helios从共识层获取经过验证的状态根,并将其与不受信任执行层RPC的Merkle证明请求结合,实现对存储在以太坊上所有数据的本地验证。通过这种方式,不受信任的RPC可以拒绝提供数据访问,但不能提供错误结果。

Helios的实际应用

Helios的轻量级设计允许用户从任何设备(包括手机和浏览器插件)安全访问链上数据。用户可以在MetaMask中将Helios设置为RPC提供商,无需任何其他更改即可无信任地访问各种DApp。

此外,Rust对WebAssembly的良好支持使应用开发人员能够轻松将Helios嵌入JavaScript应用程序(如钱包和DApp)中。这些集成将提升以太坊的安全性,减少对中心化基础设施的信任依赖。

社区可以通过多种方式为Helios做出贡献,包括:

  • 支持直接从P2P网络获取轻客户端数据
  • 实现缺失的RPC方法
  • 构建可编译至WebAssembly的Helios版本
  • 将Helios直接集成到钱包软件中
  • 构建网络仪表板查看代币余额
  • 将Helios共识层连接至现有执行层全节点

此项目的代码库已经开源,欢迎感兴趣的开发者参与贡献。

本页面内容仅供参考,非招揽或要约,也不提供投资、税务或法律咨询。详见声明了解更多风险披露。
  • 赞赏
  • 10
  • 分享
评论
0/400
币圈相声社vip
· 1小时前
链不信人信服务器
回复0
汤米老师vip
· 2小时前
行业大突破了
回复0
FlashLoanLarryvip
· 9小时前
最大可提取价值(MEV) alpha 解锁
回复0
LiquidityWitchvip
· 06-12 06:44
诗意的黑暗池塘涨起
回复0
NonFungibleDegenvip
· 06-12 06:44
看涨的意思是我们会成功
回复0
NFT数据侦探vip
· 06-12 06:43
需要先有实证证据。
回复0
MemeCoinSavanvip
· 06-12 06:39
基于协议的升级 fr fr
回复0
Rekt_Recoveryvip
· 06-12 06:34
少信任,多验证
回复0
梗王NFTvip
· 06-12 06:27
去中心化的韭菜
回复0
RumbleValidatorvip
· 06-12 06:26
看来这个验证器值得一试
回复0
查看更多
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)