比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

如何開發出好用的輕量級客戶端?_ION

Author:

Time:1900/1/1 0:00:00

大約5年前,我們開始構建Trinity——以太坊網絡上的新型“輕量級客戶端”。那時候Geth剛剛發布了第一版LES協議,而我們曾心懷遠大的夢想。

遠大的夢想往往被現實所擊倒。這些年來,我們得到了一些教訓:

EVM計算從根本上來說是“繁重的”。

LES如同茫茫沙漠,客戶端就是沙漠中渴求數據的旅人。

同步并維護狀態的難度過高。

區塊鏈上的歷史記錄在絕大多數情況下是無用的,卻是必不可少的。

核心以太坊協議在本質上對“輕量級”不友好。

Python太慢了。

我們的目標是遠大的,方法是有缺陷的。現在是該從頭再來的時候了。

訪問以太坊協議

如果你想要與以太坊協議交互,擺在你面前的是兩個選擇:

自己運行客戶端。

美聯儲理事布雷納德:央行數字貨幣將如何影響貨幣政策是一個懸而未決的問題:美聯儲理事布雷納德:央行數字貨幣將如何影響貨幣政策是一個懸而未決的問題;數字貨幣可以鼓勵零售支付創新,數字貨幣如何影響貨幣政策是個開放性問題。 (金十)[2021/5/24 22:39:29]

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

上述兩個選擇可以滿足大多數用例的要求,但是它們位于兩個極端。以太坊客戶端需要消耗大量磁盤空間,花費數小時乃至數天時間進行同步,而且對CPU和內存的占用通常很大。中心化提供商是一種簡單可靠的方案,但是要以犧牲隱私性、安全性和去中心化原則為代價。

為什么我們不能有介于二者之間的第三種選擇?互聯網已經證明過很多次了了,在困難模式和簡單模式之間,人們往往會選擇后者。

自己托管郵件vs.Gmail

購買DVD或CDvs.盜版

“如何看待比特幣大跳水?”登上知乎熱榜:金色財經報道,根據知乎首頁,提問“如何看待比特幣大跳水?”登上知乎熱榜,現排名第3位,熱度686萬。[2021/1/12 15:57:18]

盜版vs.流媒體

自己運行以太坊節點vs.Infura

我想過采用隱私保護型解決方案。然而,我的所有交易都是通過MyCrypto或Metamask完成的。這兩款錢包都來自中心化提供商。它們都支持用戶使用自己的節點,但是就現有的客戶端來說,我認為這么做成本太高。如果我們想與這些中心化解決方案爭奪市場份額,我們需要為用戶提供更好的選擇。

我們對客戶端的要求是:

能夠在資源有限的設備上運行

公開標準“錢包”應用所需的API

不需要同步

從用戶的角度來說,我希望讓客戶端時刻保持運行,而不會影響我的設備的性能。我希望在離線一段時間后,再上線時無需等待客戶端同步。

聲音 | 陳純:除了研究區塊鏈技術本身外 還需要研究如何監管:1月12日,中國工程院院士陳純在CCF通訊刊文《聯盟區塊鏈關鍵技術與區塊鏈的監管挑戰》,文中提到,區塊鏈作為重要的底層基礎設施,在其快速發展的過程中,我們要高度重視安全問題。因此,我們除了研究區塊鏈技術本身外,還需要研究區塊鏈如何監管。公有鏈已經成為新媒體的傳播媒介,因為公有鏈本身具有去中心化、不可篡改、不可刪除、低成本的特點。利用區塊鏈去傳播有害信息、網絡謠言、煽動性與攻擊性信息,會給區塊鏈技術的產業布局和發展帶來不利影響,同時給監管部門帶來很大的挑戰。[2020/1/13]

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

錢包

我們這里講的是如何為錢包構建一個完美的客戶端。錢包無處不在,而且主要由中心化提供商支持。總的來說,錢包要滿足以下需求:

追蹤區塊鏈的最新區塊

現場 | 華盛頓州ICT行業部門負責人:監管者關心區塊鏈如何與經濟結合:金色財經現場報道,NEO DevCon 2019開發者大會今日在西雅圖舉行,華盛頓州信息和通信技術(ICT)行業部門負責人Joseph Williams發表了題為“區塊鏈的監管視角”的主題演講。Williams表示,監管者關心的是區塊鏈如何與經濟結合起來,如果出現問題怎么辦,如何建立生態系統等問題。政府機構能夠為區塊鏈提供區塊鏈監管框架以提振市場信心,為市場和公眾釋放對于科技信心的信號。此外,法律框架和監管者可以移除現有法律體系關于區塊鏈的障礙,也可以制定支持讓區塊鏈成為可能的法律。此外,Williams還提到了美國迫在眉睫的政策問題,包括區塊鏈交易的法律; 服務等級和保障; 責任,特別是對于發生故障的服務; 數據隱私; 區塊鏈存儲的數據作為證據的法律框架; 強制/性能。[2019/2/17]

查看賬戶余額和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

翻譯&校對:?閔敏&?阿劍

Tags:區塊鏈以太坊ETHION玩區塊鏈的都是什么人以太坊幣最新價格美元行情ethylene可以做名字么BITCOIN ADDITIONAL

酷幣交易所
比特獵手:比特幣短線突破33800后,短線震蕩上漲得以確認_COI

比特幣,兩波沖高回落后,多頭似乎偃旗息鼓,甚至近兩天已經有橫盤的節奏,結果就是被自己的小弟以太甩在身后,實在令人唏噓.

1900/1/1 0:00:00
關于增加ENU-USDT流動池挖礦獎勵的公告_ENU

親愛的安銀小伙伴, AEXASwap流動池將于2021年01月25日15:00開放ENU-USDT挖礦獎勵流動池.

1900/1/1 0:00:00
關于MASS交易送積分 輪盤轉不停 獎勵發放公告_TPS

HomiEx已完成"MASS交易送積分輪盤轉不停"所有獎勵已全部分發,請在“錢包-資產記錄”查看分發結果.

1900/1/1 0:00:00
炒幣教父1.24:比特幣看漲勢頭已減弱 牛市何在?_比特幣

轉眼間,中國的2020年即將過去。很多朋友依舊認為2021年依舊還是對于比特幣充滿希望的一年,在2020年下半年的比特幣走勢依舊可以看出可能再次創造新高.

1900/1/1 0:00:00
BigONE 關于支持 Cocos-BCX(COCOS)1000:1 代幣縮量的公告

親愛的用戶: BigONE現已完成Cocos-BCX1000:1代幣縮量計劃,同步開啟COCOS的提現服務.

1900/1/1 0:00:00
非小號早間新聞_TOKEN

1.數字貨幣寫進多地“十四五”規劃綱要草案專家建議擴大數字人民幣試點范圍。2.價值40億美元的比特幣期權合約即將將到期.

1900/1/1 0:00:00
ads