一、事件缘由
俄乌冲突,欧美对俄罗斯制裁。
3月4日,委内瑞拉MetaMask用户发现无法访问MetaMask钱包,因为Infura为响应美国对俄罗斯及乌克兰部分地区的制裁,而对Infura的API配置进行更改,但改错了。致使委内瑞拉用户无法通过MetaMask访问以太坊节点。
Infura发言人表示,作为一家美国公司,Infura密切关注美国的对外制裁计划,并严格调整其政策以遵守美国法律。受到制裁影响的地区包括伊朗、朝鲜、古巴、叙利亚和克里米亚、顿涅茨克和乌克兰卢甘斯克地区。?
其实此前就发生国多次因Infura故障导致Metamask无法使用的情况。比如,2月5日Infura宕机,导致用户无法通过MetaMask使用Dapps。
二、Infura部分客户
据Infura官网,目前使用Infura作为以太坊客户端API的主要应用如下:
金色晚报 | 5月6日晚间重要动态一览:12:00-21:00关键词:波卡、Coinbase、Nuvei、Bullish
1. 波卡发布新版本Polkadot v0.9.0,将平行链部署到 Kusama 上
2. 互联网自动化平台IFTTT已支持接入Coinbase个人交易数据
3. 支付处理巨头Nuvei将以2至2.5亿美元收购加密货币初创公司Simplex
4. IBM发布领先业界的2nm芯片制程,声称这是世界首创
5. 疑为Block.one新项目Bullish页面已上线
6. 澳洲联储副主席:加密货币在价格变动方面与黄金有很多共同点[2021/5/6 21:30:50]
但因为两个原因,1、Infura和Metamask均为Consensys旗下产品。2、Metamask覆盖最主要的以太坊用户群体,所以绝大多数以太坊用户是通过Infura和以太坊区块链交互的。
Infura原理如下:
分析 | 金色盘面:BTC期货合约持仓变化:金色盘面综合分析: 据OKEX数据显示,目前做多账户57%,做空账户42%,多头持仓比例29.05%,空头持仓比例18.66%,从数据看,目前做多账户大幅减少,市场空头开始转强,做空能量尚未消失。截止发稿,季度BTC0928合约价格为6995美元,现货价格为6994美元,升水1美元,请投资者注意做好风控。[2018/9/6]
来源:https://infura.io/product/ethereum
要了解Infura是如何让影响到Metamask的,需要了解一下以太坊的堆栈。
三、以太坊堆栈
以太坊堆栈可抽象为5层,从下向上分别为:
第1级:以太坊虚拟机EVM
以太坊虚拟机EVM是以太坊智能合约运行时的环境。以太坊区块链上的所有智能合约和状态变化都是通过交易来执行的。EVM处理以太坊网络上的所有交易处理。
与任何虚拟机一样,EVM在执行代码和执行机器之间创建了一个抽象级别。目前,EVM运行在分布在世界各地的数千个节点上。
在底层,EVM使用一组操作码指令来执行特定任务。目前有140个唯一的操作码,这组操作码确保EVM图灵完备。图灵完备的意思是只要有足够资源,EVM几乎可以计算任何东西。
分析 | 金色盘面:EOS 4浪调整已近尾声:金色盘面综合分析:EOS 经过调整,目前在支撑线企稳,如果不再出现新低,后面有望展开5浪上攻,但要注意成交量的变化,防止失败走势。[2018/8/19]
作为dapp开发人员,不需要对EVM有太多了解,只要它存在并且它可靠地为以太坊上的所有应用程序提供动力而无需停机。
第2级:智能合约
智能合约是在以太坊区块链上运行的可执行程序。使用特定编程语言Solidity编写,然后编译为EVM字节码,EVM字节码也就是上文的操作码,是一种低级机器指令。
智能合约不仅是开源的库,本质上是开放的API服务,始终在以太坊上运行且无法关闭。智能合约提供了用户无需许可即可和Dapp交互的功能。这也意味着可组合性,任何应用程序都可以与已部署的智能合约集成以组成新功能。任何人都可以将新的智能合约部署到以太坊,以添加自定义功能以满足其需求。
第3级:以太坊节点
为了让Dapp与以太坊区块链交互,它必须连接到以太坊节点。连接到节点后,你才能读取区块链数据或者将交易发送到网络。
以太坊节点是运行以太坊客户端软件的计算机。客户端是以太坊的一种实现,它验证每个区块中的所有交易,保持网络安全和数据准确。以太坊节点共同存储以太坊区块链的状态,并就交易达成共识以改变区块链状态。
金色财经现场报道 越南司法部Le Ngoc Giang: 区块链增加了透明度并且降低成本和欺诈:金色财经现场报道,在火币Pro举办的越南Blockchain Festival千人大会上,越南司法部、法律政策专家Le Ngoc Giang先生以《越南区块链行业发展之路》为主题进行了演讲,他指出: 区块链增加了透明度并且降低成本和欺诈。可以通过数据控制和优化来实现区块链的解决方案,通过可信支付布局区块链。但挑战是消费者数据的质量和数量仍然很低,在发展中地区,仍然依赖于使用技术手段的旧技术并且可能有20亿人没有银行账户。我们仍处于区块链的早期阶段,其优势在于,区块链使得很多不可能成为可能,而且不需要第三方破坏数据的完整性。区块链本身不是解决方案,但它可以解决问题。对于企业来说,要积极主动而不是被动构建。对于政策制定者来说,要给新技术空间,但要清楚风险所在。[2018/5/24]
Dapp通过JSON-RPCAPI连接到以太坊节点或者自己的以太坊节点,Dapp能够从区块链读取数据以及向网络广播新交易。
第4级:以太坊客户端API
由于以太坊全节点太大以及带宽要求,很多Dapp开发者不会自己安装以太坊全节点,市场上出现许多由以太坊开源社区或者专业服务商构建和维护的以太坊客户端API,允许Dapp连接到以太坊区块链并与之通信。这些API抽象出直接与以太坊节点交互的大部分复杂性,开发人员可以花更少的时间处理复杂的以太坊客户端,而将更多时间专注于特定功能。
今晚8点袁煜明将做客《金色讲堂》 深入解读“什么是区块链思维”:今晚20:00,火币区块链应用研究院院长袁煜明将做客《金色讲堂》深入解读“什么是区块链思维”。袁煜明将从股份制的种种弊端出发对区块链的出现给行业所带来的改变进行一一讲解。同时,袁煜明还会对区块链机制目前所存在的问题进行全方位的解读。详情请关注今晚8:00的《金色讲堂》。[2018/4/10]
如果面向用户的是Web应用程序,可以直接在前端选择JavaScriptAPI或者选择使用Python或JavaAPI在服务器端实现。
第5级:终端应用程序
最顶层是面向用户的App。这和互联网开发的标准程序一样,主要是Web和移动App。
四、web3架构
前端代码需要签名以及和以太坊上的智能合约通信;签名需要用到钱包,最多的是Metamask;签名后信息广播到以太坊上有两种方式:1、自己运行的以太坊区块链节点;2、使用Infura、Alchemy和Quicknode等第三方服务提供的节点。
所以一个以太坊上的Dapp的典型架构如下:
所以如果Infura拒绝特定地区IP地址的用户,那么他的交互将被排除在以太坊网络之外。
因为Metamask的以太坊客户端API默认用的是Infura,这也意味着这些地区的用户使用Metamask无法和Dapp交互。但Metamask毕竟是去中心化自我托管的,所以用户还可以用选择使用其他以太坊客户端API的钱包甚至自己的以太坊客户端,来和以太坊区块链上的智能合约交互。
因此Infura拒绝特定地区用户并不能说明以太坊已经中心化了,只能说明在某些环节中心化了,尤其考虑到Infura和Metamask均为Consensys旗下产品。
五、其他以太坊客户端API
下述是除了infura之外的以太坊客户端API,其中Dapp应用比较多的是Alchemy和QuikNode。
Alchemy-?EthereumDevelopmentPlatform
使用Alchemy的应用
QuikNode-?Blockchaindeveloperplatform.
使用QuickNode的应用或者服务
BlockCypher-?EthereumWebAPIs
CloudflareEthereumGateway.
DataHubbyFigment-?Web3APIserviceswithEthereumMainnetandtestnets.
Nodesmith-?JSON-RPCAPIaccesstoEthereumMainnetandtestnets.
Ethercluster-?RunyourownEthereumAPIservicesupportingbothETHandETC.
Chainstack-?SharedanddedicatedEthereumnodesasaservice.
PythonTooling-?VarietyoflibrariesforEthereuminteractionviaPython.
web3j-?AJava/Android/Kotlin/ScalaintegrationlibraryforEthereum.
Rivet-?EthereumandEthereumClassicAPIsasaservicepoweredbyopensourcesoftware.
Nethereum-?Anopensource.NETintegrationlibraryforblockchain.
Tatum-?Theultimateblockchaindevelopmentplatform.
Watchdata-?ProvidesimpleandreliableAPIaccesstoEthereumblockchain.
Zmok-?Speed-orientedEthereumnodesasJSON-RPC/WebSocketsAPI
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。