Fluffy 客户端:以太坊的极轻客户端_ETH:CON

我们该如何设计网络,才能让客户端只需为网络贡献少量数据,就让整个网络具有很大的意义呢?

——PiperMerriam

我们很高兴地宣布,Nimbus将加入以太坊基金会的“门户网络”团队,作为门户网络的启动客户端之一。

一句话总结:“门户网络”?是一个开发中的跨客户端项目,为的是重新构想以太坊的轻客户端,并开发出一套可用且实用的轻客户端体验。

直接引用这份规范的表述:

“门户网络”是一个还在开发的项目,为了让资源有限的设备也能轻量地访问协议。

“门户”一词的含义是,这些网络可以观察到协议运行的现状,但对核心的以太坊协议的运行又无关紧要。

门户网络将由一个或多个去中心化的点对点网络组成,这些网络共同提供暴露标准的JSON-RPCAPI所需的数据和功能.

这些网络是经过专门设计的,为了保证参与这些客户端只需付出最小化的网络带宽、CPU、RAM和机械硬盘资源即可加入。

“门户网络”一词也用来描述参与这些网络并暴露标准的JSPN-PRCAPI的软件.

特别地,我们的目标是与EF一道,围绕已有的以太坊协议,开发出一组新的以太坊协议,能专门服务于这种获取以太坊数据的新方法。

多链借贷协议Flux Protocol将于7月15日14:00上线MEXC:据官方公告,7月15日14:00,MEXC创新区将上线Flux Protocol(FLUX),充值及提现已开启。

资料显示,Flux是一家基于Conflux、Heco、BSC、OEC的多链借贷协议。[2021/7/14 0:51:41]

总体目标是为以太坊提供一个操作模式,能够服务于常见的使用模式,而不是实时追踪完整的状态。

我们正在讨论要开发的是一个用于钱包的完美客户端,一个极轻客户端,可以给网络作贡献,但又不要求同步区块链。

这也没有听起来那么困难。我想象大部分钱包都直接嵌入轻客户端,比如?@ethstatus?将集成一个?@ethnimbus?轻客户端。所以可能出现这样一种情况:大部分用户都在不知不觉中就开始运行轻客户端了。

May24,2021

因此,我们的一个最终目标是,将这种客户端直接敲入到Statusapp中。

它有潜力能提升我们用户的安全性和隐私性,同时提高以太坊的可靠性,因为更多用户可以为网络的健康作贡献。

背景

门户网络根植于开发者PiperMerriam以及Trinity团队的初始目标:在现有的网络上开发一个轻量级的客户端。它的诞生是因为他们意识到了,现有的网络对于他们所设想的客户端类型来说不够灵活。

Conflux社区生态治理投票结果出炉 建议投资人延长锁仓期限:4月15日,Conflux社区生态治理投票(20210408)结果出炉。其中 Conflux DAO# 6 “私募投资人的解锁条件调整”的投票结果显示,占比96.50%的票数支持未来基金会不通过投资人提前解锁的请求,并建议投资人延长锁仓期限。

根据本次生态治理投票(20210408)结果,基金会与私募投资人就按月线性解锁的速率调整进行了全方位地协商,具体决议结果如下:

(1) 《经济白皮书》中所提及的提前解锁条款未来将不再触发。

(2) 自 2021 年 5 月起的 4 个月内暂停私募投资人及 Conflux团队的额度解锁,其后按照每月 20% 递增的形式恢复额度释放。即 2021 年 5 月可解锁当月额度 0%,6 月可解锁当月额度 0%,7 月可解锁当月额度 0%,8 月可解锁当月额度 0%,9 月可解锁当月额度 20%,10 月可解锁当月额度 40%,11 月可解锁当月额度 60%,12 月可解锁当月额度 80%。

(3)暂停与减少的部分,将在原解锁周期结束后(即一年半或三年半后)的六个月内线性解锁发放。

此前,Conflux团队全部创始人、首席科学家、团队成员未分配部分的CFX,已全部自愿锁仓至公告地址至2021年8月。为了进一步展示Conflux核心团队对未来发展的信心,该部分及未来解锁的CFX锁仓期限将至少延长至2022年2月。[2021/4/28 21:06:11]

用Piper的话来说:

Conflux首款NFT+DEFI游戏ConDragon NFT首发MoonSwap两小时内售罄:12月16日12点,Conflux首款DeFi+NFT+RPG游戏 ConDragon NFT开启盲盒预售活动,NFT售卖首发上架Conflux生态平台MoonSwap,并同步开启质押恐龙NFT进行挖矿。

此次ConDragon首发预售第一期共1857只恐龙NFT。在2小时内完成售罄。并完成462只恐龙NFT质押,其余进入MoonSwap NFT资产交易平台挂单交易。盲盒售卖后50%的金额全部通过合约自动兑换成cMOON注入奖池,总奖池达到46900.48 cMOON。[2020/12/17 15:30:10]

当我们开始开发Trinity客户端时,我们的目标是开发一个轻量级的客户端。但花了接近三年时间深入了解协议、探索开发我们所设想的客户端的途径之后,我们最终得出一个结论:它在现有的网络上是做不出来的。

这就是门户网络的初衷。我们要回到我们想要的客户端形态,然后设计出其运行所必需的网络功能。

Trinity客户端不会再开发下去了,我们正在开发一个独立的门户客户端,叫做“Trin”,用Rust语言编写,将是门户网络的启动客户端之一。

Conflux:Moonswap由MoonDex团队独立开发 目前Conflux没有参与:据Conflux官方消息,今日(9月11日)上线的Moonswap由MoonDex团队独立开发,所有合约及资产均部署在以太坊,截至目前Conflux没有参与。 未来,Moonswap迁移到Conflux链上的资产Conflux基金会及社区将酌情捐赠FC对用户进行激励。Conflux技术团队也在认真评审相关的资产跨链技术方案。[2020/9/11]

动机

现有的DevP2PLES网络在设计上采用了客户端/服务器架构,轻客户端作为客户端,而全节点作为服务器端。

因为这种架构把所有的负载都交给全节点来承担,而全节点的运营成本已经很高了,所以节点运营者就不愿意打开这个功能。

所以,虽然当前的网络设计很好地实现了其初始目标,但从轻客户端的视角来看,它是严重的失败。

我们如何解决这个问题呢?就像Piper的Trinity团队发现的那样,现实表明这个问题没有简单的解决方案。现有的网络不够灵活,无法做出高效的轻客户端设计。

修复这个问题需要我们回到一张白纸,重新设计协议的核心。

动态 | Conflux聘请区块链风投Outlier Ventures高管:区块链创业公司Conflux已聘请Eden Dhaliwal担任总经理一职,他将负责公司在北美的扩张。据悉,Eden Dhaliwal此前曾担任区块链风投基金Outlier Ventures加密业务负责人。(CoinDesk)[2020/2/17]

设计

一个轻客户端友好的网络,必须设计得节点只需付出少量存储空间、少许工作量,就能参与网络并为网络做贡献,而不是要求每个节点都必须承担很高的负载。

换句话来说,这样一个网络必须允许轻客户端在实际上为网络做出贡献,使得每当有额外的客户端加入网络,都会增强网络的容量。

具体来说,这意味着要提出一种网络设计,可以减少你的偶发请求的数据的验证开销,并降低在网络中传递消息的基本开销。

门户网络的目标是通过将以太坊协议的整体结构为三个独立的网络:Gossip状态以及历史,来实现这一点;最开始的开发重心是状态网络。

这些网络将与ETH协议共存——但不像ETH协议,它们不必是完全无懈可击的,但它们需要能?几乎?不间断工作。

愿望是这些新的网络,可以随着时间的推移,与现有的网络更加紧密地结合在一起。举个例子,我们可以设想这样一个世界:全功能客户端可以使用历史门户网络来为节点运营者提供额外的选择,仅存储他们关心的历史而不是整条区块链。状态数据也是如此。

总而言之,这个模块化的架构——其中数据以P2P的模式来分享,而事务和区块则靠gossip来传播——使得轻客户端可以自己选择存储/服务多少状态数据和历史数据。

当他们需要访问本地没有的数据时,他们可以在相关网络提出adhoc请求。

JSONRPC备注

借用Piper的精彩文章“设计可用的轻客户端part1”:大部分钱包,包括我们的,在?JSONRPC?API上都是标准化的.

Status钱包的正确运行需要下列?JSONRPC?端点:

eth_blockNumber?用于跟踪链的顶端

eth_getBalance?以及?eth_getTransactionCount用于获得账户信息

eth_call?用于读取合约信息

eth_estimateGas?以及?eth_gasPrice?用于估计gas费

eth_sendRawTransaction?用于发送用户的交易

eth_getTransactionReceipt?在交易上链后获取回执

如果我们进一步梳理实现钱包功能的必要组件,我们可以得到如下更底层的需求:

访问账户以及合约存储项,以支持:eth_call、eth_estimateGas、eth_getBalance?以及?eth_getTransactionCount

访问gossip网络以跟踪链的顶端以及?eth_sendRawTransaction

访问链的历史,用于?eth_getTransactionReceipt

若可开启对状态、Gossip和历史的轻量级访问,门户网络就打开了可嵌入钱包的轻客户端的大门,它们可以满足这些需求,而且不需要同步区块链,也不必牺牲隐私性和安全性。

这对现状来说是个很大的提升,现在我们不得不依赖于Infura来发起确定的JSONPRC调用并发送交易——无法访问状态,我们就无法服务大部分JSONPRCAPI,也无法发送交易,因为我们无法参与交易gossip。

项目现状

我们已经开始为Nimbus开发一种操作模式,一开始命名为?nlpn?,但现在重命名为?fluffy?,会与以太坊1的客户端同时存在、运行。

fluffy?将使?nimbus-eth1?客户端可以作为网络中的一个极轻客户端节点来运行。

初步的工作是开发?PortalWire协议,这是一个建立在NodeDiscoveryv5.1协议基础上的次级协议。

我们已经实现了对该协议的基本支持,并且几周以前,我们就已成功实现了与其它客户端的握手,包括?ddht客户端和Trin客户端。

下一步

下一步是通过PortalWire协议来传输数据。我们正在处理状态数据。

这需要“桥节点”为门户网络输入状态数据。当前的措施是使用一个Nethermind客户端插件作为定制化?JSON-PRC?API来给愿意充当桥节点的门户节点提供数据。这一工作已经开始。

最终我们的极轻客户端将支持以太坊?JSON-PRC?API的一个子集,所以钱包可以直接集成这种客户端。

资源

Nimbus门户网络客户端可以在我们的nimbus-eth1代码库中找到:?https://github.com/status-im/nimbus-eth1/tree/master/fluffy

PortalWire协议已加入?nim-eth?代码库,作为节点发现协议v5.1的次级协议:https://github.com/status-im/nim-eth

规范:https://github.com/ethereum/stateless-ethereum-specs/

网站:https://www.ethportal.net/

一些有关与ddht和trin的第一次PortalWire协议测试的资料:https://gist.github.com/kdeme/36795f5deae7d02ce1785e9c7d501e53

PiperMerriam撰写的系列博文:Thewindingroadtofunctionallightclients

有关这个主题的一个视频演讲

注:方便的是,所有实现功能性轻客户端所必须的基础设施也会自然延伸到无状态客户端上,所以会跟无状态以太坊有很多交叉。实际上,让无状态客户端能够服务于绝大部分?JSON-PRC?API是门户网络的诸多动机中最核心的一个。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

水星链

[0:15ms0-0:699ms