想挖礦?不如先學習下以太坊

雷鋒網按:本文為AI研習社編譯的技術博客,原標題 A Primer on Ethereum Blockchain Light Clients,作者為 zk Capital 。

翻譯 | 高敏 校對 | 餘杭 整理 | MY

許多使用點對點協議且基於區塊鏈的項目在性能和吞吐量上誇大其辭。在研發階段,這些項目已經出現了一些創新,但是一旦這些協議運行時,它們大多對經常遇到的挑戰難以作出解釋。

網絡拓撲結構

假設大多數人在延遲和計算量之間的某個置信區間上網是很容易的,但是他們忽略了必須藉助於區塊鏈上的節點進行交互。對大多數用戶而言,不幸的是,運行一個全節點不僅速度慢,而且價格昂貴讓人望而卻步,因此大多數用戶選擇輕節點,因為它們不僅揹負著全節點所擁有的安全性使命,對資源沒有額外的需求。

以太坊輕客戶端模式允許像樹莓派一樣的輕量型設備加入網絡,當區塊頭顯示時可以將它們下載,並且如用戶所要求的那樣按需驗證某幾種狀態。在以太坊中,這些檔案性的全節點擁有的客戶端很容易使得網絡飽和。與所謂的 Merkle Tree 相比,樹莓派可以更快地鎖定這些節點。

想挖矿?不如先学习下以太坊

你可以在樹莓派上安裝一個輕型客戶端!

密碼經濟作為運行全節點的動機已遠遠不夠,這是因為資源成本效益在平衡分佈式網絡過程中遇到了瓶頸。對於輕型節點,網絡將擁有怎樣的完全平衡是難以預測的。關於怎樣平衡這些動機以及如何使得用戶更容易證明運行全節點是正確的這些話題,早已被討論過多次。

對輕客戶端的介紹:以太坊中的關鍵角色

輕型客戶端背後的核心思想是它能夠獲取用戶所關切的狀態部分。它假設有一個誠信模型,在這個模型中,礦工們都正確遵循以太坊的規則,並且系統中至少有一個完全節點是完全誠實的。

想挖矿?不如先学习下以太坊

將同步模式標誌設置為輕型模式

他們的基本功能是當塊標題顯示在網絡中時可以將它們下載,而且對於正在被客戶端使用的狀態部分的 Merkle 證明而言,按需變化的問題需求也可以被下載。以太坊上的輕客戶端採用分佈哈希表而不是本地存儲來記錄字典樹的節點。

考慮到 Ethereum 狀態通過大些的 Merkle 樹來顯示,從 Merkle 的樹根出發,沿著樹中一個分支的一條節點路徑,可以很輕易地將驗證信息的完整性作為輕量級的證明。這最終依賴於對所提供的 Merkle 樹根正確性的信任。

輕客戶端信息包括但不侷限於查詢賬戶餘額、驗證確認事務、檢查部署在網絡上的某份合同的事件日誌等其他信息。

想挖矿?不如先学习下以太坊

通過 Merkle 樹的證明和驗證,所有的這些可以被歸結為次線性複雜度。當無法獲取來自區塊鏈的數據時,或無法檢查出何時驗證狀態交易指數時,客戶端可以在點對點網絡中向其他參與者發出警告。

當處於輕客戶端模式下時,以太坊客戶端會將基本上不同的配置和協議經理具體化。當以太坊啟動一個輕客戶端時究竟發生了什麼,對此感興趣的用戶可以參考我下面的問題。

潛在的共識機制

目前的輕客戶端協議假定通過全節點在主鏈上開展工作共識證明。在工作量證明過程中,我們可以藉助於一個數學函數來驗證區塊頭部的有效性。也就是說,這個算法很難計算區塊頭部並輸出,但是卻很容易對其進行驗證。

......

想要繼續閱讀,請移步至我們的AI研習社社區:https://club.leiphone.com/page/TextTranslation/706

更多精彩內容盡在 AI 研習社。雷鋒網雷鋒網

不同領域包括計算機視覺,語音語義,區塊鏈,自動駕駛,數據挖掘,智能控制,編程語言等每日更新。

雷鋒網雷鋒


分享到:


相關文章: