我們該如何設計網絡,才能讓客戶端只需為網絡貢獻少量數據,就讓整個網絡具有很大的意義呢?
——PiperMerriam
我們很高興地宣布,Nimbus將加入以太坊基金會的“門戶網絡”團隊,作為門戶網絡的啟動客戶端之一。
一句話總結:“門戶網絡”是一個開發中的跨客戶端項目,為的是重新構想以太坊的輕客戶端,并開發出一套可用且實用的輕客戶端體驗。
直接引用這份規范的表述:
“門戶網絡”是一個還在開發的項目,為了讓資源有限的設備也能輕量地訪問協議。
“門戶”一詞的含義是,這些網絡可以觀察到協議運行的現狀,但對核心的以太坊協議的運行又無關緊要。
門戶網絡將由一個或多個去中心化的點對點網絡組成,這些網絡共同提供暴露標準的JSON-RPCAPI所需的數據和功能.
這些網絡是經過專門設計的,為了保證參與這些客戶端只需付出最小化的網絡帶寬、CPU、RAM和機械硬盤資源即可加入。
“門戶網絡”一詞也用來描述參與這些網絡并暴露標準的JSPN-PRCAPI的軟件.
資金流協議SuperFluid與Connext和Nomad合作,已開發出“跨鏈資金流”產品的工作原型:6月15日消息,資金流協議SuperFluid與互操作性協議Connext和Nomad合作,開發了一個“跨鏈資產流”(Cross-Chain Money Streaming)的工作原型,它使用Connext的SDK和Nomad構建,用于身份驗證調用,允許用戶將資金以流支付形式傳輸到網絡上的橋接合約,然后從不同網絡上的橋接合約接收資金。通過跨鏈資金流,DAO和加密原生組織可以使用Superfluid協議將價值按秒轉移到他們想要的任何網絡,而無需在任何特定網絡上具有流動性。(Medium)[2022/6/15 4:29:11]
特別地,我們的目標是與EF一道,圍繞已有的以太坊協議,開發出一組新的以太坊協議,能專門服務于這種獲取以太坊數據的新方法。
總體目標是為以太坊提供一個操作模式,能夠服務于常見的使用模式,而不是實時追蹤完整的狀態。
我們正在討論要開發的是一個用于錢包的完美客戶端,一個極輕客戶端,可以給網絡作貢獻,但又不要求同步區塊鏈。
這也沒有聽起來那么困難。我想象大部分錢包都直接嵌入輕客戶端,比如@ethstatus將集成一個@ethnimbus輕客戶端。所以可能出現這樣一種情況:大部分用戶都在不知不覺中就開始運行輕客戶端了。
Superfluid上線Optimism和Arbitrum測試網:12月16日消息,流式數字資產協議協議 Superfluid 宣布,現已分別上線 Optimism 和 Arbitrum 測試網,將于未來上線 Optimism 和 Arbitrum 主網。目前,用戶已經可以和 Optimism 和 Arbitrum 生態內應用進行測試性交互,Superfluid 合約將完全兼容。據悉,Superfluid 可以創建支付流,實時不間斷地支付資金,而不必等待交易完全確認。Superfluid 此前已在以太坊、Polygon 和 xDAI 主網上運行。[2021/12/16 7:43:52]
May24,2021
因此,我們的一個最終目標是,將這種客戶端直接敲入到Statusapp中。
它有潛力能提升我們用戶的安全性和隱私性,同時提高以太坊的可靠性,因為更多用戶可以為網絡的健康作貢獻。
背景
門戶網絡根植于開發者PiperMerriam以及Trinity團隊的初始目標:在現有的網絡上開發一個輕量級的客戶端。它的誕生是因為他們意識到了,現有的網絡對于他們所設想的客戶端類型來說不夠靈活。
用Piper的話來說:
當我們開始開發Trinity客戶端時,我們的目標是開發一個輕量級的客戶端。但花了接近三年時間深入了解協議、探索開發我們所設想的客戶端的途徑之后,我們最終得出一個結論:它在現有的網絡上是做不出來的。
FLUX將于Conflux網絡區塊24976888處開啟挖礦:據官方通告,借貸協議FLUX將于Conflux網絡區塊24976888處(預計今日20:00左右)開啟挖礦。屆時FLUX將支持:1、Conflux鏈上資產存、借款挖礦;2、支持Compound、AAVE協議存款憑證cWBTC、cDAI、cETH、cUSDC、aWBTC、aDAI、aETH、aUSDC經跨鏈后質押挖礦。
FLUX合約代碼已經通過Certik安全審計。
FLUX協議入口見原文鏈接。[2021/3/16 18:48:53]
這就是門戶網絡的初衷。我們要回到我們想要的客戶端形態,然后設計出其運行所必需的網絡功能。
Trinity客戶端不會再開發下去了,我們正在開發一個獨立的門戶客戶端,叫做“Trin”,用Rust語言編寫,將是門戶網絡的啟動客戶端之一。
動機
現有的DevP2PLES網絡在設計上采用了客戶端/服務器架構,輕客戶端作為客戶端,而全節點作為服務器端。
因為這種架構把所有的負載都交給全節點來承擔,而全節點的運營成本已經很高了,所以節點運營者就不愿意打開這個功能。
所以,雖然當前的網絡設計很好地實現了其初始目標,但從輕客戶端的視角來看,它是嚴重的失敗。
MoonSwap順利遷移至Conflux網絡:9月25日 ,由 MoonDex團隊開發的MoonSwap由以太坊至Conflux網絡的資產遷移工作結束。自此,MoonSwap用戶可以擁有相較于此前以太坊鏈上更高速、更流暢且低成本的使用體驗。
Conflux基金會及社區將捐贈一定數額的FC對MoonSwap用戶進行激勵,鼓勵用戶體驗高性能的Conflux網絡。秉持著“為去中心化金融賦能”的理念,Conflux 網絡憑借自主研發的“樹圖結構”(Tree-graph)有效的兼顧了效率與安全,3000+ TPS高吞吐量足以滿足目前市場上各類DeFi應用的使用場景。
Conflux網絡希望以“高性能+0 Gas費”的體驗,為用戶創造更流暢的使用感受,同時以更加開放和包容的心態為開發者創造良好的開發環境。與此同時,Conflux基金會也將積極配合各生態伙伴完善Conflux網絡生態,推動整個生態發展。[2020/9/25]
我們如何解決這個問題呢?就像Piper的Trinity團隊發現的那樣,現實表明這個問題沒有簡單的解決方案。現有的網絡不夠靈活,無法做出高效的輕客戶端設計。
修復這個問題需要我們回到一張白紙,重新設計協議的核心。
設計
一個輕客戶端友好的網絡,必須設計得節點只需付出少量存儲空間、少許工作量,就能參與網絡并為網絡做貢獻,而不是要求每個節點都必須承擔很高的負載。
Conflux研究總監楊光:第三代公鏈需要解決公鏈性能問題:金色財經現場報道,8月6日2020 Cointelegraph中文大灣區·國際區塊鏈周在深圳舉行。Conflux研究總監楊光在“第三代公鏈的技術演進之路”圓桌主題論壇上表示,從用戶角度來說,第三代公鏈應該去解決用戶需要解決的問題。區塊鏈改進的重大方向或者第三代公鏈需要解決公鏈的性能問題,性能提升能帶來應用的量變,性能問題不應該依靠分片來解決,最好就是只在一條鏈上解決。[2020/8/6]
換句話來說,這樣一個網絡必須允許輕客戶端在實際上為網絡做出貢獻,使得每當有額外的客戶端加入網絡,都會增強網絡的容量。
具體來說,這意味著要提出一種網絡設計,可以減少你的偶發請求的數據的驗證開銷,并降低在網絡中傳遞消息的基本開銷。
門戶網絡的目標是通過將以太坊協議的整體結構為三個獨立的網絡:Gossip狀態以及歷史,來實現這一點;最開始的開發重心是狀態網絡。
這些網絡將與ETH協議共存——但不像ETH協議,它們不必是完全無懈可擊的,但它們需要能幾乎不間斷工作。
愿望是這些新的網絡,可以隨著時間的推移,與現有的網絡更加緊密地結合在一起。舉個例子,我們可以設想這樣一個世界:全功能客戶端可以使用歷史門戶網絡來為節點運營者提供額外的選擇,僅存儲他們關心的歷史而不是整條區塊鏈。狀態數據也是如此。
總而言之,這個模塊化的架構——其中數據以P2P的模式來分享,而事務和區塊則靠gossip來傳播——使得輕客戶端可以自己選擇存儲/服務多少狀態數據和歷史數據。
當他們需要訪問本地沒有的數據時,他們可以在相關網絡提出adhoc請求。
JSONRPC備注
借用Piper的精彩文章“設計可用的輕客戶端part1”:大部分錢包,包括我們的,在JSONRPCAPI上都是標準化的.
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-PRCAPI來給愿意充當橋節點的門戶節點提供數據。這一工作已經開始。
最終我們的極輕客戶端將支持以太坊JSON-PRCAPI的一個子集,所以錢包可以直接集成這種客戶端。
資源
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-PRCAPI是門戶網絡的諸多動機中最核心的一個。
Moonriver Moonriver成功拍下插槽之后,我們在社群收到許多關于Moonriver的提問,其中最多的就是關于MOVRToken.
1900/1/1 0:00:00一年一度的巴菲特股東大會近期召開了,這次,巴菲特和他的長期合作伙伴查理芒格一起舉行了線上會議。對巴菲特在每一次大會上的發言,我都會仔細閱讀,這次也不例外,但感覺吸引我的亮點不太多.
1900/1/1 0:00:00人類從未停止過擴展,他們的意識和探索領域。我們正在為大規模采用,可持續技術的web3.0范式,譜寫新的篇章.
1900/1/1 0:00:00根據StateoftheDApps的數據,目前有超過3000個DApps——即去中心化應用——活躍在Ethereum區塊鏈上.
1900/1/1 0:00:00作者按:隨著各地虛擬貨幣挖礦項目清理關停政策的相繼出臺,虛擬貨幣挖礦項目的關停潮已經來臨,相關合作方之間的糾紛可能難以避免.
1900/1/1 0:00:00加入PolkaWorld社區,共建Web3.0! 自從“DAO”的出現,它便清晰地揭示了比“組織”的典型定義更廣泛的東西——一個把人們聚集在一起,朝著一個共同目標工作的社會群體.
1900/1/1 0:00:00