11 月 11 日,因以太坊和 IPFS 的 API 服务供应商 Infura 宕机,导致 MetaMask 数据显示延迟,交易平台 ETH 与 ERC20 代币充提服务受到影响。这一消息立刻引起了社区热议,截止发稿时,受影响的交易平台已逐步恢复,Infura 主节点也已修复。
虽然开发者和资深业内人士对于 Infura 都有所了解,但不少用户对于 Infura 还较为陌生,因此律动将在本文为读者简单介绍一下Infura。
专业一点讲,Infura 是一种 IaaS(Infrastructure as a Service)产品,目的是为了降低访问以太坊数据的门槛。通俗一点讲,Infura 就是一个可以让你的 DApp 快速接入以太坊的平台,不需要本地运行以太坊节点。
从程序员的角度讲,Infura 就是一个 Web3 供应商 ,背后是负载均衡的 API 节点集群。除此之外,Infura 还可以很方便地接入 IPFS,这是另外一个话题,这里就不讨论了。
在整个以太坊网络中,需要一种能够降低进入门槛并简化对以太坊数据访问的实用程序。其中最重要的是基础架构即服务(IaaS)产品,而在这方面较为领先的则是 Infura,它为跨行业的开发人员,DApp 团队和企业提供了一套工具,可将其应用程序连接到以太坊网络和其他去中心化平台。
Infura 是由开发者 Michael Wuehler 开发的以太坊基础设施,最开始时处于独立运营状态。在 2019 年被 ConsenSys 全资收购,变为其下业务部门。在推出之初 Infura 是免费使用的。随后推出了订阅服务,收费标准在每月 50 美元至 1000 美元不等 。不过对于需求较小的开发者或者项目而言,Infura 还是十分友好的。开发者可以免费在 Infura 中创建 3 个项目,每日使用 Infura 的 API 服务提交 10 万次请求。
Infura可以促进对 Web3 的访问。
Web3 许多最杰出的项目(MetaMask,Aragon,Gnosis,OpenZeppelin 等)都利用 Infura 的 API 将其应用程序连接到以太坊网络。Infura 提供了处理代币启动期间经常出现的短期峰值所需的基础设施服务、以及必要的、长期的扩展解决方案。
Infura 首席系统工程师 Nicola Cocchiaro 说:「我们的使命是促进以太坊的访问及其提供的机会。」
「Infura 本质上为任何应用程序提供了必要的工具,使其可以立即在以太坊上开始开发,而无需自己运行复杂的基础架构,」产品负责人 Mike Godsey 说。 「 Infura 为所有使用以太坊区块链的开发人员提供了连接。」
Infura 基础设施最著名的部分是托管的以太坊客户端网络,通过客户端兼容的 JSON-RPC,在 HTTPS 和 WSS 之上支持主网和测试网。以太坊节点只是 Infura 栈的一部分:「我们还建立了第一个公共 IPFS API 和网关,与我们的以太坊 API 一起构建我们的 Web3 开发套件的基础。 」 Cocchiaro介绍到。
Infura 的模块化扩展解决方案可为任何正在或预期通过以太坊网络,推动大流量的项目释放必要的网络容量。「随着区块链的不断发展,保持本地节点同步并保持最新状态通常会给项目方带来挑战,这些挑战通常与存储,带宽和内存使用情况的组合有关,」Cocchiaro 说。「此外,高流量 DApp 还涉及扩展性,有时是暂时的,有时是更永久的,这在本地基础架构中很难解决。」
在 Infura 的官方网站上,律动发现有很多我们熟知的公司和项目都利用了 Infura 服务。例如,以太坊轻钱包 MetaMask 使用 Infura 的零客户端方式,连接 Infura 的远程基础设施,以服务超过数百万的用户。(律动注:MetaMask 除了使用Infura服务之外,也运行了自己的节点)
对于像谜链猫这种更看重可扩展性的项目来说,Infura 会与整个生态系统的开发人员合作,以保持网络的平稳运行。
当然,还有很多交易平台也采用了 Infura 的服务,例如 Upbit、Bithumb 等。其中也不乏一些去中心化协议,如 0x 和 MyCrypto 等都依赖 Infura 向以太坊主网广播交易数据和智能合约。
Infura 官网列出的一些客户案例
早在 2018 年,就已有开发者对于 Infura 表示出了担忧。Parity Technologies 的一位以太坊开发者 Afri Schoedon 表示,以太坊网络不能依赖 Infura 来处理每天 100 亿次请求。Schoedon 认为,过度依赖 Infura 将增加协议的中心化。
虽然像今天这样出现 Infura 宕机,导致部分平台和钱包受到影响的情况是小概率事件。但是一旦出现,将会对项目及用户产生较大影响,尤其如果正值行情出现大波动时期,或会造成资产损失。因此,也有不少开发者建议项目或交易所运行自己的独立节点。
参考资料:
《 Why Infura Is the Secret Weapon of Ethereum Infrastructure 》
《Dev: Ethereum May Fail if it Relies on Infura to Run Nodes, Potential Solution》
《Infura:一键接入以太坊》