一、事件缘由
俄乌冲突,欧美对俄罗斯制裁。
3月4日,委内瑞拉MetaMask用户发现无法访问MetaMask钱包,因为Infura为响应美国对俄罗斯及乌克兰部分地区的制裁,而对Infura的API配置进行更改,但改错了。致使委内瑞拉用户无法通过MetaMask访问以太坊节点。
Infura发言人表示,作为一家美国公司,Infura密切关注美国的对外制裁计划,并严格调整其政策以遵守美国法律。受到制裁影响的地区包括伊朗、朝鲜、古巴、叙利亚和克里米亚、顿涅茨克和乌克兰卢甘斯克地区。?
其实此前就发生国多次因Infura故障导致Metamask无法使用的情况。比如,2月5日Infura宕机,导致用户无法通过MetaMask使用Dapps。
二、Infura部分客户
据Infura官网,目前使用Infura作为以太坊客户端API的主要应用如下:
金色数藏《小金库杯·夏日运动会》系列藏品15:00正式开售:9月9日消息,金色数藏《小金库杯·夏日运动会》系列数字藏品将于今日下午15:00正式开售,拥有优先购资格可以提前半小时购买。藏品包括飞盘、网球、高尔夫、游泳、篮球、足球、板球、壁球、壁球至尊版在内共9款,风格独特,雅俗共赏。本次发行将首次尝试盲盒玩法以及线下赋能,旨在以数字艺术焕新运动项目,推动体育领域数字生态布局。[2022/9/9 13:18:53]
但因为两个原因,1、Infura和Metamask均为Consensys旗下产品。2、Metamask覆盖最主要的以太坊用户群体,所以绝大多数以太坊用户是通过Infura和以太坊区块链交互的。
Infura原理如下:
来源:https://infura.io/product/ethereum
要了解Infura是如何让影响到Metamask的,需要了解一下以太坊的堆栈。
金色晨讯 | 11月15日隔夜重要动态一览:21:00-7:00关键词:Filecoin、锚定币、Value、BCH硬分叉
1.光明日报:数字货币有助于支付体系高效运行;
2.数据:以太坊链上锚定BTC的代币总量为153902枚;
3.近9000枚BTC在未知钱包间转移 价值约1.43亿美元;
4.Value DeFi协议遭受闪电贷攻击损失540万美元;
5.Roger Ver:BCH争议性硬分叉可能会阻碍PayPal支持BCH;
6.智利金融市场委员会公布一项金融科技法提案 涉及数字资产;
7.Filecoin主网Gas基础费率暴涨133万倍 矿工或需投入和销毁更多FIL;
8.?数据:美国监管机构目前已对加密货币公司征收至少1.98亿美元罚款;
9.比特币持续震荡,日内最低报15692.38美元,最高报16117.06美元。[2020/11/15 20:51:01]
三、以太坊堆栈
以太坊堆栈可抽象为5层,从下向上分别为:
第1级:以太坊虚拟机EVM
共为2020?| 金色财经CEO安鑫鑫:共话区块链行业下一个十年的发展与突破:金色财经现场报道,2020年6月21日,由金色财经主办的共为2020·区块链创新应用论坛在深圳拉开帷幕。本次会议由币核科技冠名赞助、HBTC作为战略合作企业。金色财经CEO安鑫鑫现场进行《共为·2020》欢迎致辞指出,2020注定是不平凡的一年,全球范围疫情席卷,打破了正常经济运行节奏,带来了巨大的不确定性,对许多行业造成了不同程度的冲击。困境逼迫我们进化。危与机并存,此时是危险的时刻,是生死攸关的时刻,更是测试决策能力的时刻,危中有机,在逆境寻找逆势上扬的机会。我们今天的大会主题叫“共为2020”,我们希望与更多同仁志士,共襄时势,共谋发展,创新突破,大有可为。本次大会围绕“区块链应用创新”这一方向,从洞察、破局、创新、抢滩四个纬度的10个热点话题展开深入探讨,共话区块链行业下一个十年的发展与突破。更多详情见原文链接。[2020/6/21]
以太坊虚拟机EVM是以太坊智能合约运行时的环境。以太坊区块链上的所有智能合约和状态变化都是通过交易来执行的。EVM处理以太坊网络上的所有交易处理。
金色财经挖矿收益播报丨矿工电费成本缩减 对冲减半损失:金色财经报道,据OKEx矿池数据显示,今日BTC全网算力约91.27EH/s,全网难度约15.14T,BTC当前块高631859。
随着丰水期的来临,多低电费已经下调,矿工电费成本的缩减一定程度上对冲了减半带来的受益损失,使得一部分过度机型得以从新开机。当前BTC收益(PPS):0.00000831BTC/T/天。预测下次难度13.03T(-9.16%),距离调整还剩还有14天。[2020/5/27]
与任何虚拟机一样,EVM在执行代码和执行机器之间创建了一个抽象级别。目前,EVM运行在分布在世界各地的数千个节点上。
在底层,EVM使用一组操作码指令来执行特定任务。目前有140个唯一的操作码,这组操作码确保EVM图灵完备。图灵完备的意思是只要有足够资源,EVM几乎可以计算任何东西。
作为dapp开发人员,不需要对EVM有太多了解,只要它存在并且它可靠地为以太坊上的所有应用程序提供动力而无需停机。
第2级:智能合约
智能合约是在以太坊区块链上运行的可执行程序。使用特定编程语言Solidity编写,然后编译为EVM字节码,EVM字节码也就是上文的操作码,是一种低级机器指令。
金色财经独家分析 联盟链在行业内平衡效率与信任:今日业界人士指出“供应链的1.0是线下的核心企业主导的1+N模式,供应链的2.0是线上的核心企业主导的1+N模式,而是用区块链的供应链3.0是更大的产业整合的N+N模式”的观点实际上很好的解读了联盟链的特点。在某个特定领域中,联盟链很好的促进了行业细分的发展。因为需要建立信任的各方圈子固定,领域一致,联盟链将很好地处理特定问题。多中心化体现出区块链的优势,大企业N+N的模式,利用多个大企业的良好信用建立更大的信任,对原有的信任体系进行了很大的改进与升级。[2018/4/20]
智能合约不仅是开源的库,本质上是开放的API服务,始终在以太坊上运行且无法关闭。智能合约提供了用户无需许可即可和Dapp交互的功能。这也意味着可组合性,任何应用程序都可以与已部署的智能合约集成以组成新功能。任何人都可以将新的智能合约部署到以太坊,以添加自定义功能以满足其需求。
第3级:以太坊节点
为了让Dapp与以太坊区块链交互,它必须连接到以太坊节点。连接到节点后,你才能读取区块链数据或者将交易发送到网络。
以太坊节点是运行以太坊客户端软件的计算机。客户端是以太坊的一种实现,它验证每个区块中的所有交易,保持网络安全和数据准确。以太坊节点共同存储以太坊区块链的状态,并就交易达成共识以改变区块链状态。
Dapp通过JSON-RPCAPI连接到以太坊节点或者自己的以太坊节点,Dapp能够从区块链读取数据以及向网络广播新交易。
第4级:以太坊客户端API
由于以太坊全节点太大以及带宽要求,很多Dapp开发者不会自己安装以太坊全节点,市场上出现许多由以太坊开源社区或者专业服务商构建和维护的以太坊客户端API,允许Dapp连接到以太坊区块链并与之通信。这些API抽象出直接与以太坊节点交互的大部分复杂性,开发人员可以花更少的时间处理复杂的以太坊客户端,而将更多时间专注于特定功能。
如果面向用户的是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
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。