以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads

SERV:Gary Rong:以太坊的輕節點協議

Author:

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

2019年6月29日,由CSDN、靈鈦科技主辦,區塊鏈大本營、Unitimes、ETHPLANET、以太坊愛好者社區、火星財經協辦的“2019第二屆以太坊技術及應用大會”在北京·長城飯店隆重舉行。

本次大會圍繞以太坊生態全景、以太坊未來發展、以太坊開發實戰、優質項目案例等多方面展開,邀請以太坊創始人及核心技術開發者、海內外知名項目負責人、行業領軍人物及以太坊生態精英專家齊聚于此,共同助力中國以太坊技術深度交流和社區發展。

作為本屆大會的重要嘉賓之一,Go-Ethereum核心開發者GaryRong在上午的會議中分享了題為《Deepintoethereumlightclientprotocol》的主題演講。

以下為GaryRong的演講實錄:

今天我為大家帶來的內容是《以太坊的輕節點協議》。第一是輕節點協議基本概念,第二是MerkleTrie和MerkleProof,第三是算法,第四是用戶用輕節點能做哪些事情,第五是關于流量控制和流量管理模型。

輕節點協議基本概念

以太坊設計的輕節點協議有兩個目標,首先,對資源要求足夠低,必須能夠運行在IoT或者手機這種小型終端設備,其次,它必須有能力驗證從網絡中收取到證據的正確性。在我們的協議里輕節點設計了垃圾回收機制,始終只需要維護最近的Blockheaders,存儲壓力非常小,而且我們只同步Blockheaders。此外,它不會同步去做狀態變更的正確性,否則你必須要在本地維護全量賬本,這顯然不是輕節點能接受的。

工具有可能在一段時間之內推送一些對應狀態是錯誤的Header,只要能夠最終連接到全時并且分享最新的Blockheader,就能夠自動檢測出工具,保證它自身的安全性。

Ava Labs增長與戰略副總裁Garrison Yang:Web2.01是游戲產業創新的下一步:金色財經報道,7月29日由漢威信恒、新火科技與D11 Labs聯合主辦的“ChinaJoy Web3 2023”大會在上海順利召開。Ava Labs增長與戰略副總裁Garrison Yang在現場進行了以《Web2.01,游戲創新的下一步》為主題的演講,他分享道:Web3游戲用戶增長的速度并沒有大家預想中的快,當前依然存在比較大的獲客阻力,比如去中心化錢包的使用門檻、高昂的成本、游戲可玩性差等問題勸退了很多Web2的游戲用戶。

在此基礎之上,Garrison提出“Web2.01”概念:開發者們最大程度地利用Web3和區塊鏈技術的同時最小程度影響用戶的游戲體驗,以Web3的技術實現Web2的游戲體驗。“當下我們應該更著眼于提升Web2的體驗,不要去做玩家還沒做好準備的事。市場已經告訴我們,Web2游戲比Web3游戲體驗領先太多,Web3技術應該去提升這些好的體驗而不是替代它。”Garrison表示到。

今年6月,Ava Labs推出Avalanche Arcad3計劃,致力于幫助Web2游戲公司探索Web3,Arcad3將為Web2游戲公司提供區塊鏈技術、市場營銷和經濟模型等幫助。[2023/7/29 16:05:56]

綜合來看,它是在Blockheader基礎上對其他部分的數據,在真正使用到時才會向網絡進行請求并且進行驗證,它把P2P數據庫當成它自己的數據庫。

目前有兩類,一類是Les端實現的,第二類是PIP客戶端進行實現,我們主要介紹第一類協議。

說唱歌手Snoop Dogg和企業家Gary Vaynerchuck持有的NFT總價值9500萬美元:3月2日消息,根據DappRadar數據,說唱歌手Snoop Dogg和企業家Gary Vaynerchuck的NFT投資組合價值總計9500萬美元。

截至發稿時,Gary Vaynerchuck的錢包持有價值8189萬美元的NFT。其持倉包括來自頂級收藏品項目的多個NFT,例如CryptoPunks(他總共擁有多達60個)、Bored Ape Yacht Club和World of Women。

Snoop Dogg是一位狂熱的NFT收藏家,其錢包持有多個CryptoPunks、Meebits和Fidenza NFT。他持有的最貴NFT CryptoPunk #3831按當前價格計算價值257萬美元。

DappRadar博客文章曾列出前10大最有價值的名人NFT投資組合。其他值得關注的名人包括Reddit聯合創始人Alexis Ohanian(490萬美元)、YouTube網紅Logan Paul(436萬美元)。(Cointelegraph)[2022/3/2 13:32:37]

目前以太坊中的節點根據類別主要分為三類,第一類是Archivenode,用來維護全量區塊鏈數據,同時維護每個版本狀態數據,它已經超過兩個T。第二類節點是Fullnode,對中間版本或過期進行垃圾回收,有100多個GB。

我們進行了優化,目前最快可以在40分鐘之內完成以太坊的同步。最后一個是lightclient,有垃圾回收機制,可以將本地數據庫控制在很小值,大約只有50兆左右。它可以選擇從可信的點同步,而不必要每次都從block進行同步,同步最新的幾萬個header就可以同步,1分鐘之內就可以完成區塊鏈的工作。

Gartner:三季度“勒索軟件即服務”和比特幣支付需求導致攻擊激增:金色財經報道,據全球信息技術研究和分析公司Gartner對294名不同行業和地區的企業高管調查的最新風險監測報告顯示,2021年第三季度,高管們最擔心的問題是“新型勒索軟件”的威脅,Gartner風險與審計業務副總裁Matt Shinkman表示,高管們認為,不斷演變的勒索軟件攻擊的負面影響非常嚴重,新的勒索軟件模型在許多方面成為企業的最大威脅,這與加密貨幣的流行密切相關。加密貨幣增強了攻擊者的匿名性,同時也為敲詐受害企業提供了新的模型。勒索軟件的商業模式變得更加專業化和高效,包括“勒索軟件即服務”和比特幣支付需求,導致攻擊激增。[2021/11/1 6:23:58]

MerkleTrie和MerkleProof

接下來介紹MerkleTrie,左下角leaf1節點用來存儲key=000。第二個特點是每個副節點都會存儲哈希,比如3會存儲1的哈希。副節點本身的哈希又是通過所有節點的哈希內容再進行一輪哈希計算得到的,所以最終MerkleTrie節點哈希值包含整顆樹中所有節點的哈希信息。

什么是MerkleProof?指它擁有一個正確的root時就可以校驗任意節點的正確性,當需要驗證時,首先需要向服務器請求,根據目標節點從根節點開始收集樹上所有節點,然后返回。

MerkleProof的安全性使攻擊者很難構造假樹節點,完全可以利用本地維護的正確的root校驗第一個節點內容是否正確,假如第一個節點哈希內容等于本地,我們可以證明第一個節點內容是正確的,可以從第一個節點的列表中拿到第二個節點的哈

聲音 | Gartner總監:尚且需要一到兩年的時間才能激發有意義的去中心化身份采用:近年來,人們對越來越多的隱私和安全漏洞感到失望,這推動了數字身份的創建,而這些數字身份僅由信息所有者控制。這些被稱為“自主身份”的數字身份將在未來幾年被消費者、企業、員工和政府用來驗證一切,從信用價值和大學文憑到執照和B2B的憑證。高德納(Gartner)高級研究總監HomanFarahmand表示,“我們正在逐漸進步。我們需要一到兩年的時間,才能擁有可靠的能力,激發有意義的去中心化身份采用。對組織而言一個主要的非技術障礙是學習這個概念,并采取必要的步驟來適當地調整他們的業務流程以適應去中心化的身份生態系統。”越來越多的組織正在尋求更好地理解基于區塊鏈的去中心化身份識別技術。目前,涉及少數組織的概念驗證項目要多于生產系統。根據Farahmand的說法,這些試點項目正在政府、金融服務、保險、醫療、能源和制造業等領域進行試驗,尚不構成一個完整的生態系統。Farahmand稱:“雖然這些項目有助于發現治理、用戶體驗、標準化和互操作性等方面的差距,但目前還沒有一個上升到實際的去中心化生態系統來引導普遍采用。”[2020/1/6]

同理,可以用這個哈希校驗第二個內容是否正確,以此類推,我們可以校驗最后一個目標節點的正確性。

Checkpoint同步

Checkpoint同步必須滿足兩個條件。首先,它一定是可信的;其次,必須要能夠去利用這個信息去做歷史數據的校驗,這樣它才能夠真正不去同步所有歷史的Blockheaders。

在同步時收到來自網絡的大量Blockheaders,還會進行PoW校驗,假設我們對全量的Blockheaders進行校驗,會發現本地節點的計算帶寬遠遠大于網絡帶寬,恰巧運行比較弱的能力下,所以我們選擇以1%的概率抽取一些Blockheaders校驗,被校驗的每一個Blockheaders確認所有之前的Blockheaders。

比特幣百萬富翁Jeremy Gardner向非營利組織區塊鏈教育網絡捐款價值10萬美元以太坊:比特幣百萬富翁Jeremy Gardner向非營利組織區塊鏈教育網絡(Blockchain Education Network)捐款價值10萬美元的以太坊。[2017/12/29]

然后詳細講一下Checkpoint,它是能夠真正完成同步過程的最關鍵因素,Checkpoint由sever或全推動,處理32768blocks以后產生的元數據,元數據包含幾個內容,首先是Sectionsindex保證新舊程度。

CHTroot,全節點將區塊鏈最強鏈的每個區塊哈希作為數據項插入到本地中。這是包含在里面的CHTroot,假設這是正確的,就能夠借助這個CHT去校驗任何一個被點覆蓋的正確的哈希值,有了正確的哈希就能夠獲得正確的Blockheader,就能夠對歷史數據進行校驗。

處理了32768blocks以后可以在本地生成下一個CHTroot,一旦產生了的歷史信息已經被歸納到新的樹當中,這時就可以對歷史的Blockheaders進行垃圾回收。

到目前為止我們對Checkpoint有很強的假設,認為用到的這個是正確的,但是當剛進入網絡時沒有任何數據,很難校驗是否正確。

我們暫時用兩種方法解決這個問題,一是開發者通過編碼方式在代碼中確認最新Checkpoint,是較為中心化解決方案,用戶限定為開發者給定的解決方案,通常開發者發布新版本才會去更新,同步時用到的Checkpoint是過期的信息,所以依然需要下載很多Blockheaders才能夠完全同步。

為了解決更新問題,第二種方案是在區塊鏈部署一個智能合約,把Checkpoint更新操作通過這個智能合約完成,這種方式只要區塊鏈產生一個新的Checkpoint,智能合約可以通過多簽簽名方式注入到合約里,這樣始終用的都是最新的Checkpoint。

這依然沒有解決中心化的問題,我個人認為這里中心化一定程度可以被接受,假設不信任開發者,理論上也就不會使用開發者交付軟件。PoW本身并沒有像Pos那樣的認知,所以這并不是一個特別簡單的事情。

Lightclient能做什么?

用戶能夠用Lightclient做哪些事情?首先,它能夠幫你做交易轉積,當它收到本地交易可以把交易轉積到server,不斷向server查詢狀態,一旦被確認,server就給它發送響應,這樣就可以通過本地維護去校驗是否正確。其次,它能夠查詢賬本服務,對于目標帳戶的狀態查詢本質來說是對M的一次M。

然后,Lightclient能夠讓用戶在本地進行智能合約調用,把合約的二進制碼需要用到的狀態數據以及調入放到里面執行,等待它的輸出。區別在于對于Lightclient來說,沒有合約,二進制碼也沒有需要用到的狀態數據,缺失的數據都是通過網絡進行請求。

目前還有一個問題是缺失數據的狀態在運行時才能夠知道到底缺失哪些數據,所以我們發現一次合約執行過程中可能會涉及很多次網絡的請求,這個智能合約整體執行效率就受到本地節點網絡帶寬的限制。

我們今后會把智能合約執行過程挪到server端,收集狀態數據以及對應的proof,在一個網絡包進行返回,通過一次網絡請求獲取到所有狀態數據,大幅度提高在本地執行的效率。

Lightclient還能夠讓用戶進行智能合約事件的訂閱,但是它本身并不會去同步所有的receipts,為了完成這個功能,它只能通過每次同步得到的Blockheader去猜測里面是否包含用戶感興趣的事件。

我們在里面加了bloom過濾器,把關鍵信息收錄進來,Lightclient通過同步得到一個新的Block之后可以通過過濾器根據本地用戶得到的關鍵字進行匹配,一旦匹配通過,說明這個Block有可能包含目標事件,然后在本地實現精確過濾返回給用戶。

最后一點,Lightclient能夠讓用戶進行歷史智能合約事件的搜索功能。搜索跟訂閱的復雜度完全不同,最簡單的是遍歷Blockheaders,這樣非常低效,但為了提高效率,我們對過濾器的存儲進行了優化。

這樣的優化是同時拿到3萬個Blockheaders,把對應的過濾器同時進行90度旋轉,分別將第0位、第1位、第2047位進行整體存儲。這樣的好處是假設搜索關鍵字為a的事件,把它進行散列,假設一個區塊過濾器滿足這三位同時為“1”,表明這個區塊有可能包含這樣一個目標事件。

但是我們發現整體只用到這3個信息,剩余的2045位都是無效的數據,90度旋轉很好地解決了這個問題,我們可以有針對性的獲取這3個過濾器的信息,同時一次驗證3萬個Blockheaders有哪些包含目標,提高合約搜索效率。當然,Lightclient數據命中是通過網絡進行請求的,所以它的效率稍微低一些。

流量控制和容量管理

最后一點是關于協議中的流量控制和容量管理的一些內容。首先,流控問題,我們采取比較傳統的流控技術,有所區別的是在中心化架構下,client需要往一個單點發送請求,server為它進行負載均衡、流量控制。但在非中心化情況下沒有這樣的單點問你的client做負載均衡。

所以這里采取了比較特殊的機制叫“鏡像令牌桶”,server發送一些參數,最慢的恢復速度和一張MaxCostTablle,client在本地同樣維護令牌桶,然后去判斷本地令牌里面有沒有這么多令牌讓它發送請求,如果沒有的話就不應該向server發送這個請求。在server端顯得更為復雜,因為server給client都是最低配置參數,比如最慢恢復速度。

server處理請求有較為精確的計算公式,我們保證公式結果不會大于查詢得到的結果。此外,當server發現它的資源被閑置時會給client更快令牌速度,所以同時維護兩個令牌桶。

server處理完這筆請求后會根據本地的值對本地鏡像令牌桶調整容量值,同樣會把buffer返回。一般一個client在本地有多個server,為每個server都構建一個令牌同,client傾向于把請求轉積給更多令牌的server,server也優先處理擁有更多令牌的client的請求,以實現資源的均等劃分。

通過這種方式client能夠借助本地令牌信息更好管理和分發它的請求,避免很低的處理優先級或者很高的響應延時。

然后是server端的容量管理,我們提供4個參數讓server運維限制server資源使用。第一個是Lightserver,它表示1秒中有多少百分比時間server可以用來處理client的請求,后臺有多個限權同時處理client的請求。同時,有兩個網絡帶寬的參數性質,server網絡帶寬如果是珍貴的網絡資源,可以通過這兩個參數進行限制。最后一個是Lightpeers,表示server連接最多client的數目。

server處理請求有一個較為精確的計算公式,同時考慮兩方面內容。首先是時間開銷,也就是說處理這筆請求對應花費的時間;其次考慮網絡帶寬的因素,它會考慮這個請求對應的root包大小;最后取這三個上限值,假設server特別慢,這時時間開銷應該是最大的,如果你的server網絡帶寬被限到很小值,這時網絡包的開銷是最大的。

然后是Bufferrecharging,server端可能同時有多個client,恢復速度總和在server端有一個上限叫recharge,代表這個server所能服務的請求能力,以及server運維者可以通過這個限制進行使用。

為了最大提高server對client的服務數量,規定server端資源閑置時會給server更快令牌恢復速度。當server發現它在過去一段時間內處理的client請求累積的時間開銷,加上本地緩存的預估時間開銷的之和超過了恢復能力,這時表明server已經過載,一定的優先級請求發送頻繁的client進行凍結,通過這個方式最大程度利用server端資源,同時有嚴格機制限制這些資源的使用。

最后是Freeclient和Prioriityclient,它不會去參與區塊的驗證,不會參與其他用戶發起的交易,它需要server為它免費提供請求服務。但是client在用戶體驗上確實有一定優勢,它對資源要求非常低,非常短的時間內完成。所以我們提出了付費節點的概念,Lightclient可以通過微支付向server進行付費,讓server給它賦予更高的容量,這樣它能夠發送更多請求,并且這些請求有更低的響應延時。

這時我們的Serverfullnode收到了對應的報酬,目前運行沒有任何經濟激勵,但是fullnode對網絡安全是非常重要的決策,我們希望通過這種方式對現狀進行一定程度的改善。

Tags:VERSERServeSERVH-Space MetaverseTIMESERIES幣FD Reserve

比特幣交易
加密貨幣:俄羅斯最大的比特幣挖礦的礦場開建,造價730萬美元

配置3000件礦機設備,占地面積4000平方米,俄羅斯最大的比特幣挖礦的礦場讓我們感到驚訝。這個計劃的背后是神秘宇宙規劃的。該礦場在之前“蘇聯肥料生產實驗室”曾經使用過的地方建造.

1900/1/1 0:00:00
比特幣:比特幣猛漲閃跌,一度逼近14000美元

過去24個小時,市值最高的加密貨幣比特幣經歷了猛漲閃跌的過山車行情,最高曾一度逼近14000美元,但隨后開始閃跌。除比特幣外,加密貨幣市場整體下跌.

1900/1/1 0:00:00
Kucoin:KuCoin最新全球大使 – Block Crafters

親愛的KuCoin用戶:我們很高興地宣布,BlockCrafters已與KuCoin達成合作,將加入KuCoin全球大使計劃,成為我們最新的全球大使.

1900/1/1 0:00:00
ASM:LOEX國際站開放CAR/LCNY交易市場

尊敬的LOEX用戶:LOEX國際站于新加坡時間7月1日13:30開放CAR/LCNY交易市場。交易市場:https://www.loex.io/trade動態 | Bakkt首席執行官Kelly.

1900/1/1 0:00:00
加密貨幣:陳云峰: 數字貨幣行業的競業限制條款適用問題探討

近日,媒體報道比特大陸和幣印創始人潘某等人由于競業限制糾紛而訴至法院,業內人士對此褒貶不一,從道德、情理、法理角度解釋經營者和員工之間的競業限制條款適用都能得出大相徑庭的結論.

1900/1/1 0:00:00
LUNA:實探華強北:狂漲的比特幣,狂燒的礦機廠商

楊經理拿起手上的計算機,敲出了比特幣礦機的最新價格,這已經是“行規”:問價格都用計算器回答,價格板上永遠都是用xxx代替.

1900/1/1 0:00:00
ads