火星链 火星链
Ctrl+D收藏火星链
首页 > 区块链 > 正文

ETH:如何开发出好用的轻量级客户端?

作者:

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

大约5年前,我们开始构建Trinity——以太坊网络上的新型“轻量级客户端”。那时候Geth刚刚发布了第一版LES协议,而我们曾心怀远大的梦想。

远大的梦想往往被现实所击倒。这些年来,我们得到了一些教训:

EVM计算从根本上来说是“繁重的”。

LES如同茫茫沙漠,客户端就是沙漠中渴求数据的旅人。

同步并维护状态的难度过高。

区块链上的历史记录在绝大多数情况下是无用的,却是必不可少的。

核心以太坊协议在本质上对“轻量级”不友好。

Python太慢了。

我们的目标是远大的,方法是有缺陷的。现在是该从头再来的时候了。

访问以太坊协议

如果你想要与以太坊协议交互,摆在你面前的是两个选择:

自己运行客户端。

迪士尼CEO:过去一年一直在探索如何利用Web3技术:9月14日消息,在迪士尼两年一度的 D23 Expo 大会上,该公司首席执行官鲍勃·查佩克称迪士尼正在继续探索和制定虚拟世界计划,而且在过去一年时间里一直在悄悄探索如何利用 Web3 技术。鲍勃·查佩克表示,迪士尼希望使用来自物理世界和数字世界的数据来推动其元宇宙战略,来自主题公园访问数据和消费者流媒体习惯数据将使迪士尼元宇宙战略中最关注的两大领域。(nftevening)[2022/9/14 13:30:06]

使用Infura等中心化提供商的服务。

上述两个选择可以满足大多数用例的要求,但是它们位于两个极端。以太坊客户端需要消耗大量磁盘空间,花费数小时乃至数天时间进行同步,而且对CPU和内存的占用通常很大。中心化提供商是一种简单可靠的方案,但是要以牺牲隐私性、安全性和去中心化原则为代价。

为什么我们不能有介于二者之间的第三种选择?互联网已经证明过很多次了了,在困难模式和简单模式之间,人们往往会选择后者。

Compound CEO :创建治理代币,是为让最聪明用户决定协议如何升级:Compound创始人兼CEO Robert Leshner在媒体直播间表示,流动性挖矿是作为一种分发代币的方式,Compound总体上是一种自治的系统,这需要相信那些最有能力的人来决定协议的参数是什么,所以我们创建了一个治理代币来升级协议,向协议主题添加新资产,所以我们创造这个代币以便把它交到最聪明的用户手中。(深链财经)[2020/6/24]

自己托管邮件vs.Gmail

购买DVD或CDvs.盗版

盗版vs.流媒体

自己运行以太坊节点vs.Infura

我想过采用隐私保护型解决方案。然而,我的所有交易都是通过MyCrypto或Metamask完成的。这两款钱包都来自中心化提供商。它们都支持用户使用自己的节点,但是就现有的客户端来说,我认为这么做成本太高。如果我们想与这些中心化解决方案争夺市场份额,我们需要为用户提供更好的选择。

声音 | BB:一直在研究如何为受到武汉疫情影响的人们提供帮助:2月16日,Block.one首席执行官BB发推文称,一直在研究如何以一种还尚未被使用的方式提供最好的帮助,且一直非常谨慎地保护Block.one的员工。我们的许多组织都在中国香港运营,我们的心与受影响的人息息相关。武汉加油。而此前EOS创始人BM在推文发布的有关武汉疫情的相关言论引起争议,甚至有社区成员要求中国交易所下架EOS,随后BM删除相关推文并道歉。[2020/2/16]

我们对客户端的要求是:

能够在资源有限的设备上运行

公开标准“钱包”应用所需的API

不需要同步

从用户的角度来说,我希望让客户端时刻保持运行,而不会影响我的设备的性能。我希望在离线一段时间后,再上线时无需等待客户端同步。

这就是我心中的“圣杯”,是我舍命也要攀登的高峰。

声音 | 北京工商大学颜苏:区块链行业如何与公检法司形成有效的联动机制,是值得研究的:据新华网消息,本月在上海法学会会议上,北京工商大学法学院副教授颜苏表示,区块链行业从业者应用自身掌握的区块链这一新兴技术,助力公检法司进行区块链领域的反,在这个方向上,行业如何能与公检法司形成有效的联动机制,是值得关注的研究主题。[2019/7/28]

钱包

我们这里讲的是如何为钱包构建一个完美的客户端。钱包无处不在,而且主要由中心化提供商支持。总的来说,钱包要满足以下需求:

追踪区块链的最新区块

查看账户余额和nonce

读取合约信息

估算交易的gaslimit

发送交易

监控需要打包的待处理交易

大多数钱包都采用标准化的JSON-RPCAPI。根据上述需求转化成的JSON-RPC端点如下所示:

eth_blockNumber用来追踪链首块

eth_getBalance和eth_getTransactionCount用来查看账户信息

eth_call用来读取合约信息

eth_estimateGas用来估算gaslimit

eth_sendRawTransaction用来发送交易

eth_getTransactionReceipt表示交易已经被挖出

如果我们更深入分析该功能的必备条件,就会得到更低一级的需求:

访问账户和合约存储以支持eth_call、eth_estimateGas、eth_getBalance和eth_getTransactionCount

访问gossip网络来追踪链首块和eth_sendRawTransaction

访问链上历史记录来获得eth_getTransactionReceipt

因此,如果我们可以满足这些需求,就可以构建一个适合轻量级钱包的客户端,不需要同步,也无需牺牲隐私性和安全性。

如今的以太坊网络

目前,以太坊客户端可以在以太坊协议和LESDevP2P协议之间进行选择。

LES协议采用服务器/客户端模型。在该模型中,数据会根据要求从服务器流向客户端。该协议不允许客户端通过任何有意义的方式返回数据,这点可以从协议状态看出。根据我的经验来看,LES协议中的服务器和客户端在数量上严重失衡。运行服务器的成本很高,现有服务器的数量不足。这就导致LES变得不可靠,而且经常会变得完全不可用。

以太坊协议则另有缺陷。该协议很好地达到了目的,确保网络中所有的节点都尽可能地复制了完整的历史记录和状态数据。这对客户端的要求很高。网络中的每个节点都必须保存完整的历史记录和状态。没有保存这些数据的节点不太可能保持健康的点对点连接,可能会在无法满足对等节点的数据要求时断开连接。

在本系列文章中,我们想要解构以太坊协议这一“庞然大物”。该协议包含了我们理想的客户端类型的所必备的一切功能。它的设计适合全节点和矿工,但是不适合我们所概述的轻量级客户端。

解构以太坊协议

让我们将目光转向以太坊协议……

我们需要解决这个问题。在与以太坊协议交互时,人们可选择的方式有限,而且高度依赖中心化提供商。当前的网络状态就预示了未来可能发生的情况。

我们构想了另一种适用于以太坊钱包的轻量级客户端。这一构想不只是一个想法,而是以实验、原型以及我们对现有协议不断深入的认知为基础的。

我们正在研究的解决方案需要对核心以太坊协议进行一些修改,以便支持该用例。在该系列的下一篇文章中,我将概述需要修改和新增的部分,以及我们计划如何去实现它们。最重要的是,我将讲述我自己对这一新型轻量级客户端的用户体验的期望。

原文链接:

https://snakecharmers.ethereum.org/the-winding-road-to-functional-light-clients/

作者:?PiperMerriam

翻译&校对:?闵敏&?阿剑

标签:以太坊ETHGETION以太坊价格最新行情分析ETHICAtogetherbnb艾米莉攻略双人互动mobileradiostation

区块链热门资讯
LVE:关于EOS暂停提币的公告

公告编号2021012502各位关心ZBG的投资者们和项目方:EOS因钱包升级暂停提币,具体开放时间以公告为准,给您带来不便深感抱歉,敬请谅解.

1900/1/1 0:00:00
ONI:Huobi Global将于1月27日开启“DOT锁仓赚币”活动

尊敬的用户:HuobiGlobal即将开启“DOT锁仓赚币”活动。即刻锁仓,领取赚币奖励!锁仓开始时间:2021年1月27日15:00(GMT8)锁仓截止时间:2021年1月30日15:00(G.

1900/1/1 0:00:00
火币期权合约1月28日15:00-15:05系统升级公告

尊敬的用户:您好!为了给您提供更好的交易体验,火币合约平台将于新加坡时间2021年1月28日15:00-15:05(GMT8)对期权合约进行系统升级.

1900/1/1 0:00:00
TAKI:FRM-45D锁仓活动上线,享30%年化收益!

亲爱的Pool-X用户,Pool-X平台将联合Ferrum(FRM)项目方于2021年01月28日18:00:00(UTC8)上线FRM-45D锁仓挖矿活动.

1900/1/1 0:00:00
人工智能:北京朝阳法院借力区块链化解物业纠纷

能保证一定时间内产生的数据无法被篡改的区块链技术,受到越来越多政法机关的青睐。北京市朝阳区人民法院便是其中之一.

1900/1/1 0:00:00
比特币:宗谱链介绍,区块链宗谱链优势

宗谱链介绍,区块链宗谱链优势中国家谱文化源远流长,博大精深。在中国,家谱有约3000年历史,素来与国史、方志并称为三大历史文献,几乎是伴随着人类历史而生,呈现形式也与时俱进,基本脉络如下:结绳家.

1900/1/1 0:00:00