# 轻客户端Helios:实现无需信任的以太坊访问11月8日,一家加密货币投资公司推出了以太坊轻客户端Helios。该客户端基于Rust语言编写,旨在提供完全无需信任的以太坊访问。区块链的一大优势在于无需信任。通过区块链技术,我们可以自主掌控自己的财富和数据。以太坊等区块链在大多数情况下确实兑现了这一承诺:我们的资产真正属于我们自己。然而,为了便利性,我们也做出了一些妥协。其中之一就是使用中心化的RPC(远程调用)服务器。用户通常会通过中心化提供商访问以太坊。这些公司在云服务器上运行高性能节点,帮助大家轻松访问链上数据。当钱包查询代币余额或检查待处理交易是否已纳入区块时,几乎总会用到这些中心化提供商。当前系统的问题在于用户需要信任这些提供商,而无法验证查询结果是否正确。Helios是一款基于Rust的以太坊轻客户端,能够提供完全无需信任的以太坊访问。它利用以太坊切换至PoS后促成的轻客户端协议,将来自不受信任的中心化RPC提供商的数据转换为安全可验证的本地RPC。结合中心化RPC,Helios可在不运行完整节点的情况下验证数据的真伪。这款客户端能在约两秒内完成同步,且无需存储,用户可通过任何设备(包括手机和浏览器插件)访问安全的链上数据。但依赖中心化基础设施到底有什么潜在风险呢?接下来我们将探讨这些风险,介绍Helios的设计方案,并提供一些思路,帮助开发者为代码库做出贡献。## 中心化基础设施的潜在风险在以太坊生态系统中,存在一种理论上的攻击方式。这种攻击不是在交易内存池中寻找目标,而是通过模拟我们依赖的中心化基础设施来设置陷阱。受害者并没有做错什么:他们只是像往常一样访问去中心化交易所,设定合理的滑点,进行代币交易。然而,他们可能会遭遇一种新型的三明治攻击,这是一个精心设置在RPC提供商处的陷阱。为了理解这种攻击,我们需要了解去中心化交易所如何处理交易。用户进行兑换时,会向智能合约提供几个参数:要兑换的代币、兑换金额,以及最重要的,用户愿意接受的最小代币数量。最后一项参数指定了兑换必须达到的"最小产出",否则交易会被撤销。这通常被称为"滑点",因为它有效设定了从交易发送至内存池到交易被纳入区块之间可能出现的最大价差。如果RPC提供商没有提供去中心化交易所智能合约的准确报价,用户可能会被误导,以较低的最小产出参数签署兑换交易。更糟的是,用户可能将交易直接发送给恶意的RPC提供商。提供商可以不将这笔交易广播至公共内存池,而是私下扣留并将被攻击的交易包直接发送给特定服务,从中牟利。造成这一攻击的根本原因是信任他人来帮助获取区块链状态。为解决该问题,有经验的用户通常会运行自己的以太坊节点,但这需要耗费大量时间和资源。虽然现在运行节点比过去简化了,但对于多数用户,特别是使用移动设备的用户来说,仍然很困难。需要注意的是,中心化RPC提供商攻击虽然理论上可能发生,但实际上尚未发生。大型提供商的过往记录值得信赖,但在将不熟悉的RPC提供商添加至钱包前,多做一些研究仍然是明智之举。## Helios:完全无需信任的以太坊访问以太坊推出轻客户端协议后,为快速的区块链交互和通过最低硬件需求验证RPC端点开辟了新的可能性。在The Merge后的一个月里,多个独立的轻客户端相继涌现,它们各有特色,但目标一致:实现无需信任的高效访问,且不必使用完整节点。Helios是一个以太坊轻客户端,可在大约两秒内完成同步,不需要存储,并提供完全无需信任的以太坊访问。与所有以太坊客户端一样,Helios由执行层和共识层组成。但与多数其他客户端不同,Helios将这两层紧密耦合,用户只需安装和运行单个软件即可。Helios的工作原理如下:共识层使用一个已知的信标链区块哈希,并连接一个不受信任的RPC,以可验证的方式同步至当前区块。执行层将这些经过验证的信标链区块与不受信任的执行层RPC结合,以验证有关链上状态的各种信息,如账户余额、合约存储、交易收据和智能合约调用结果。这些组件协同工作,为用户提供完全无需信任的RPC,且无需运行完整节点。## 在实际应用中使用Helios通过轻量级的Helios,用户可从任何设备(包括手机和浏览器插件)访问安全的链上数据。这将使更多人能够无需信任地访问以太坊数据,不受硬件限制。用户可以在某些钱包中将Helios作为他们的RPC提供商,以实现无需信任地访问各种去中心化应用,整个过程无需任何其他更改。此外,Rust对WebAssembly的支持使应用开发人员可轻松将Helios嵌入Javascript应用程序(如钱包和去中心化应用)中。这些集成将提升以太坊的安全性,减少我们对中心化基础设施的信任需求。社区可以通过多种方式为Helios做出贡献,除了为代码库添砖加瓦外,还可以构建集成Helios的软件。一些令人兴奋的思路包括:* 支持直接从P2P网络、而非RPC获取轻客户端数据* 部署一些缺失的RPC方法* 构建可编译至WebAssembly的Helios版本* 将Helios直接集成至钱包软件中* 构建网络仪表板来查看代币余额,将Helios嵌入使用WebAssembly的网站中,以获取数据* 部署引擎API,将Helios共识层连接至现有执行层的全节点上
Helios轻客户端:两秒同步实现无信任以太坊访问
轻客户端Helios:实现无需信任的以太坊访问
11月8日,一家加密货币投资公司推出了以太坊轻客户端Helios。该客户端基于Rust语言编写,旨在提供完全无需信任的以太坊访问。
区块链的一大优势在于无需信任。通过区块链技术,我们可以自主掌控自己的财富和数据。以太坊等区块链在大多数情况下确实兑现了这一承诺:我们的资产真正属于我们自己。
然而,为了便利性,我们也做出了一些妥协。其中之一就是使用中心化的RPC(远程调用)服务器。用户通常会通过中心化提供商访问以太坊。这些公司在云服务器上运行高性能节点,帮助大家轻松访问链上数据。当钱包查询代币余额或检查待处理交易是否已纳入区块时,几乎总会用到这些中心化提供商。
当前系统的问题在于用户需要信任这些提供商,而无法验证查询结果是否正确。
Helios是一款基于Rust的以太坊轻客户端,能够提供完全无需信任的以太坊访问。它利用以太坊切换至PoS后促成的轻客户端协议,将来自不受信任的中心化RPC提供商的数据转换为安全可验证的本地RPC。结合中心化RPC,Helios可在不运行完整节点的情况下验证数据的真伪。
这款客户端能在约两秒内完成同步,且无需存储,用户可通过任何设备(包括手机和浏览器插件)访问安全的链上数据。但依赖中心化基础设施到底有什么潜在风险呢?接下来我们将探讨这些风险,介绍Helios的设计方案,并提供一些思路,帮助开发者为代码库做出贡献。
中心化基础设施的潜在风险
在以太坊生态系统中,存在一种理论上的攻击方式。这种攻击不是在交易内存池中寻找目标,而是通过模拟我们依赖的中心化基础设施来设置陷阱。受害者并没有做错什么:他们只是像往常一样访问去中心化交易所,设定合理的滑点,进行代币交易。然而,他们可能会遭遇一种新型的三明治攻击,这是一个精心设置在RPC提供商处的陷阱。
为了理解这种攻击,我们需要了解去中心化交易所如何处理交易。用户进行兑换时,会向智能合约提供几个参数:要兑换的代币、兑换金额,以及最重要的,用户愿意接受的最小代币数量。最后一项参数指定了兑换必须达到的"最小产出",否则交易会被撤销。这通常被称为"滑点",因为它有效设定了从交易发送至内存池到交易被纳入区块之间可能出现的最大价差。
如果RPC提供商没有提供去中心化交易所智能合约的准确报价,用户可能会被误导,以较低的最小产出参数签署兑换交易。更糟的是,用户可能将交易直接发送给恶意的RPC提供商。提供商可以不将这笔交易广播至公共内存池,而是私下扣留并将被攻击的交易包直接发送给特定服务,从中牟利。
造成这一攻击的根本原因是信任他人来帮助获取区块链状态。为解决该问题,有经验的用户通常会运行自己的以太坊节点,但这需要耗费大量时间和资源。虽然现在运行节点比过去简化了,但对于多数用户,特别是使用移动设备的用户来说,仍然很困难。
需要注意的是,中心化RPC提供商攻击虽然理论上可能发生,但实际上尚未发生。大型提供商的过往记录值得信赖,但在将不熟悉的RPC提供商添加至钱包前,多做一些研究仍然是明智之举。
Helios:完全无需信任的以太坊访问
以太坊推出轻客户端协议后,为快速的区块链交互和通过最低硬件需求验证RPC端点开辟了新的可能性。在The Merge后的一个月里,多个独立的轻客户端相继涌现,它们各有特色,但目标一致:实现无需信任的高效访问,且不必使用完整节点。
Helios是一个以太坊轻客户端,可在大约两秒内完成同步,不需要存储,并提供完全无需信任的以太坊访问。与所有以太坊客户端一样,Helios由执行层和共识层组成。但与多数其他客户端不同,Helios将这两层紧密耦合,用户只需安装和运行单个软件即可。
Helios的工作原理如下:共识层使用一个已知的信标链区块哈希,并连接一个不受信任的RPC,以可验证的方式同步至当前区块。执行层将这些经过验证的信标链区块与不受信任的执行层RPC结合,以验证有关链上状态的各种信息,如账户余额、合约存储、交易收据和智能合约调用结果。这些组件协同工作,为用户提供完全无需信任的RPC,且无需运行完整节点。
在实际应用中使用Helios
通过轻量级的Helios,用户可从任何设备(包括手机和浏览器插件)访问安全的链上数据。这将使更多人能够无需信任地访问以太坊数据,不受硬件限制。用户可以在某些钱包中将Helios作为他们的RPC提供商,以实现无需信任地访问各种去中心化应用,整个过程无需任何其他更改。
此外,Rust对WebAssembly的支持使应用开发人员可轻松将Helios嵌入Javascript应用程序(如钱包和去中心化应用)中。这些集成将提升以太坊的安全性,减少我们对中心化基础设施的信任需求。
社区可以通过多种方式为Helios做出贡献,除了为代码库添砖加瓦外,还可以构建集成Helios的软件。一些令人兴奋的思路包括: