比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > Pol幣 > Info

Beam Sync:同步以太坊節點的新方法_NFT

Author:

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

編者按:本文來自:以太坊愛好者,作者:JasonCarver,翻譯&校對:陳亮&阿劍,Odaily星球日報經授權轉載。為什么要改善節點同步體驗?每當我想起目前還有多少人仍在使用Infura與鏈上應用程序交互時,我就感到有點難受。Infura的服務很棒,但如果大部分用戶都不自己運行節點,顯然也不太對頭。即使是非常有能力且積極性非常高的開發人員,也不能完全擺脫對Infura的依賴。從這點看來,我們仍未完成以太坊的“自主驗證”愿景中的重要部分。我們的團隊希望盡自己的力量扭轉這一趨勢。我們的使命是盡可能增加網絡上的節點數量,特別是那些由愛好者、研究人員和開發人員運行的節點。當我們問起他們為何不運行自己節點時,答案不外乎是:“我安裝了客戶端軟件,也嘗試了同步區塊鏈,但好像總是同步不上。于是我就停下來了,因為我還有別的事要做。”所以,如果我們想讓更多的人來運行節點,就得讓節點同步更快一些,并且在同步過程中能夠反饋進度信息。許多團隊都在這個領域耕耘。專用硬件或許是一條重要途徑。但在這篇文章里,我們想講的是“BeamSync”同步方法如何能夠大幅提升同步速度。現有的同步方法

為了更好地理解BeamSync的原理,我們先來看看現有的幾種同步方法。FullSync

完全同步方法是執行自創世區塊以來的每一個區塊。創世區塊標志著一個起始創世狀態。所謂“執行區塊”就是,每下載到一個區塊,就讀取前一個狀態并產生新狀態,并以該新狀態來驗證區塊頭中的狀態根。在以太坊主網上完全同步的速度非常慢,而且隨著網絡的老化,使用完全同步方法來同步到最新區塊的時間也會越來越長。所以人們開發出了“快速同步”方法。FastSync

加密市場預測項目BullBear AI完成100萬美元融資,PolkaBridge Ventures參投:6月29日消息,基于AI的加密市場數據分析服務提供商 BullBear AI 宣布完成 100 萬美元融資,PolkaBridge Ventures 參投,新資金將用于在新地區進行市場拓展。BullBear AI 的工具可根據加密行業數據、用戶行為和價格行為來預測市場波動趨勢。[2023/6/29 22:07:39]

快速同步方法就是下載過去所有的區塊和區塊頭,并選擇最近的區塊作為“啟動塊”。啟動塊以前的區塊都跳過執行,到了啟動塊再開始執行區塊。這種方法假設了從創世塊到啟動塊都正確地遵循了所有EVM規則。這個假設是合理的,因為礦工有動力遵循誠信不作惡原則,生產正常區塊,拒絕可能具有攻擊性的區塊。在快速同步可以執行啟動塊之前,需要的區塊狀態包括:合約字節碼、帳戶和合約存儲內容。執行交易時可能需要讀取所有這些值中的任何一個。因此,快速同步方法要求從其他對等節點處獲得啟動塊之前的狀態快照。快照是用狀態根哈希值來標記的;所謂狀態根哈希值,就是所有狀態內容的哈希默克爾樹根值。節點使用該狀態根哈希來驗證從其他對等節點處下載的狀態數據是否與礦工在該區塊中聲明的狀態相匹配。快速同步方法下載完所需的所有狀態后,等于節點已經有了執行交易所需的一切數據。那么這時候開始,節點就可以切換成完全同步模式了,從啟動塊開始可以逐個逐個執行區塊了,就跟完成了啟動塊以前的完全同步過程的節點一樣。簡化之后的過程就像下面這張動圖所顯示的:

NFT項目Okay Bears推出全新激勵計劃“Badges and Streaks”:2月18日,據官方推特,NFT項目Okay Bears宣布推出全新激勵計劃“Badges and Streaks”,讓NFT持有者獲得獎勵,Badges(徽章)可以通過達到某些里程碑來獲得,比如收集全部特征等,Streaks持有者分為三種類型,分別是GM streaks(使用Okay Bears平臺發送品牌推文的NFT持有人和非持有人都可以獲得參加定期抽獎活動)、rep streaks(已建立數字身份或代表Okay Bears IP的用戶可參與每周抽獎)和sleep streaks(可通過delist NFT來獲得實物或數字投放激勵)。[2023/2/18 12:14:20]

其他方法

其他的快速同步方法包括WarpSync以及一些目前尚未得到驗證的同步方法。抽象一些來看,它們都屬于快速同步方法的不同形式。另外,即使了解這些其它同步方法的原理,也無助于理解Beam同步策略,所以這些同步原理不是我們這篇文章的重點,我以后再講。快速同步方法有多快?

快速同步方法在目前的主網運行環境下面臨一些挑戰,因為同步需要下載很多數據,甚至超過100GB的數據,所以,可能在上圖所示的第二步“GetAllState”就要卡住很長時間。更糟糕的是,對等節點不會逐塊給你提供狀態數據,只會提供啟動塊前一段時間內的狀態,比如啟動塊前100個區塊的狀態數據。Geth客戶端的默認設置是前120個區塊。如果你不能在30分鐘內下載完所有的狀態數據,你就需要做切換,就是換一個新的啟動塊,重新開始同步,雖然不是從0開始,但是也增加了下載和驗證區塊的時間。Geth客戶端在提高同步速度上取得了非凡的成績,快速同步和完全同步模式都有巨大進步,而且Geth客戶端的每一次更新都會有所推進,但即使你有非常完美的電腦硬件,同步過程依然需要持續至少4小時。對于第一次同步來說,這樣的過程確實略顯艱難。那么,我們團隊正在開發一個用Python語言編寫的客戶端,叫“Trinity”。Python在速度性能上不會比Go語言更快。如果以性能為中心的Geth代碼不能像我們希望的那樣快速同步,Trinity客戶端又有什么機會呢?完全有理由預計Trinity客戶端執行一次快速同步需要幾個星期。但是如果客戶端不能同步主網,那么它就沒意義,同樣,花費幾周時間去同步也沒有意義。出于這種需要,我們構思了一種新的同步策略,我們現在稱之為:Beam同步方法。Beam同步方法

Okay Bear成為Solana鏈上美元交易額第一大NFT系列:7月10日消息,據 CryptoSlam 數據顯示,Okay Bear NFT 交易總額已突破 2 億美元,超越 Solana Monkey Business 成為 Solana 鏈上美元交易額第一大 NFT 系列,當前 Okay Bear 交易額為 219,599,745 美元,交易量為 34,221 筆;Solana Monkey Business 交易額為 198,739,108 美元,交易量為 11,027 筆。[2022/7/10 2:03:02]

概述

Beam同步方法是直接改進快速同步方法的結果,這兩種同步方法的區別是Beam同步方法是一開始就直接執行啟動塊,并且只請求本地數據庫中缺少的狀態數據,并把輸入狀態和輸出狀態保存在本地。執行完一個塊后就同步到下一個塊并重復該過程,按需請求缺少的數據。

隨著時間的推移,缺少的數據會越來越少。注意,如果某個狀態從未被訪問過,那么客戶端將永遠不會請求它,因此我們在后臺運行另一個進程來填補這些空白。通過該回填過程,Beam同步最終會取得所有狀態數據并保存在本地,然后節點就可以切換到完全同步狀態。我們將執行每個塊所需的數據集稱為“區塊見證數據”。得益于默克爾樹的結構,我們不用完整地下載某個狀態,就可以證明見證數據真的是從這個狀態中取出來的。區塊見證數據大小

Uniswap社區發起提案,計劃將Uniswap V3部署到Moonbeam:3月31日消息,Uniswap社區發布了一項治理提案,旨在通過社區授權于波卡生態智能合約平臺Moonbeam上部署 Uniswap V3,將Uniswap 擴展至Polkadot生態。據悉,跨鏈橋解決方案Nomad承諾通過Moonbeam基金會贈款計劃向 Uniswap 捐贈 250萬美元,以幫助Uniswap開發跨鏈應用程序、開源錢包軟件等,發展其多鏈生態。

根據該提案,除提供流動性挖礦獎勵外,在Moonbeam上的部署或將支持更高的杠桿。提案發起人稱有意將該提案作為示范,為跨鏈部署創建一個通用的解決方案。據Snapshot顯示,目前該提案的支持率為100%,并將于4月3日晚結束投票。Moonbeam 為波卡生態智能合約平臺,具有EVM兼容性,今年1月11日啟動主網。[2022/3/31 14:28:20]

為了簡單起見,我們用“區塊見證數據大小”來指稱執行區塊所需的數據元素數量。這類數據元素可能是在主要賬戶狀態樹上的一個節點,或者是合約存儲樹上的一個節點,或者是某個合約的完整字節碼。分析區塊見證數據大小是理解Beam同步方法性能的關鍵。快速同步方法必須在執行第一個區塊之前下載全部狀態數據,而Beam同步僅需要下載一個區塊的見證數據,如果所下載的區塊見證數據包含完整狀態的三分之一,那么Beam同步的運行效率將大約是快速同步的三倍。所以,顯然,下一個步驟是看主網的見證數據實際是多大。可能直接下結論還為時尚早,但是早期試驗結果表明3000個狀態樹節點的數據量是一個合理的估計。而主網的全部狀態信息有超過3億個樹節點。Beam同步的速度提升

周杰倫加持的NFT項目PhantaBear交易總額突破1億美元:金色財經報道,據最新數據顯示,周杰倫加持的NFT項目PhantaBear交易總額已突破1億美元,創下歷史新高,本文撰寫時為100,031,115美元,交易量為14,065筆。Phanta Bear由 10,000 個通過算法生成的數字收藏品的集合,可兼作 Ezek 俱樂部的會員卡,每只幻象熊都有一組獨特的特征,并為其主人解鎖不同的、獨特的訪問級別和特權,該項目由 PHANTACi 和 Ezek 聯合發起。據悉,Phanta Bear NFT獲得了多位名人加持,包括五月天、林俊杰、周杰倫和陳冠希都在Instagram上展示過相關NFT,因此在短時間內獲得了大量關注。[2022/2/17 9:57:55]

讓我們新定義一個標準:“從啟動到執行”的時間。這是從用空數據庫啟動節點到完成最近一個區塊的完全導入所需的時間。如果Beam僅需要下載3000個狀態樹節點,而快速同步需要下載3億個樹節點,那么我們就可以確定BeamSync方法的速度上限:在同步主網時,可在“從啟動到執行”時間上獲得最多10萬倍的提升!但是,BeamSync方法往往無法真正做到10萬倍提升。理由包括但不限于:狀態數據的下載并不是建立全節點的所有工作,例如,我們還要下載區塊頭來驗證我們所同步的區塊鏈是最長鏈區塊見證數據是按需確定的,這就意味著我們無法提前預知需要哪些狀態數據。所以我們向對等節點請求數據時,一次只能請求一個狀態數據。相反,快速同步一次最多可請求384個樹節點,這使得Beam同步對對等節點的網絡延遲更敏感。尋找高質量,低延遲的同步節點需要花些時間。說實在的,會遇上什么樣的對等節點,那是真·隨機事件。與快速同步方法不同,Beam同步方法會持續下載啟動塊之后的區塊狀態,這樣也會拖慢區塊導入時間。如果你對這一點有一些直觀認識,那么你可能會注意到,如果收集區塊見證的平均時間比區塊生產的平均時間還要長,那問題會更加嚴重。Beam同步滯后性

獲得第一份區塊見證數據所需的時間必定長于網絡產生一個區塊的時間。同樣,我們也可以預見,見證數據要幾個區塊的時間才能送達,我們把這種情況稱為“滯后”,大約是最新一個導入區塊和鏈頂端區塊之間的時間間隔。區塊見證數據的收集延遲問題可能會逐漸加重,然后你會發現你的Beam同步節點延遲了5分鐘。這就是說,你本地擁有的最新區塊其實是整個網絡5分鐘之前產生的區塊,這意味著當RPC調用你現在節點賬戶余額的時候,你的節點會反饋五分鐘之前的余額。在坊間的測試中,很常見的一個現象是滯后時間變化很大,從1分鐘到20分鐘不等。幸運的是,我們有一些技巧可以使得區塊同步從滯后的情況中恢復,事實上,一般來說,落后越多反而恢復得越好,這就導致了滯后時間的極大波動:先是不斷落后,然后是迅速追趕,循環往復。我們可以在區塊落后的情況下更快地趕上的一個原因是,我們可以提前、同時為多個區塊生成見證數據。畢竟,只有落后時,你才能利用這些未來的區塊。當然,如果收集所需區塊數據的時間總是超過區塊產生時間,那么毫無疑問你將會越來越落后于區塊鏈的增長,我們希望這種情況永遠不會發生,但我們需要為此做好計劃。BeamSyncPivot

就像快速同步一樣,如果你落后太多,對等節點可能就不愿意為你提供你需要的數據了。切換機制是解決這個問題的關鍵。Beam同步里的pivoting機制就像快速同步里的一樣,你的節點選擇一系列要跳過的塊,并在鏈頂端附近選擇一個新的區塊塊區塊頭,然后,Beam同步再一次開始,節點并沒有完全從頭開始同步,它仍然擁有來自上一次同步的所有數據。無論你是采用Beam同步或者快速同步,只要使用切換機制你就需要付出相應的成本,切換機制意味著需要下載更多數據,這些數據中還會有一些你的節點并沒有親自驗證過其執行的區塊。好消息是:如果你不是落后超過30分鐘,Beam同步方法就不需要激活切換機制,相反,使用快速同步方法時,你非得切換幾次不可。好了,讓我們看看真實的情況是什么樣。Trinity客戶端上的Beam同步

原型公布

一個新的阿爾法版本的Trinity客戶端上周公布,這個版本包括一個可在高端硬件上運行的Beam同步方法原型。我們一直在測試針對主網的同步過程。通常可在第一個小時內執行第一個區塊,多數時候都能在5分鐘之內搞定!這里不包括下載區塊頭的時間和偶爾因為缺少好的對等節點所耽誤的時間。注釋:把區塊GasLimit從8M提升到10M似乎會增加平均滯后時間,伊斯坦布爾升級后可能會減少滯后時間,因為提高了在區塊鏈上寫入狀態數據所需的gas耗費量。目前Trinity還是阿爾法版本,最新的版本依然有很多問題,比如同步可能會在一兩天后突然中止,即使沒有中止,也會落后很多導致激活切換機制。安裝Trinity客戶端需要額外的工作,命令行輸出更是一團糟。所以,Trinity目前只準備好了給那些既好奇、又不介意實際操作一下的開發者和研究人員使用。懸而未決的問題基本上都會在日常開發中暴露出來,所以這些問題都是“后臺日志上的bug”。在這一點上,可以說,沒有人擔心BeamSync會不會是一個難以企及的夢想。這種對Beam同步的信心是嶄新的。但我們也認為未來有可能有突發的未知問題亟待解決,就像一個月前一樣!剩下的工作

除了基礎的調試和實現工作,我們依然還有許多其它工作要做。Trinity還沒有實現狀態的回填機制。目前激活切換機制的唯一方法是重新啟動Trinity,而且尚不清楚Beam同步方法所需的最低硬件配置。以上所有問題都處于積極的研發攻克之中,并且這只是Trinity上許多工作之一,感謝以太坊基金會對這些工作的贊助和支持。BeamSync的創新之處在哪里?

Beam同步方法,和其他的理論一樣,都是建立在之前的研究工作之上的。通過下載最新狀態、跳過舊區塊執行來加速同步的方法,并不是我們發明的。依靠見證數據而不是完整狀態來執行區塊,從而加速執行的方法,也不是我們發明的,詳細情況可以看無狀態客戶端。真正的進展是我們綜合了這兩者:首先使用引導式快速同步來模擬無狀態客戶端,然后逐漸過渡到完全同步模式。我們丟掉了無狀態客戶端的一個優點,即低硬盤開銷,但是我們保留了快速執行最近一個塊的優點。通過在本地保存狀態輸入和狀態輸出數據,我們減輕了關于無狀態客戶端的一個重要隱憂,即被大量見證數據DOS攻擊的風險,Beam同步方法執行的時間越長,被DOS攻擊的風險越小。在我們運行以太坊本地客戶端的時候,Beam同步模式可以提供更好的反饋和更快的執行結果,我們覺得這對于用戶愉快地運行本地節點來說是重要的一步。感謝PiperMerriam、BrianCloutier、AlexStokes、VoithMascarenhas和NoelMaersk。

Tags:BEABEAMBEARNFTMATICBEAR價格YFMoonBeamADABEAR幣INFT

Pol幣
一文讀懂以太坊交易可能經歷的8個狀態_DAPP

編者按:本文來自區塊鏈大本營,作者:dfuse,Odaily星球日報經授權轉載。在本文中,我們將重點介紹以太坊上復雜的交易生命周期;開發者在這些情況下嘗試讓dapp提供理想的用戶體驗的挑戰;以及.

1900/1/1 0:00:00
幣圈驚魂24小時,投資者、交易所、DeFi眾生相_DEFI

文|小湃編輯|畢彤彤出品|PANews本以為是“黑色星期一”,卻未料是“黑色一星期”。陰跌了一周的比特幣,突然在3月12日18點開始瀑布式下跌,30分鐘內狂泄2000美元,從7343美元跌至55.

1900/1/1 0:00:00
ChainsMap鏈上數據2月掃描(上):幣價過山車提振鏈上數據,兩者有關聯?_AIN

根據CoinDesk的數據,2020年2月比特幣價格一度延續1月的上漲勢頭,但是在月中開始進入調整狀態并在月末跳水快速下跌.

1900/1/1 0:00:00
黃金被拋棄的歷史,能給比特幣什么啟發?_BTC

編者按:本文來自巴比特資訊,作者:海倫,星球日報經授權發布。比特幣信徒是否還記得,中本聰在白皮書提出的愿景,是創造一種點對點的電子現金系統?十年過去了,以“貨幣”為目標的比特幣試驗仍未成功,是時.

1900/1/1 0:00:00
零售需求可能迫使SEC批準比特幣ETF_比特幣

編者按:本文來自:Cointelegraph中文,作者:SamuelHaig,Odaily星球日報經授權轉載.

1900/1/1 0:00:00
136億美元的比特幣丟失,誰是丟幣事件里最倒霉的人?_比特幣

編者按:本文來自DeepChain深鏈,作者:不二做,Odaily星球日報經授權轉載。你知道嗎?據說一個人如果持有0.28枚比特幣,那么從統計學上來說,你至少屬于比特幣世界里最富有的1%.

1900/1/1 0:00:00
ads