大约5年前,我们开始构建Trinity——以太坊网络上的新型“轻量级客户端”。那时候Geth刚刚发布了第一版LES协议,而我们曾心怀远大的梦想。
远大的梦想往往被现实所击倒。这些年来,我们得到了一些教训:
EVM计算从根本上来说是“繁重的”。
LES如同茫茫沙漠,客户端就是沙漠中渴求数据的旅人。
同步并维护状态的难度过高。
区块链上的历史记录在绝大多数情况下是无用的,却是必不可少的。
核心以太坊协议在本质上对“轻量级”不友好。
Python太慢了。
我们的目标是远大的,方法是有缺陷的。现在是该从头再来的时候了。
访问以太坊协议
如果你想要与以太坊协议交互,摆在你面前的是两个选择:
自己运行客户端。
美众议院金融服务委员会:正深入研究如何更好地监管加密行业:金色财经报道,据官方推特消息,美国众议院金融服务委员会正在关注加密货币作为长期投资的影响,并正在深入研究如何更好地监管这个快速增长的行业。[2021/7/1 0:18:18]
使用Infura等中心化提供商的服务。
上述两个选择可以满足大多数用例的要求,但是它们位于两个极端。以太坊客户端需要消耗大量磁盘空间,花费数小时乃至数天时间进行同步,而且对CPU和内存的占用通常很大。中心化提供商是一种简单可靠的方案,但是要以牺牲隐私性、安全性和去中心化原则为代价。
为什么我们不能有介于二者之间的第三种选择?互联网已经证明过很多次了了,在困难模式和简单模式之间,人们往往会选择后者。
自己托管邮件vs.Gmail
购买DVD或CDvs.盗版
盗版vs.流媒体
掌柜调查署 | 疫情之下,区块链企业该如何应对?:修我甲兵,与子偕行。疫情之下,区块链企业该如何应对?
今天下午15:00,金色财经掌柜调查署,由金色财经合伙人佟扬对话WBF交易所创始人Bella Fang,一起聊聊此次“新冠”疫情期间WBF的应对举措。
更多详情请点击原文链接或扫码进群查看。[2020/2/13]
自己运行以太坊节点vs.Infura
我想过采用隐私保护型解决方案。然而,我的所有交易都是通过MyCrypto或Metamask完成的。这两款钱包都来自中心化提供商。它们都支持用户使用自己的节点,但是就现有的客户端来说,我认为这么做成本太高。如果我们想与这些中心化解决方案争夺市场份额,我们需要为用户提供更好的选择。
我们对客户端的要求是:
能够在资源有限的设备上运行
公开标准“钱包”应用所需的API
声音 | Galaxy Digital创始人:山寨币需要向比特币学习如何逐步吸引用户建立生态系统:加密公司Galaxy Digital创始人Mike Novogratz认为,并不是所有的山寨币都会成功,但是一些具有潜力和价值的必须寻求建立渠道,以使人们和机构更容易购买它们。他表示:”有很多垃圾筹集了很多资金,但没有可持续性。他们承诺要建立许多协议和生态系统,然后吸引用户使用该生态系统,使之成为投机资产。为了保持投机市场的活力,需要时不时以新闻和更新的形式加油。我们必须将这些代币视为风险投资。”同时他补充说,这些山寨币之所以失败,是因为它们在如何将人们引入其生态系统方面没有发挥作用。他强调这样的山寨币必须仰赖比特币,并观察该生态系统如何为逐步采用奠定基础。(AMBCrypto)[2019/10/7]
不需要同步
从用户的角度来说,我希望让客户端时刻保持运行,而不会影响我的设备的性能。我希望在离线一段时间后,再上线时无需等待客户端同步。
动态 | 欧盟议会报告揭示银行如何打败比特币:7月24日消息,欧洲议会政策部发布的一份报告中解释了央行发行的加密货币如何胜过比特币。ECON委员会在报告中称,中央银行发行的数字货币将对当前的加密货币市场产生重大影响,并将私人发行的数字货币(如比特币)与中央银行发行的数字货币区分开,将它们相互对立。报告还指出:中央银行和商业银行基本上可以通过阻止用户访问交易所或钱包或通过拒绝服务,来对比特币7708.68以及其他加密货币进行定价。[2018/7/24]
这就是我心中的“圣杯”,是我舍命也要攀登的高峰。
钱包
我们这里讲的是如何为钱包构建一个完美的客户端。钱包无处不在,而且主要由中心化提供商支持。总的来说,钱包要满足以下需求:
追踪区块链的最新区块
查看账户余额和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
翻译&校对:?闵敏&?阿剑
标签:CTIRANSACTANSFrench Connection FinanceRankingBallEvident Proof Transaction TokenWhale Loans
本期投票上币活动已圆满结束,感谢广大用户的参与和支持。Gate.io投票上币活动将持续带来更多有潜力的优质项目,敬请期待.
伴随着制造业变革与互联网数字经济的交汇融合,云计算、物联网、AI等信息技术与传统制造工艺、管理的集成创新不断加剧,工业互联网应运而生.
公告编号2021012601各位关心ZBG的投资者们和项目方:XRP因钱包升级暂停提币,具体开放时间以公告为准,给您带来不便深感抱歉,敬请谅解.
亲爱的安银小伙伴, AEX安银将于2021年1月27日15:00正式上线MPH并同步开通USDT交易对.
?我们应当只选择那些共识最大,技术团队最靠谱的项目或代币,一定要把高风险标的排除在外,只买最保险的。大家都知道,币圈几乎99%的项目是不靠谱的.
尊敬的用户: HuobiGlobal即将开启“DOT锁仓赚币”活动。即刻锁仓,领取赚币奖励!锁仓开始时间:2021年1月27日15:00(GMT8)声音 | 李笑来:币圈无大佬,我只是翻了一次身.