木星链 木星链
Ctrl+D收藏木星链
首页 > Polygon > 正文

ETH:观点 | 五问以太坊:客户端多样性问题从何而来?如何解决?

作者:

时间:1900/1/1 0:00:00

最近举行的第90期核心开发者会议几乎全程都在讨论一个问题。我强烈建议大家亲自听一下这场会议。

在这场会议上,Alexey提出了客户端开发者负荷过重的问题。虽然我认为这场讨论是一个重要的开始,但是我们太急于寻求解决方案了,充分理解这个问题才是当务之急。重要的是,我们需要花点时间来分析问题。在问题内涵的分析上,“五问法”是最简单有效的方法之一。

事不宜迟,先来看看第一问是什么。

第一问:为什么Geth开发团队的压力如此之大,甚至到了超负荷的地步?

通过etherscan,我们可以看到各个客户端的装机量所占份额的统计数据如下所示:

Geth:75%

Parity&OpenEthereum:20%

Nethermind:1%

剩下4%由一些市场份额不到1%的客户端组成,因此忽略不计。

重要的是,有超过51%的算力都集中在Geth客户端上。假设在即将到来的柏林硬分叉中,Geth在实现其中一个EIP时出现了bug。即使这个客户端的其它实现都没出bug,只要有区块碰上了这个bug,就会导致以太坊网络分叉。按理来说,这个区块是无效的,其他客户端也会将其视为无效块。但是,有超过51%的挖矿节点都运行的Geth客户端,因此整个网络都会被带到错误的分叉链上去。

观点:社交代币可以成为下一个连接非加密货币用户的桥梁:金色财经报道,Swarm副总裁Daniel Nagy在接受采访时表示,社交代币具有重大的颠覆性潜力。他说:“如果做得好,它们可以把社区带到下一个层次,我们在这个领域看到更多的创新只是时间问题,很可能与DAO或GameFi有关,与所谓'灵魂绑定代币'的想法相结合。”

Nagy认为,现在仍处于早期阶段,实验是关键,但随着采用率的增加,社交代币可以成为下一个连接非加密货币用户的桥梁,并将区块链进一步带入主流,类似于NFT所做的。(Cointelegraph)[2022/10/10 12:51:27]

这就要求Geth客户端和开发团队绝对不能犯错。

因此,第一问的答案是:

因为以太坊网络的客户端缺乏足够的多样性。

值得一提的是,客户端多样化不会突然将客户端开发变成一项轻松的工作。但客户端多样性本身依然是一个值得探索的领域,有助于我们找到提高客户端开发的效益,同时减轻开发团队负担的方法。不可否认的一点是,只在Geth团队上下功夫不太可能解决这个问题。

观点:数字人民币将加速融入生活:4月3日消息,中国人民银行公布已于3月31日召开的数字人民币研发试点工作座谈会上,宣布有序扩大数字人民币试点范围:增加天津市、重庆市、广东省广州市、福建省福州市和厦门市、浙江省承办亚运会的6个城市作为试点地区,北京市和河北省张家口市在2022年北京冬奥会、冬残奥会场景试点结束后转为试点地区。

专家认为,数字人民币扩大试点的时机已经成熟,有序增加试点地区正当其时。目前,数字人民币已在批发零售、餐饮文旅、政务缴费等领域形成一批涵盖线上线下、可复制可推广的应用模式,随着试点范围的扩大,数字人民币将加速融入百姓生活。(经济日报)[2022/4/3 14:01:45]

第二问:为什么以太坊网络缺乏客户端多样性?

以太坊主网上线时,我们有多个客户端。其中最主要的两个是Geth和CPPEthereum。之后又出现了Parity,CPPEthereum被淘汰。

从那时起,除了Parity之外,没有一个客户端能获得较大的市场份额。去年,Nethermind异军突起,成为了一颗冉冉上升的新星,但是目前只占据了1%的市场份额。最近,由于Parity遭遇了一些波折,前途一片黯淡,Parity的市场份额大幅下降。我们认为,在理想情况下,以太坊网络需要有3个及以上的客户端、每个客户端占有的客户端份额都不至于太高、没有任何一个客户端能占据远远超过51%市场份额。虽然在理想情况下应该实现客户端多元化,但是我们已经习惯了客户端霸权的局面。

观点:当前的情况下,比特币可能接近中期高位:BK Asset Management分析师Schlossberg:比特币的近期上涨可能是短暂的,但加密货币的总体涨势将会持续很长时间。当前的情况下,比特币可能接近中期高位。[2021/4/2 19:40:57]

那么,我们为什么需要多个客户端?

从我个人的经验角度来看,构建以太坊客户端难比登天。Geth之所以能在以太坊网络上稳定运行,是因为它引入了很多复杂的优化。Geth团队花费了数年时间才达到了如此高的复杂度,目前仍在继续优化中。

有人可能会立即建议我们想办法为落后的客户端提供支持和帮助。我很警惕这种“人月神话”式的解决方案——在软件开发过程中,让更多工程师来解决一个难题很少会成功,而且我不指望这种方案会取得成功。

相反,我认为应该将关注点放在复杂性上。

注:人月神话,mythicalman-month,指出以大量人员和较短的时间,并不能缩短软件的开发进度。一窝蜂的作业方式无助于软件生产,且会制造麻烦,产生出更差的软件。向进度落后的项目追加人力,只会使进度更加落后。

观点:印度最终将成为加密货币的主要市场:印度最高法院此前撤销印度储备银行(RBI)加密禁令。然而,似乎并非所有的银行都在遵守新规定,仍有银行拒绝为加密相关公司提供服务。Exiom首席执行官Dileep Seinberg称,在全球范围内,采用新技术并了解其(对金融科技尤其是银行)影响一直是挑战。西方世界花了一些时间来理解区块链技术对银行业的影响,以及新货币将如何发挥作用。他仍然乐观,尽管印度在监管方面采取保守态度,印度将成为加密货币的主要市场,正如人们在支付钱包行业看到的那样。加密货币的采用将会很快发生,“印度只是在等待正确的推动。”印度区块链传道者和新兴技术顾问Sharat Chandra称,印度银行正在等待RBI就与加密相关交易发表官方消息。商品和服务税(GST)委员会可能会将加密货币纳入其范围,作为增加收入的手段。加密公司应继续采取法律手段,迫使银行遵循最高法院的裁决。在短期内,加密支付将变得更容易接受。“在新冠肺炎之后,数字和加密相关支付将占据主导地位。越来越多银行开始对CBDC感兴趣。我坚信RBI将摆脱抑制,加入其他央行的行列,通过利用数字货币进一步推动金融包容的事业。”(Cointelegraph)[2020/5/8]

第三问:为什么构建以太坊客户端会这么难?

比特币共识大会第三天观点汇总:1、Square首席执行官Jack Dorsey:数字货币是未来的发展方向。互联网理应拥有一个原生货币,且它将拥有一个原生货币,我希望它会是比特币。使用比特币或其他加密货币作为全球货币,将降低Dorsey’s payments进入新市场的障碍。Dorsey对 Lightning Labs CEO表示:“我们想要回到最初的想法——用比特币购买咖啡,这就是我们与你们合作的原因。”2、Coinbase的CTO Balaji Srinivasan称,目前像微软这样的公司正在密切关注数字货币行业。目前有三种类型的投资者入场,投资者数量正在迅速增加,第一波组是数字黄金,第二波是智能合约,我认为第三波将是小额支付。3、Ledger CEO Eric Larcheveque称,计划启动机构加密交易。他表示:“如果想扩大加密交易的规模,不能单靠区块链。”4、Union Square Ventures合伙人Fred Wilson认为,现在的一些加密货币在十年后会变得令人感到惊讶。此外,他还表示价值是在代币中的,而非建立在这些加密货币之上的企业中。[2018/5/17]

现在,我们正越来越接近问题的根源。

事实证明,大部分困难都来自于组网协议,即以太坊客户端软件用于相互连接并分享区块链信息的那一组工具。以太坊的组网规则,最终影响甚至决定了以太坊客户端的设计和要求。

一些组网工具指定了未经优化的架构,甚至要求以太坊客户端运行不必要的功能。客户端开发者需要在这些限制下工作。

第四问:为什么网络互联协议提高了客户端实现的难度?

我相信,这个问题的答案基本上可以分为两个部分。

状态管理

整体网络互联要求

就状态管理而言,以太坊客户端必需能够同步网络上的完整状态,并维护该状态的本地副本。这两点都很难做到。对客户端以及读取并处理状态要求的服务器来说,同步状态需要提出数百万个请求,并且会导致磁盘I/O饱和。新同步的状态需要经过维护和删减,以便数据库能足够快地执行新区块。从工程上来说,这是一项严峻挑战!

GetNodeData是我们用来同步状态的唯一网络互联工具,针对特定的状态数据库格式进行了优化。由?TurboGeth?推广的“扁平式”数据库布局在状态维护方面具有极大的性能优势,但是使用这种布局会加大?GetNodeData?请求的处理难度。

一旦我们将注意力转向网络技术,尤其是DevP2P?ETH?协议,我们会发现还有其他因素提高了客户端的复杂性。要想加入这个网络,客户端需要具备以下能力:

处理访问最近区块所生成的状态的?GetNodeData?请求;

处理访问链上数据历史记录的请求,包括区块头、区块体和收据。

从根本上来说,对于许多客户端操作而言,处理这些请求所需的基础数据不是必需的,但是现在却强制它们支持这些功能。这就需要所有客户端在除了满足自己本身的需求之外,还要另外构建大量功能。例如,主要作为交易发送网关的客户端并不需要历史链上数据,可能只需要一个很小的状态子集。但是,就当前的以太坊版本而言,客户端依然需要保存完整的副本。

第五问:为什么……

看来我只问了四个“为什么”就找到了根本原因。以太坊协议还没有完全成熟。在设计以太坊协议时,我们并没有意识到现如今发现的大多数问题,或者因为当时状态规模较小、发展历史较短,这些问题还不成问题。

解决方案

过去一整年,我都在关注这个问题。令我震惊的是,以太坊上许多问题的根源其实都可以追溯到网络层。

或许最明显的例子是,磁盘I/O历来都是客户端的一个瓶颈。这个瓶颈之所以存在,是因为客户端倾向于使用树结构的朴素表示来执行其状态数据库。状态数据库的构建方式由?GetNodeData?网络元件决定。

为了解决这个问题,我们需要对以太坊共识层以及网络层的各个部分进行检修。目前,检修工作已经启动。大量工作已经在Alexey和我共同领导了8个月的“无状态以太坊”名义下开展。我们所做的一些工作至少减轻了Geth团队的负担,因为他们用上自己开发了经年之久的SNAP同步协议。还有一部分工作需要深入理解这个问题并想到可行方案的才俊来承担。

目前,这样一个庞大的DevP2P?ETH?协议尚未完全解构。我们对于如何将这个网络拆分成三个独立的专用网络有了基础了解,但是目前还没有人直接着手这块。

另外,还有像?re-genesis?之类的想法,提供了完全回避这些问题的机制。这是一种激进的方法,如果能成功的话,或将为我们带来很大的优势。

首先,我们应该清楚的是,以太坊网络还有许多艰巨的任务需要完成,只有少数人能够胜任这些任务。虽然每天都有越来越多的开发者参与进来,但是他们需要投入时间和精力来学习必备技能。客户端开发者在专注于解决日常用户看不到的底层问题时,还要抽出时间来开发新的EVM功能。

如果我们希望以太坊网络能够取得长远的成功,我认为整个社区都要就解决这些问题展开合作,给予其根本原因足够的关注和讨论。最重要的是,我们要携手打造出有效的技术解决方案。

原文链接:?https://snakecharmers.ethereum.org/applying-the-five-whys-to-the-client-diversity-problem/作者:?PiperMerriam翻译&校对:?闵敏&阿剑

标签:ETH以太坊GETGETHETHB Lendpeople币对标以太坊togetherbnb中文版下载togetherbnb中文版下载

Polygon热门资讯
AMPL:单日暴跌60%,崩盘4次的AMPL,这次还能回来吗?

转自:小吒闲谈DeFi中别具一格的“三无产品”AMPL崩盘了,无资产抵押、无固定总量、无稳定性的稳定币,一天之内价格跌了60%,在uniswap中的资金池也是蒸发了近1800万美元.

1900/1/1 0:00:00
以太坊:V神:未来彩票可能会从以太坊2.0的可验证延迟函数中受益

在与科罗拉多州立彩票公司讨论以太坊黑客马拉松合作时,VitalikButerin认为,将来彩票可能会受益于以太坊2.0的可验证延迟函数.

1900/1/1 0:00:00
区块链:巴比特专栏丨吴桐:一文讲透区块链共识机制的经济学含义

广义虚拟经济是一个由中国航空工业集团公司原董事长,中共十八届中央委员会中央委员,中国航空学会理事长林左鸣教授提出的新的经济学理论体系.

1900/1/1 0:00:00
以太坊:分析 | 以太坊提高gas上限之后:目前网络可以支持更大的调整

在以太坊矿工投票赞成把燃气上限提高25%后,最近以太坊链上使用的总燃气值创出了新高。由于波思路的BDN网络已被许多以太坊矿池和服务提供商采用,这为波思路的以太坊网络活动分析提供了独特视角.

1900/1/1 0:00:00
比特币:报告:交易所比特币流入数量自1月份以来首次超过流出数量

简言:本月流入加密货币交易所的比特币数量多于流出比特币的数量。自2020年初以来,这是首次逆转了近六个月的趋势。这是看跌信号吗?分析师表示,交易员可能正在寻找将比特币换成山寨币.

1900/1/1 0:00:00
以太坊:以太坊基金会发布2.0验证者工具,最全的使用攻略都在这里了

想要帮忙保障即将到来的以太坊2.0网络的安全,并且在此过程中赚取ETH吗?以太坊基金会刚刚发布的工具让事情变得更简单了。以太坊基金会今天宣布了期待已久的以太坊2.0升级的“验证者启动平台”.

1900/1/1 0:00:00