是时候正式面对Infura带来的「中心化」问题了
区块律动BlockBeats作者:律动BlockBeats
3 月 4 日,有用户在社交媒体表示自己在委内瑞拉无法使用 MetaMask 钱包,查明原因,发现是 API 服务商 Infura 出现了问题。
Infura 回应,在配合美国和其他司法管辖区的新制裁指令而改变某些配置时,错误地配置了些许设置,导致部分地区服务中断。而作为 Infura 的本家并使用 Infura 服务的 MetaMask 也因此次错误出现了问题。导致部分地区用户短时无法访问 MetaMask。
这已经是 Infura 第 N 次出现问题导致以太坊生态受到影响了。虽然这个问题从多年前就被讨论过,但如今面对以太坊不可同日而语的超级生态,有些问题应该重新引起关注。尤其在动荡期间,因为国家间的问题导致被标榜为「去中心化」的 Web3.0 世界也开始有了准入门槛,实在汗颜。
我们并没有否认 Infura 的重要价值,只是如果我们可以尝试通过其他方式,是不是可以缓解这个问题呢?
Infura 是什么?
专业一点讲,Infura 是一种 IaaS(Infrastructure as a Service)产品,目的是为了降低访问以太坊数据的门槛。通俗一点讲,Infura 就是一个可以让你的 DApp 快速接入以太坊的平台,不需要本地运行以太坊节点。
从程序员的角度讲,Infura 就是一个 Web3 供应商,背后是负载均衡的 API 节点集群。
再简单一点理解,Infura 就是一个公开的以太坊节点,可以看到以太坊整条链上的所有数据。这个节点的优势在于,Infura 是对外服务的,项目方或者交易平台其实完全可以自己部署节点,实现的功能和 Infura 完全一样,但是很麻烦,成本高。于是 Infura 的服务就有了市场。
在整个以太坊网络中,需要一种能够降低进入门槛并简化对以太坊数据访问的实用程序。其中最重要的是基础架构即服务(IaaS)产品,而在这方面较为领先的则是 Infura,它为跨行业的开发人员,DApp 团队和企业提供了一套工具,可将其应用程序连接到以太坊网络和其他去中心化平台。
Infura 是由开发者 Michael Wuehler 开发的以太坊基础设施,最开始时处于独立运营状态。在 2019 年被 ConsenSys 全资收购,变为其下业务部门。在推出之初 Infura 是免费使用的。随后推出了订阅服务,收费标准在每月 50 美元至 1000 美元不等。不过对于需求较小的开发者或者项目而言,Infura 还是十分友好的。开发者可以免费在 Infura 中创建 3 个项目,每日使用 Infura 的 API 服务提交 10 万次请求。
Infura 有什么用?
Infura 首席系统工程师 Nicola Cocchiaro 说:「我们的使命是促进以太坊的访问及其提供的机会。」他们确实已经实现了这个使命,远超预期。
以太坊许多知名的项目(MetaMask,Aragon,Gnosis,OpenZeppelin 等)都利用 Infura 的 API 将其应用程序连接到以太坊网络。作为以太坊生态中最大的 API 提供方,Infura 的存在的确让开发者方便了不少。
Infura 基础设施最著名的部分是托管的以太坊客户端网络,通过客户端兼容的 JSON-RPC,在 HTTPS 和 WSS 之上支持主网和测试网。以太坊节点只是 Infura 栈的一部分,同时他们还有 IPFS 的服务,不过在生态与以太坊天差地别,关注度自然也没那么大。
采用 Infura 的项目和公司
在 Infura 的官方网站上,律动发现有很多我们熟知的公司和项目都利用了 Infura 服务。例如,以太坊轻钱包 MetaMask 使用 Infura 的零客户端方式,连接 Infura 的远程基础设施,以服务超过数百万的用户。(律动注:MetaMask 除了使用 Infura 服务之外,也运行了自己的节点)
对于像谜链猫这种更看重可扩展性的项目来说,Infura 会与整个生态系统的开发人员合作,以保持网络的平稳运行。
当然,还有很多交易平台也采用了 Infura 的服务,例如 Upbit、Bithumb 等。其中也不乏一些去中心化协议,如 0x 和 MyCrypto 等都依赖 Infura 向以太坊主网广播交易数据和智能合约。
Infura 官网列出的一些客户案例
对于过于依赖 Infura 的担忧
目前以太坊全网节点 6300 个,Infura 曾经在 2018 年表示过,通过 Infura 接入以太坊网络的节点数占总节点数的 5-10%。随着维护节点的成本越来越大,这个比例现在只会更多。
这不是 Infura 第一次出现问题,2020 年 11 月,Infura 没有运行最新版本的 Geth 客户端,而某些特殊的交易触发了这个版本的客户端的 bug,随后 Infura 宕机了。
这被认为是 The DAO 后最严重的一次以太坊事故,虽然不是以太坊网络的问题,但当时 Infura 宕机造成的连锁反应几乎可以认为以太坊网络短时瘫痪:主流交易平台无法充提 ERC-20 的 Token,MetaMask 无法使用等等。
小问题也不断,今年 2 月,OpenSea、Uniswap 等平台又出现了问题,原因是 Infura 的流量激增宕机了。Infura 显然已经成为了这栋市值 3200 亿美元大厦的地基。
早在 2018 年,就已有开发者对于 Infura 表示出了担忧。Parity Technologies 的一位以太坊开发者 Afri Schoedon 表示,以太坊网络不能依赖 Infura 来处理每天 100 亿次请求。Schoedon 认为,过度依赖 Infura 将增加协议的中心化。
而除了项目方或者用户自己搭建节点,我们还有不少其他项目可以选择,比如 Alchemy,或者呼声甚高的 Pocket Network 等等,虽然不会让 Infura 的故障问题影响完全消失,但至少可以缩小。
我们并不是否定 Infura 的价值,Infura 对以太坊非常重要,但如果,有更多的节点激励方案,或者降低节点运行成本的解决方法出现,以太坊会更加完美,甚至要完美过 ETH2.0。