買比特幣 買比特幣
Ctrl+D 買比特幣
ads
首頁 > Polygon > Info

以太坊:科普 | 如何開發出好用的輕客戶端(二)_VRBLOCKS幣

Author:

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

科普 | 如何開發出好用的輕客戶端,Part-1

現在是 2021 年,以太坊區塊鏈已經運行 5 年多了。但目前還沒有不使用中心化提供者就能與以太坊協議交互的可靠的輕量級方式。各種研究表明,只要你能夠訪問必要的數據,就可以構建這一功能。在本文中,我們將介紹什么是區塊鏈歷史記錄,以及需要解決哪些問題才能讓輕量級客戶端輕松獲得這些歷史記錄。

“區塊鏈歷史記錄” 指的是所有區塊頭、區塊體和收據的歷史記錄。在當前所有以太坊客戶端用來通信的以太坊協議中,節點可以使用以下消息對來互相請求區塊鏈歷史記錄:

GetBlockHeaders?>?BlockHeaders

GetBlockBodies?>?BlockBodies

GetReceipts?>?Receipts

點擊此處,查看以太坊協議的完整規范。

國務院:推進科普與區塊鏈技術深度融合:為貫徹落實黨中央、國務院關于科普和科學素質建設的重要部署,依據《中華人民共和國科學技術進步法》、《中華人民共和國科學技術普及法》制定《全民科學素質行動規劃綱要(2021-2035年)》,其中要求實施智慧科普建設工程。推進科普與區塊鏈等技術深度融合,強化需求感知、用戶分層、情景應用理念,推動傳播方式、組織動員、運營服務等創新升級,加強“科普中國”建設,強化科普信息落地應用,與智慧教育、智慧城市、智慧社區等深度融合。(新華社)[2021/7/10 0:40:52]

區塊鏈歷史記錄是一個相對簡單的數據集。你可以把它當成是一個只能添加的文件。礦工每挖出一個新的區塊,這個區塊的區塊頭、交易、叔塊和收據都會被添加到文件中。

以太坊協議已經為這部分需要而優化過,所以一個新加入網絡的節點可以高效地檢索區塊鏈的所有歷史記錄。一旦客戶端實現完全同步,除了響應 JSON-RPC 請求之外無需使用這些數據。客戶端自己也不會頻繁用到這些數據,因為它們會通過 gossip 消息獲取新的區塊和區塊頭。作為區塊執行的一部分,收據會在本地生成。盡管如此,協議還是強迫客戶端要保留完整的歷史記錄。

TRON數字錢包科普資料《波場錢包的現在過去與未來》已上線:據最新消息顯示,由TokenPocket聯合波場TRON官方,以及 TokenPocket 社區志愿者共同撰寫的《波場錢包的現在過去與未來》已正式上線。《波場錢包的現在過去與未來》又稱為波場錢包小白書,詳細介紹了當前TRON錢包與TRON生態密切結合的實例,是目前市面上最為詳細的TRON數字錢包科普資料。波場錢包作為波場公鏈生態中極為重要的入口,是波場生態的重要構成要素。波場錢包從一開始只提供權限管理、轉賬收款、節點投票等基礎功能,到如今不僅可以為用戶提供法幣交易、閃兌和去中心化交易所等方便快捷的交易服務,還能讓用戶直接在錢包上體驗波場上DApp,挖礦、DeFi、Staking等資產增值服務。詳情見原文鏈接。[2020/8/20]

因此,我們需要的數據在以太坊節點所組成的網絡中其實都有,只不過網絡的架構沒有考慮過我們的用例。在以太坊協議上構建輕量級客戶端需要解決三大問題:

動態 | 新浪財經:官媒針對區塊鏈的報道從科普宣傳轉向打假監管:據新浪財經今日消息,“1025新政”滿月,一個月間,官媒對區塊鏈的態度風向已轉。據11月初的一項統計,七家黨媒在新政一周內發布了65篇直接相關報道,當時文章中的關鍵詞是數據、產業、安全、創新等,大量文章偏向于科普區塊鏈的概念以及應用介紹,提醒警惕虛擬貨幣炒作的僅有3篇。近期,官媒的批評焦點則紛紛指向借區塊鏈之名進行的虛擬貨幣發行和炒作行為。據統計,新華網、人民網收錄轉載的,以打擊虛擬貨幣或揭露假借區塊鏈行騙為主題的文章,自10月25日到11月25日午間,共28篇;其中,11月19日至11月25日的一周內就高達15篇。這些文章主要圍繞三個觀點展開:厘清區塊鏈和虛擬貨幣的關系,說明二者概念不等;打擊偽“區塊鏈”騙局,或是虛擬貨幣騙局揭露;提醒民眾,區塊鏈不能成為炒作的噱頭,更不是行騙的招牌,需警惕此類活動,理性投資。[2019/11/26]

A:我們需要對正統鏈有一個簡明的了解

動態 | 幣安科普MimbleWimble算法:幣安官方推特今日發布隱私算法Mimblewimble的科普貼,在下方留言區大量網友留言猜測是否是基于 Mimblewimble算法的隱私幣Grin或者Beam即將登陸幣安交易所,其中猜測Grin的呼聲更高。[2019/9/2]

B:我們需要使用索引,便于按區塊號查找區塊,并按哈希值查找交易

C:我們需要減少單個節點存儲的總數據量

要找到區塊鏈最新區塊,最免信任的方式是從頭開始構建一條完整的區塊頭鏈(由區塊頭組成的鏈條)。為此,我們需要獲取大約 1100 萬個區塊頭,并為其提供大約 6GB 的存儲空間。

如果沒有完整的區塊頭鏈,客戶端就無法辨別區塊頭是屬于正統鏈還是叔塊的。對于手機和樹莓派等低資源設備來說,6GB 的存儲成本過于高昂。如果用戶要先獲得 1100 萬個區塊頭才能發出第一個請求的話,那就違反了客戶端無需同步的要求。

動態 | 央行官微舊文重發“再科普”:范一飛詳解數字貨幣:據中國經濟網消息,今日,央行官微公眾號頭條重新發布央行副行長范一飛在2018年1月25日題為《關于央行數字貨幣的幾點考慮》的文章,對央行數字貨幣再次進行科普。同時,微信公眾號第二條發布支付司副司長穆長春8月10日在第三屆中國金融四十人伊春論壇上的演講。近年來,各主要國家和地區央行及貨幣當局均在對發行央行數字貨幣開展研究,新加坡央行和瑞典央行等已經開始進行相關試驗,人民銀行也在組織進行積極探索和研究。[2019/8/21]

幸好我們可以借鑒信標鏈的機制來解決這一問題。我們只需在以太坊協議上添加一個 “雙倍批量默克爾 log 累加器(double-batched merkle log accumulator)”,就可以構建一個簡單易懂的機制來提供某個區塊頭是否包含在正統鏈上的證明。客戶端只需準確掌握最新區塊頭的信息,并通過累加器生成的簡單默克爾證明來證明歷史區塊頭包含在正統鏈上。

同步問題是一個可以在客戶端層面解決的用戶體驗問題。有兩種解決方案:1. 設置區塊頭“檢查點”;2. 信任觀察到的鏈首塊,并執行實際的工作來獲取該鏈首塊,然后對其進行異步驗證。我們可以將這些作為功能標志(feature flag)提供給用戶,讓用戶在安全性和便捷性方面自行權衡取舍。

有一些 RPC 端點很難直接構建在現有網絡架構上。客戶端目前可以通過在區塊鏈歷史記錄上創建索引來服務這些端點。存在問題的端點主要有:

eth_getBlockByNumber

eth_getTransactionByHash

eth_getBlockByNumber端點的難點在于叔塊。任意區塊高度都有可能出現無限個有效區塊,但是只有其中一個區塊在正統鏈上。因此,客戶端在拼湊正統鏈時也會構建自己的索引來將 block_number 映射到 block_hash 上。當客戶端通過 JSON-RPC 請求某個區塊號的區塊時,該索引會將這一請求轉化為請求某個哈希值的區塊。

eth_getTransactionByHash也存在同樣的問題。如果我們將叔塊納入考慮,一筆交易可能存在于多個不同的區塊中。但是,單就正統鏈而言,一筆交易只存在于一個區塊內。客戶端在處理正統鏈時會創建一個索引來將 transaction_hash 映射到 (block_hash, transaction_index) 上。當客戶端收到對某筆交易的數據請求時,該索引會將這一請求轉化為允許查找該交易以及包含該交易的正統區塊。交易和區塊都必須包含在 JSON-RPC 響應內。

因此,我們需要一個機制來顯示這些索引。

區塊頭累加器為我們提供了一種機制,可以讓索引數據成為正統鏈的一部分。

以太坊協議自設計之始,就將 DevP2P 以太坊網絡中的節點設想為能夠響應任何關于查找區塊鏈歷史記錄的請求 —— 無論是最新的區塊、很老的區塊還是介于二者之間的區塊。以太坊網絡沒有機制可以讓節點僅存儲區塊鏈歷史記錄的子集。從根本上來說,整個網絡都依賴于所有節點都存儲所有數據這一假設。網絡本身無法強制節點存儲所有數據,但是客戶端會與無法響應其請求數據的對等節點斷開連接。這在一定程度上保障了安全性,因為無法響應請求的客戶端不太可能會維護健康的對等連接。

因此,首先需要解決的問題是,創建一種機制讓單個節點可以僅存儲區塊鏈歷史記錄的子集,同時讓網絡為節點提供一種機制,以便節點快速找到擁有它們所需數據的節點。

事實證明,這是 Kademlia DHT 網絡的新興屬性。該網絡拓撲自身的系統就可以在任意大的密鑰集中進行?O(log(N))?查找。假設我們要查找區塊哈希和交易哈希之類的數據。我們可以通過 DHT 查找它們,使用對應區塊頭對其進行驗證,并使用區塊頭累加器來證明它們在正統鏈上。

“Alexandria” 是Kademlia DHT 網絡的暫定名稱。該網絡旨在按需提供區塊鏈歷史記錄的訪問權限。該網絡本身構建在 Discovery v5 協議上(信標鏈和以太坊網絡也是基于該協議構建的)。這就意味著,絕大部分(乃至所有)語言編寫的客戶端都會有可用的實現。

雖然我們沒有嚴格要求修改核心協議來添加區塊頭累加器,但是這樣做確實可以大幅改善這一情況。即使沒有Alexandria,使用累加器也會讓核心協議如虎添翼。

我們還需要解決可擴展性問題。將區塊號映射到的正統區塊哈希值的正統區塊頭索引相對較小,僅包含一個條目(每個區塊頭對應一個條目)。然而,交易索引很大,包含近十億個條目(每發送一筆交易都會有一個條目)。相比之下,廣泛使用的 BitTorrent DHT 包含大約 2600 萬個不同的種子。以太坊主網需要在我們的 DHT 上存儲大約 50 倍的數據。

構建 Alexandria DHT 并為其制定規范是一個持續性的研究主題,目前已經有了一個還在不斷完善中的大致規范和概念證明客戶端。我們還在繼續進行開發,之后會公布新的進展。

(未完)

(文內有許多超鏈接,可點擊左下 ”閱讀原文“ 從 EthFans 網站上獲取)

原文鏈接:

https://snakecharmers.ethereum.org/the-winding-road-to-functional-light-clients-part-2/

作者:Piper Merriam

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

Tags:區塊鏈以太坊LOCKBLOwpc幣區塊鏈以太坊幣現在的價格是多少VRBLOCKS幣BLOOP幣

Polygon
TOK:NFT制作與OpenSea部署教程_TOKEN

在這篇文章里,筆者將展示如何在沒有軟件公共技術背景下制作 NFT。然后,我們將學習如何用 Brownie、 Python、和 Chainlink 制作無限制可自定義的 NFT.

1900/1/1 0:00:00
ROLL:以太坊擴容戰爭拉開序幕 Metis Rollup 方案有何差異化優勢?_roll幣能出泰沙拉克嗎

Metis Rollup 采用多虛擬機、 IPFS 數據層、微服務框架和新驗證者角色等機制以改進擴展性、安全性,并縮短驗證周期.

1900/1/1 0:00:00
STA:WeStarter的平臺通證WAR的價值支撐與早期價格核算_ART

WeStarter作為一個新興代幣分發平臺,因為其平臺的定位以及上線代幣兌換的盈利響應等原因,最近一段時間熱度很高.

1900/1/1 0:00:00
區塊鏈:Epix:高端收藏品平臺_pixel幣最新消息

Epix 的前景可以由大膽、美麗和有遠見這三個簡單的詞語來概括。高端收藏品平臺 Epix 背后的企業—Pixeos 成立于 2018 年.

1900/1/1 0:00:00
KSM:平行鏈競拍真的來了 準備好獲得 KAR 了嗎?_KAR

隨著平行鏈競拍的時間越來越近,Karura 作為 Kusama 的 DeFi 中心與 Acala 的先行網,我們希望為社區提供所需的資料,以充分理解 Karura 的產品和愿景.

1900/1/1 0:00:00
SDT:中幣(ZB)網格交易新手教程以及相關科普_泰達幣usdtapp下載

在幣圈,有著“四年一牛”的說法,其余的時間我們大多數是在持有,蟄伏。而網格交易就是應震蕩而生,它能提高投資者資金的利用率,風險較低,但收益比起其他的理財產品要高很多.

1900/1/1 0:00:00
ads