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

科普:ETH 1.x與無狀態節點介紹_區塊鏈

Author:

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

編者按:本文來自以太坊愛好者,作者:LaiJack賴彥廷,Odaily星球日報經授權轉載。

本篇文章將剖析eth1.0存在的各項問題,并介紹EthereumFoundation提出的eth1.x升級相關改動能如何改善當前以太坊的困境。什么是eth1.x

以太坊2.0的研究行之有年,迄今距離全面啟動仍需要2–3年的時間,并且eth2.0將被部署為由信標鏈與多條分片鏈構成的獨立區塊鏈,而eth1.0需要經過改動與升級方能成為eth2.0中的其中一條分片鏈。這意味著現在運行的以太坊1.0區塊鏈需要進行改動,并且在未來的5~10年保持運作,持續發展。而eth1.x即為以太坊1.0升級版本的代稱。eth1.x的首要目標旨在解決現在區塊鏈日益增長的資料負擔,在區塊鏈大小持續增長的情況下保持eth1.0網絡的彈性。以太坊1.0的弊端與問題

在開始介紹以太坊1.x之前,必須先認知到目前以太坊存在的問題,如此方能充分了解eth1.x被提出的背景與旨在解決的痛點。Problem(A):網絡趨于中心化

自2020/05以來,GasPrice的節節攀升導致開發者與高頻率使用者叫苦連天,其背后原因除了以太坊用戶數量的增加,亦是由于耗費大量Gas的智能合約互動行為比例提升,使得以太坊網絡持續壅塞。面對這樣的情景,礦工社群于2020/6/19UTC投票通過,將每個區塊的GasLimit從10,000,000提升到12,000,000。截至2020/06/30,盡管每個區塊的GasLimit提升至12,000,000,合約交易占比的提升依舊讓每個區塊所能容納的交易數十分有限,在Etherscan上可以查看到以太坊的TPS在GasLimit提升前平均落在12左右;在GasLimit擴增后,TPS亦沒有出現明顯的提升。

-etherscan.io-可能有些人會想說既然12,000,000GasLimit依舊壅塞,那怎么不再往上提升?原因是GasLimit的提升將導致每個區塊的處理時間變長,進而造成UncleBlock的數量增加,使得網絡的共識機制變不健康,礦工必須耗費大量額外運算來進行處理。此外,由于獨立節點與小型礦池更容易挖到UncleBlock,長期下來出塊獎勵的期望值降低將導致部分節點入不敷出,進而離開網絡。如此將讓以太坊網絡變得更加中心化,更向大型礦池集中,危害了網絡的長期健康與安全性。Problem(B):狀態爆炸

民盟中央建議加速元宇宙科普和立法:3月4日消息,民盟中央已起草了《關于“元宇宙”技術發展的提案》,并將提交全國政協十三屆五次會議。在提案中,民盟中央建議,在科普層面需加速知識傳播,法律層面則需加快立法步伐。民盟中央擬提交的提案指出,目前,在新興網絡層面,相關政策法規相對缺失。“元宇宙”在未來將會帶動形成全新的網絡形態,當遇到突發輿情,全虛擬的環境、場景將更難進行源頭追蹤、問題疏導。因此建議應盡早加快立法研究,盡快形成與技術、市場發展相適應的治理模式和法律基礎,全面提升我國社會治理的水平。建議組織相關部門,針對“元宇宙”相關需求、風險進行立法研究,并盡快發布。此前消息,民進中央擬向全國政協十三屆五次會議提交《關于積極穩妥推進元宇宙技術和產業發展的提案》。建議推進元宇宙技術產業發展,建立相關監管治理體系。(華夏時報)[2022/3/4 13:37:12]

隨著越來越多的智能合約被部署,以及大量的合約互動行為,導致以太坊網絡需要儲存的「狀態」大小正以「等比級數」增長。狀態的增長即反映在節點的儲存空間大小上。

筆者于另一篇文章中摘要介紹了以太坊網絡中的節點:全節點與輕節點:以太坊節點面面觀文科生也該知道的區塊鏈技術知識

在2019年年底,全節點的每月增長大小「小于20GB」;到了2020/06,隨著GasLimit的提升,全節點的每月增長大小「逼近40GB」。狀態不斷加速增長的結果會對以太坊網絡的性能帶來衰退與網絡健康的損害。未來全節點的運行將會變得更加艱難,可能導致網絡變得越來越「中心化」。,即以30KB計算,單月的區塊數據增長量為30×4×60×24×30=5,184,000KB,換算過來就是5GB。而狀態數據的增長更不可能有幾十GB之巨。)此外,區塊驗證的難度將隨之提升,導致整體網絡的延遲與TPS的進一步下降。盡管這個過程如同溫水煮青蛙,在數年之后才會導致以太坊網絡出現巨大的安全性問題,然而為了避免走到那步田地,早在數年前便開始以太坊2.0的相關研究與開發。

美國說唱歌手Megan Thee Stallion與Cash App合作發布比特幣科普視頻:美國說唱歌手Megan Thee Stallion與由Square開發的移動支付服務Cash App合作發布了一段名為“Bitcoin for Hotties”的視頻。該視頻從她的角度解釋了什么是比特幣,為什么比特幣有價值等內容。Megan Thee Stallion在Instagram上擁有超過2410萬粉絲,在 Twitter上擁有640萬粉絲。(Bitcoin News)[2021/8/8 1:41:10]

-RoadmapofEthereumtweetedbyVitalikon2020/3/19-以太坊的未來

Vitalik于2020/3/19在推特上分享了他對于以太坊未來5~10年發展觀點的路線圖,主要由以下四個部分構成:eth1.xothereth1.xstatelessnesseth2phase0prepeth2phase2andbeyond圖中間的橫軸代表時間線,沿著時間軸是一個從Phase0啟動,到Phase1,再到「eth1?eth2合并」的「核心路徑」。要完成合并有三個先備條件:eth2phase1eth1?eth2合并的規范與實現eth1.xstatelessness其中,「eth1.xstatelessness」可說是對于eth1?eth2合并最至關重要的一個條件,本文將以「無狀態性」為主軸做相關的介紹。狀態爆炸對以太坊網絡的影響

由于以太坊區塊鏈的本質是一臺依靠礦工維護的去中心化大型「狀態機」,隨著區塊數量的增加更迭狀態,不斷向前移動。以太坊的完整「狀態」包含所有個人帳戶和余額的當前狀態,以及在EVM中部署和運行的所有智能合約的整體記憶體。以太坊網絡在每個區塊高度都只有唯一一個獲得全網所有節點共識的「狀態」,這個「狀態」在每一個新區塊會產生變動并隨著區塊接至區塊鏈上。礦工在執行交易運算時,必須依據交易內容至節點內以「Merkle-PatriciaTrie」資料結構組成的狀態樹中更改相關的狀態值,再重新計算出每個樹狀節點的hash值,算出新的「MerkleRoot」,生成新的狀態樹。

動態 | 報告:區塊鏈等熱點詞促使童書科普百科類成交額同比增速最高:近日,京東圖書與艾瑞咨詢聯合發布了《2019中國圖書市場報告》。報告指出,AI、5G、區塊鏈、機器人、VR、智能家居、AR這些熱點詞,不斷點燃科技熱潮,科技在改變大眾生活的同時,也吸引了越來越多家長的關注,從小培養孩子對科技的興趣和熱愛。因此童書中科普百科類成交額同比增速最高,占比將近40%。[2020/1/8]

-圖片來源:https://blog.ethereum.org/-截至2020/06,當前的以太坊網絡中約有5億個狀態值,總狀態大小約為10GB,狀態會隨著網絡上的帳戶與智能合約數量增加而按比例增長。因此,如果以太坊繼續獲得主流采納,狀態可能會在未來數年持續爆發性增長。不斷擴大的狀態主要會對節點造成兩大影響:節點讀取狀態耗時增加,交易處理速度變慢

目前每個新區塊礦工大約需要添加或修改3000~6000個狀態值。由于礦工處理每一筆交易時都必須要讀取節點資料庫中狀態的相關資訊,當狀態數量持續增長,在狀態樹中查詢到指定狀態值的耗費時間就越長。建構新的狀態樹耗時更長,區塊驗證速度減慢

當礦工將交易處理完時,必須建構一個由新的狀態組成的Trie結構狀態樹,當中涉及大量的hash值運算。計算完RootHash方能建構出新的BlockHeader,打包出新區塊。小結

綜合來說,持續增大的「狀態」與「節點大小」將導致新的全節點啟動成本大幅提升:對于「儲存空間」的需求與「同步時間」的增加可能會進一步導致網絡中全節點數量的減少。此外,以太坊網絡的整體性能下降也在所難免。以太坊隨著狀態樹查詢與運算耗時的增加以及越來越多的合約交易,TPS可能會進一步下降,導致網絡變得更加壅塞,迎來更高的GasPrice競逐。eth1.x的提出

對于以太坊1.0升級的相關研究最早可以溯及到2018/10在捷克布拉格召開的DevconIV,會議談論到以太坊2.0無法在未來3~5年內完全取到以太坊1.0的所有功能,因此eth1.0仍必須保持安全穩定運行,于是乎無數的核心開發人員開始研究一系列延長eth1.0壽命以及與eth2.0介接的解決方案。既然狀態的持續增大對于以太坊網絡的健康帶來重大影響,解決方案之一便是「消除以太坊網絡對狀態的需求」。細看Vitalik于2020/3/19發布的以太坊未來路線圖中即可看到一系列的解決方案:

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

上述的路線圖是較為精要的版本,以太坊研究員GriffinIchibaHotchkiss于2020/4/2在EthereumBlog分享了他對于目前eth1.x研究開發方向的理解,整理出下圖的「技能樹」:

-2020/4/2更新的eth1.x科技樹-由于細節族繁不及備載,本文只會挑出其中幾個核心來做說明。有興趣的朋友可以參考并持續關注EthereumBlog中的相關文章:The1.xFiles:TheUpdatedStatelessTechTreeThe1.xFiles:APrimerfortheWitnessSpecificationThe1.xFiles:EIP1559andtheEthereumImprovementHorizoneth1.x的目的

簡而言之,eth1.x的核心目的有兩個:(A)延長eth1.0的壽命

在區塊持續增長的情況下維持eth1.0區塊鏈的安全、穩定與彈性,讓人們可以選擇僅下載部分的狀態,在較便宜的硬件上運行節點。(B)與eth2.0介接

財政部副部長朱光耀:數字經濟還處在發展的過程中,要以科普、推動的態度來推進數字經濟發展:今日,在中國發展高層論壇2018年會上,財政部副部長朱光耀表示:“數字經濟還處在發展的過程中,要以科普、推動的態度來推進數字經濟發展。也要關注數字經濟的其他影響,包括稅收征管、反洗錢監管措施等要跟上。”[2018/3/25]

由于eth2.0中的分片將是無狀態的,因此「無狀態」將是參與eth2.0區塊驗證的先決條件。eth1.0要與eth2.0相容的話勢必得支援無狀態運作,方能順利過度,與eth2.0介接。為了達成這兩個目的,在技能樹圖最右側的終點我們可以看到「無狀態以太坊StatelessEthereum」。然而,「無狀態」的以太坊這個詞可能有些不夠精確,因為整個以太坊網絡就是基于狀態而存在的。具體來說,是找到一種方式讓以太坊網絡中的部分節點可以將「保留整個以太坊狀態的副本」這件事變為一個選項,而非必須。因此,要讓現行的以太坊網絡能夠支援沒有保存完整全網狀態的輕量級節點:「無狀態節點」參與到網絡中的新區塊驗證。而為了讓無狀態節點能夠進行驗證,以太坊1.x提出了以下三項主要改動,我們將逐一來進行介紹:(1)區塊見證機制(2)EVM改動(3)資料結構轉換為二進位制(1)區塊見證機制

無狀態節點如何參與驗證

簡單來說,作法是:擁有全網狀態資訊的「完整狀態節點FullStateNode」在打包新區塊時會一并產生「區塊見證BlockWitness」,讓沒有保存全網狀態的「無狀態節點」能藉由區塊見證提供的資訊對新區塊進行驗證。什么是「區塊見證BlockWitness」

前面提到,以太坊的資料結構是由約5億個狀態值所構成的Merkle-PatriciaTrie。然而,其中大約只有0.1%狀態值會隨著區塊高度產生變化,如:個人帳戶的ETH余額、合約底下記載的每個地址持有Token數量。99.9%的狀態值如:智能合約的程式碼、Uniswap手續費0.3%的參數等資訊一但智能合約部署完成便不會再進行更動。由于一個新的區塊至多只能容納571筆交易,其涉及的狀態值更改是十分有限的。那么一個沒有儲存所有狀態值的無狀態節點只要向擁有完整狀態的節點請求涉及交易的相關狀態值與未涉及到的hash值其實即可算出MerkleRoot進行驗證。如下圖所示,假設底層的14個菱形代表以太坊網絡中所有的狀態值,而新區塊中僅有一筆交易,針對綠色的狀態值進行更改,那么無狀態節點其實只需要1個綠色的原狀態值以及紫色的Hash值與其它未變動的6個Hash值資訊即能透過4次Hash值計算,算出新的RootHash,而不需要擁有所有的14個狀態值來進行9次Hash值計算。

-圖片來源:https://blog.ethereum.org/-這些為了完成RootHash計算所需要向擁有全網狀態資訊的「完整狀態節點」請求的「最小資訊量」即為「區塊見證BlockWitness」,包含了狀態Trie中「不涉及變動的部分Hash值」與「涉及變動的原狀態值」。如此一來,沒有保存完整全網狀態的「無狀態節點StatelessClient」將可以藉由請求而來的「區塊見證」資訊計算出新的RootHash。為了便于讓無狀態節點參與驗證,目前的最新研究方向是「區塊見證」將可能成為「區塊標頭BlockHeader」的一部分,隨著新挖出的區塊一并廣播給全網節點,讓無狀態節點不用再發起額外的「區塊見證請求」即能進行驗證區塊的動作。透過這樣的方式,無狀態節點即能參與以太坊網絡中新區塊的驗證。礙于篇幅,我們在這篇文章只會做概念性的闡述,具體的實作細節先不展開細說,想更進一步了解的朋友可以參考我上方附上的鏈接以及以太坊博客中的其它相關文章。(2)EVM改動

狀態值的更改和運算都是在EVM中進行,同理,區塊見證也必須經由全節點的EVM透過運算來生成。EVM的改動目標與成本和激勵機制息息相關,主要包含耗費Gas的估算以及如何降低對節點間廣播延遲的影響。區塊見證Gas計算

由于區塊見證必須由全節點花費額外的計算資源來運算生成,因此會產生相應的Gas成本,而這個成本目前比較可行的方式是由交易的發起者來進行負擔。至于如何讓交易發起者在發送交易時即能準確估算額外的Gas,以設定精確的GasLimit,目前仍在研究中,尚未產生明確的定案。另外,考慮到在同個區塊中可能有一個狀態值被不止一筆交易進行更改,因而產生重復支付Gas的情形,這部分可能會成為礦工額外的獎勵費用。智能合約程式碼分塊

區塊見證的目的是為了讓無狀態節點能夠進行新區塊的驗證,其中必定包含了智能合約相關的運算。然而,無狀態節點沒有儲存包含智能合約程式碼在內的狀態,所以當無狀態節點要進行一筆智能合約交易的狀態運算時,便需要一并擁有包含智能合約程式碼的在內區塊見證。這時會有另外一個問題,智能合約洋洋灑灑的程式碼中可能只有其中的一小片段是與該交易運算相關聯的,因此「程式碼分塊」的概念被提出。「程式碼分塊」是一種拆分智能合約位元組碼的方式,將智能合約中與涉及交易相關的程式碼拆出,作為區塊見證中的一部分,一并提供給無狀態節點讓其做運算驗證之用。其目的便是避免調用到不必要的程式碼,免于生成龐大的區塊鏈見證導致運算時間的增加及節點間傳遞溝通的延遲。(3)資料結構轉換為二進位制

根據以太坊研究員IgorMandrigen進行的實驗,若將以太坊資料結構從目前的十六進位制更改為二進位制,每個區塊的區塊見證大小將能從800~3,400kB縮小至300~1,400kB,如此將大幅減低區塊見證在網絡中傳播的延遲時間,讓區塊見證機制能夠運行得更加理想。然而從Hex轉換為Binary具體的實作方式以及過度策略目前仍未有完全的定論,有興趣的朋友可以持續關注EthereumFoundation釋出的相關消息。無狀態以太坊StatelessEthereum

介紹至此,透過引入「區塊見證機制」、對「EVM」進行必要的改動,以及將資料結構轉換為「二進位制」,已能勾勒出eth1.x的大致樣貌。支援無狀態節點的1.x網絡,將能夠對以太坊1.0的區塊鏈網絡產生下方幾點關鍵影響:i.對新加入節點更加友善

隨著全網狀態的膨脹與區塊高度的提升,啟動一個新節點的同步時間會變得越來越長,超長耗時的原因是因為全節點的同步必須從創世區塊開始對每一個區塊進行驗證與同步的動作,而驗證區塊必須要擁有該區塊高度的全網狀態,因此在每一個區塊同步狀態是目前同步節點的極大瓶頸。無狀態節點時代的到來將能夠大幅改善同步區塊的痛苦過程,未來僅需憑借「區塊標頭」與「區塊見證」即能完成區塊的驗證,同步節點體驗的改善將能讓更多人有意愿且能夠負擔運行節點的成本。ii.輕節點得以自力更生

在現行的以太坊網絡中,輕節點不具備獨立驗證新區塊與驗證交易的能力,因為輕節點沒有保存驗證交易需要的merkleproof資訊,因而必須向鄰近全節點發出p2prequest進行請求,但輕節點現在愿意提供支援的佛心全節點變得越來越少。無狀態機制將能幫助輕節點依靠自己維護的部分狀態,以區塊標頭和區塊見證獨立進行驗證,不求于人。iii.節點網絡安全性提升

由于區塊鏈網絡的安全性取決于能參與新區塊驗證的節點總數量,對網絡的攻擊成本將隨著節點總數量的增加而提高,能有效地低系統被擊潰的風險。隨著新節點啟動成本的降低以及大量的輕節點投入到新區塊的驗證中,將讓網絡的整體安全性大幅提升。iv.介接eth2.0

最后一點也是最核心的一點,前面提到eth2.0將會是由核心的信標鏈與多條分片鏈構成,全網的狀態將被多個分片分開儲存。由于每條分片各自擁有不同的狀態,并且沒有保存其它分片的狀態資訊。因此對每條分片來說,其它條分片都像是「無狀態節點」。為了能夠在多條分片鏈間有效驗證與同步,必須依靠「無狀態的驗證機制」。因此現在的eth1.0未來要能順利成為eth2.0的其中一條分片鏈,升級為無狀態的eth1.x是至關重要的一個步驟。結論

透過以上介紹,相信讀者們應該對于現行的eth1.0升級到eth1.x需要進行的改動,以及改動完成后的未來有更清晰的認識。在eth1.x升級完成后,人們將能用便宜的硬件運行自己的無狀態節點,更多能夠參與驗證的輕節點可以進一步維護全網的安全性。擁有無狀態驗證機制的eth1.x方能順利和eth2.0的信標鏈與其它分片鏈介接,正式讓以太坊網絡進入由無狀態驗證機制與分片技術構筑成的輕量化eth2.0未來。以上,若有任何A.我寫得不夠清楚的地方B.撰寫上改進的建議C.希望我能夠撰寫分享的區塊鏈技術知識內容都非常歡迎在底下留言回復。希望我的文章能幫助到更多像我一樣想學習區塊鏈技術與知識的朋友。如果您覺得讀完有所收獲,也希望能給我50claps分享給您的朋友們謝謝大家!也歡迎大家閱讀區塊鏈技術知識系列的其它篇文章:https://medium.com/

Tags:ETH以太坊區塊鏈THEethnographyinbusiness答案以太坊硬幣區塊鏈可以看作是Mothership

狗狗幣
2020Q2數字資產數據:BTC價格與納斯達克綜合指數呈明顯正相關_KEN

1.行業動態2020年4月:①Coinbase向Uniswap和PoolTogether投入110萬美元;②原BHEX交易所戰略升級為HBTC霍比特.

1900/1/1 0:00:00
2020Q2數字資產衍生品交易所行業研究報告: 衍生品交易所競爭持續升溫_KEN

2020Q2數字資產衍生品交易所行業研究報告:合約交易競爭會更加激烈4.交易所分析 4.1交易所整體對比“衍生品交易所行業競爭激烈度繼續增加.

1900/1/1 0:00:00
OKEx投研:近期的行情一直在詮釋“高拋低吸”_KEN

BTC/USDT永續合約 各級別性質:日線-盤整,4小時-盤整,1小時-盤整截圖來自OKEXBTC/USDT永續合約2小時圖:對于行情從兩個角度來說.

1900/1/1 0:00:00
比特幣看漲者Mike Novogratz:我持有的黃金要多于比特幣_OVO

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

1900/1/1 0:00:00
OKEx投研:預估空頭無持續性,關注9000一線支撐_USDT

BTC/USDT永續合約 各級別性質:日線-盤整,4小時-盤整,1小時-盤整截圖來自OKEXBTC/USDT永續合約1小時圖:對于行情從兩個角度來說.

1900/1/1 0:00:00
為未來而建設:從哲學的角度看區塊鏈的未來_比特幣

作者:MeltemDemirors譯者:FrauYang翻譯機構:DAOSquare我愿即我造,我造即我最近,我每次都花一點點時間,一直在探索紐約的另一面,這個我在過去六年里稱之為家的城市.

1900/1/1 0:00:00
ads