以太坊开发人员再一次推迟硬分叉升级,这次是“柏林”。那么,为什么以太坊又双叒叕推迟升级了呢?下面就让金色财经和大家一起来解读一下。
目前,依赖以太坊客户端Geth的用户数量非常多,以至于只要该客户端出现漏洞,就有可能暂时冻结以太坊网络——而这,似乎与区块链去中心化的核心思想有所冲突。鉴于此,以太坊核心开发人员在上周五决定将“柏林”硬分叉叉的开发工作至少推迟到八月,这么做的目的只有一个,即:让以太坊其他客户端有机会增加自己的网络份额。
根据EtherNodes的说法,Geth客户端只是以太坊旗下11个规范客户端中的一个,但是竟然有79%的以太坊节点在这个客户端上面运行。自2019年12月以来,Geth客户端在以太网网络内的客户端数量占比增长了5%。对此,开发人员开始担心一旦Geth客户端出现严重漏洞就极有可能会破坏整个以太坊——特别是在以太坊网络计划过渡到Eth2.0下的权益证明共识算法之前,会持续对Eth1.x进行滚动更新。
上周五,Geth团队负责人佩特·西拉吉在以太坊核心开发者小组电话会议上表示:
“以太坊网络中的大多数人都使用了Geth客户端,这么做当然无可厚非,但有一点至关重要,那就是我们不能承受不正确的后果。”
以太坊编程语言
毫无疑问,拥有多样化的客户端对以太坊网络来说是有利的。从最小的创业公司到摩根大通这样的大企业,以太坊允许不同的项目加入开发者社区。以太坊于2015年推出,一年后就在完整性的不同级别上支持了八种编程语言。以太坊基金会目前以五种编程语言开发客户端,包括Go、Solidity、Java、JavaScript和Python。
但是,就像人类的语言一样,每种编程语言都有其细微差别,因此在客户端实现方面也存在缺陷。当以太坊开发人员进行更新时,这些细微差别可能会变成令人讨厌的错误。
独立开发人员阿列克·谢诺夫在一次私人聊天中表示:
“的主要原因,是以太坊社区希望减少对Geth客户端的依赖,最终目标是要确保即便Geth客户端出现问题,也不会破坏整个以太坊网络。由于确保Geth客户端正确运行非常重要,所以目前以太坊开发人员的工作负担变得非常重,他们需要要完成大部分工作以确保一切正常。”
随着ParityTechnologies在2019年12月宣布以太坊网络弃用ParityEthereum客户端,以太坊对Geth客户端的依赖似乎越来越严重了。当时Parity团队在其官方博客发文中写道:
“Parity客户端已经无法获得所需的资源,不仅无法投入到后续开发,甚至连简单维护工作都难以为继。”
Parity以太坊客户端项目的代码库现在已移交给由ConsenSys衍生公司Gnosis资助的去中心化自治组织。现在,该项目以“开放以太坊”的名称运行。根据WebArchive的数据显示,自2019年12月以来,该客户端已经丢失了近60%的节点。
多元化的以太坊客户端
Gnosis创始人马丁·科珀尔曼在发布的一条私人消息中说道:
“在理想情况下,以太坊应该拥有多个客户端,而且每一个客户端的市场份额都不应该超过33%。虽然Parity——也就是开放以太坊确实达到了运行以太坊客户端所要求拥有的节点数量,但我们并不认为节点数量下降是有问题的。恰恰相反。当Gnosis确认接管开放以太坊客户端的时候,我们的市场份额为0。”
不管马丁·科珀尔曼对开放以太坊客户端的热情如何,Geth团队负责人佩特·西拉吉的担忧仍然值得关注。由于庞大的市场占有率,想要让个人用户、企业、或是交易所删除Geth以太坊客户端是非常困难的,然而一旦Geth客户端出现技术问题,这种严重依赖性就会导致致命问题。
币情观察室 | BTC阴跌不止,熊市来了吗?:11月22日10:40,金色盘面邀请保罗大帝、金色盘面特约分析师无人区、扬帆起航、Homily、CallmePope、大鱼之旅、九哥蜜柚、比特币道、段弈、岳在其中—半木夏BTC、兔子希、区块链威廉、狙神、币圈星际牛仔、MAX 首席、老俞说币、谈币论金、币圈新势力、不凡看币、牛七的区块链分析记、比特币羊皮等二十多位行情大咖做客金色财经《币情观察室》,共同讨论BTC阴跌不止,熊市来了吗?敬请关注,扫描海报二维码即可观看直播![2019/11/22]
那么,为什么以太坊网络会如此会暴露出对Geth客户端的严重依赖问题呢?答案正是Eth2.0启动过于缓慢。一旦硬分叉遇到一个或多个问题,Eth2.0研究人员每次都会同意延迟升级,然后与各种各样的客户端开发人员开会讨论问题,以防止任一客户端在升级之后出现问题。
ICX Token发现交易控制Bug,移入评级观察列表:6月16日,在币安、OKex、火币等著名交易所都有上线交易的ICX币发现Bug,该项目的官方github仓库中有人提出一个使得transfer功能失效的Bug,任何人都能随意开启和关停合约的主要功能(包括转账,授权和烧币)。
安比(SECBIT)实验室对该合约代码进行分析指出,合约中存在一个变量isTokenTransfer,当该变量为true时,合约中所有的账户(被锁定的账户除外)才可以进行转账、授权他人转账和烧币等操作,但其在onlyFromWallet中的判断条件却写反了,也就是说,除了walletAddress以外,所有账户都可以调用enableTokenTransfer和disableTokenTransfer函数,开关Token的交易相关功能。
经过与项目方接触,对方已经采取措施,保护交易不受影响,同时也在积极修复此Bug。虽然该Bug使得任何人都可以操控合约中转账,授权和烧币功能的开启和关停,可能会导致这部分功能暂时无法正常使用,但并不会影响对账户本身的安全造成实质性的影响。
评级机构TokenInsight决定将ICX移入观察列表,待定观察,ICX目前评级为BBB。
Bug原始出处点击\"原文链接\"[2018/6/16]
相比之下,比特币和大多数其他加密货币的升级效率要高得多,至少不像以太坊这样需要与那么多客户端进行沟通协调。不得不说,以太坊现在的确遇到了一些束缚:如果想要100%正常运行,就需要取决于其项目复杂,但同时他们有需要在每六到十二个月滚动进行一次硬分叉。
相比之下,比特币和大多数其他加密货币的使用频率并不高,或者运行的应用程序数量不多。以太坊面临一些束缚:100%的正常运行时间取决于它的项目负载,但每6到12个月滚动一次硬分叉。
问题源自Geth客户端过于倦怠吗,或许不是?
需要注意的是,如何吸引以太坊用户使用其他客户端、以减弱Geth客户端的市场领导力,似乎一直是个悬而未决的问题。
以太坊开发人员格雷格·科尔文在开发人员电话会议中表示,吸引以太坊用户使用其他客户端已经成为一个业务问题,不太可能通过开发人员计划来解决。事实上,项目可以选择与市场占比较小的客户端合作,因为他们有Geth客户端无法解决的迫切需求,例如代码未开源等等。可话虽如此,据格雷格·科尔文透露,Geth客户端一直在试图招募用更多的员工,目的很可能就是希望进一步巩固市场“统治地位”。
暂停测试“柏林”硬分叉升级的以太坊改进提案是开发人员的一种选择,尽管如此,正如Geth团队负责人佩特·西拉吉所说,为了确保以太坊客户端能够24/7全天候稳定运行,其实已经耗尽了其团队很多精力和资源。
2020年6月,佩特·西拉吉透露以太坊测试客户端Geth最新版本即将发布,新版本中将会添加一个功能,即手续费大于1ETH的交易将会被拒绝。“有趣”的是,六月初Geth还专门为“柏林”升级发布了最新版本1.9.15,除了常规修复漏洞之外,本次更新中已经实现了下一次硬分叉升级“柏林”已经规划的所有改进提案,针对这些EIP的临时测试网络Yolo也已经上线。但现在看来,反而是以太坊社区“出尔反尔”,担心Geth的中心化问题而延迟升级。
如果一切顺利的话,希望以太坊能够如其计划的那样,在今年八月实施“柏林”硬分叉升级,但到时候还会有其他状况发生吗?就让我们拭目以待吧。
本文部分内容编译自coindesk
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。