比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

區塊鏈與狀態爆炸_HER

Author:

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

如果Layer1的關注點應該是狀態而不是計算,在設計Layer1區塊鏈時,我們就需要先理解什么是區塊鏈的狀態。理解了狀態是什么,我們才能理解狀態爆炸是什么。狀態

區塊鏈網絡中的每一個全節點,在網絡中運行一段時間之后都會在本地存儲上留下一些數據,我們可以按照歷史和現在把它們分為兩類:歷史——區塊數據和交易數據都是歷史,歷史是從Genesis到達當前狀態的路徑。狀態——節點在處理完從Genesis到當前高度的所有區塊和交易后形成的最終結果。狀態隨著區塊的增加一直處于變化之中,交易是造成變化的原因。共識協議的作用是通過一系列的消息交換,保證每一個節點看到的當前狀態是相同的,而實現這個目標的方式是保證每一個節點看到的歷史是相同的。只要歷史相同,處理交易的方式相同,最后看到的當前狀態就是相同的。當我們說「區塊鏈具有不可篡改性」時,是指區塊鏈歷史不可篡改,相反,狀態是一直在變化的。有趣的是,不同的區塊鏈保存歷史和狀態的方式不同,其中的差異使得不同的區塊鏈形成了各自的特點。由于這篇文章討論的話題是狀態,而影響狀態的歷史數據主要是交易,接下來的討論歷史的時候會側重交易,忽略區塊頭。舉個例子:Bitcoin的歷史和狀態

Bitcoin的狀態,指的是Bitcoin賬本當前的樣子。Bitcoin的狀態是由一個個UTXO構成的,每個UTXO代表了一定數量的Bitcoin,每個UTXO上面寫了一個名字,記錄這個UTXO的所有者是誰。如果要做一個比喻的話,Bitcoin的當前狀態是一個裝滿了金幣的袋子,每個金幣上刻著所有者的名字。Bitcoin的歷史由一連串的交易構成,交易內部的主要結構是輸入和輸出。交易更改狀態的方法是,把當前狀態中包含的一些UTXO標記為已花費,從UTXO集合中移出,然后把一些新的UTXO添加到UTXO集合里面去。可以看出,Bitcoin交易的輸出正是上面說的UTXO,UTXO只不過是一種處于特殊階段的TXO。因為構成Bitcoin狀態的組件,同時也是構成交易的組件。由此Bitcoin有一個奇妙的性質:任意時刻的狀態都是歷史的一個子集,歷史和狀態包含的數據類型是同一維度的。交易的歷史即狀態的歷史,Bitcoin的歷史只包含交易。在Bitcoin網絡中,每一個區塊,每一個UTXO都要持續占用節點的存儲空間。目前Bitcoin整個歷史的大小大約是200G,而狀態的大小只有大約3G。Bitcoin通過對區塊大小的限制很好的管理了歷史的增長速度,由于其歷史和狀態之間的子集關系,狀態數據大小必然遠小于歷史數據大小,因此狀態增長也間接的受到區塊大小的管理。再舉個例子:Ethereum的歷史和狀態

韓國造幣廠推進基于區塊鏈的數字資產信任驗證服務:8月8日消息,韓國造幣廠宣布將推進基于區塊鏈的數字資產信任驗證服務項目,以解決與NFT的真實性和版權侵權相關的問題。韓國造幣廠通過驗證NFT的真實性,連接著作權信息,向NFT市場提供驗證信息,從而保護因不良NFT而影響的用戶;此外,其還通過確認數字著作權,建立著作權保護基礎,通過頒發證書和查詢提高NFT流通可信度等,牽引數字資產良性循環生態系統。該項目將從11月開始為該國發行NFT的運營商和交易所提供試點服務。(EBN)[2022/8/8 12:09:26]

Ethereum的狀態,也叫做「世界狀態」,指的是Ethereum賬本當前的樣子。Ethereum的狀態是由賬戶構成的一棵Merkle樹,賬戶里面不僅記錄了余額,還記錄了合約的數據。Ethereum的狀態可以看作是一個大賬本,賬本的第一列是名字,第二列是余額,第三列是合約數據。Ethereum的歷史同樣由交易構成,交易內部的主要結構是:to-另一個賬戶,代表交易的發送對象value-交易攜帶的ether數量data-交易攜帶的任意信息交易更改狀態的方法是,EVM找到交易發送的目標賬戶:1.根據交易的value計算目標賬戶的新余額;2.將交易攜帶的data作為參數傳遞給目標賬戶的智能合約,運行智能合約的邏輯,在運行中可能會修改任意賬戶的內部狀態生成新的狀態;3.構造新的葉子存放新的狀態,更新狀態Merkle樹。可以看出,Ethereum的歷史和交易結構與Bitcoin相比有非常大的不同。Ethereum的狀態是由賬戶構成的,而交易是由觸發賬戶變動的信息構成,狀態和交易中記錄的是完全不同類型的數據,二者之間沒有超集和子集的關系,歷史和狀態所包含的數據類型是兩個維度的,交易歷史大小與狀態大小之間沒有必然的聯系。交易修改狀態后,不僅會產生新的狀態,而且會留下舊的狀態成為歷史狀態,因此Ethereum的歷史不僅僅包含交易,還包含歷史狀態。因為歷史和狀態屬于不同的維度,Ethereum區塊頭中不僅僅包含交易的merkleroot,也需要顯式包含狀態的merkleroot。Ethereum中每一個區塊,每一個賬戶都會持續占用節點的存儲空間。Ethereum節點在同步的時候有多種模式,在Archive模式下所有的歷史和狀態都會保存下來,其中歷史包括歷史交易和歷史狀態,所有數據加起來的大小超過了2TB;在Default模式下,歷史狀態會被裁剪掉,本地只保留歷史交易和當前狀態,所有數據加起來大約是170G,其中交易歷史大小是150G,當前狀態大小是10G。Ethereum中所有的開銷管理都被統一到gas計費模型之下,交易的大小需要消耗對應的gas,而每一條EVM指令消耗的gas,不僅考慮了計算開銷,也將存儲開銷考慮在內。通過每個區塊的gaslimit,間接限制了歷史和狀態的增長速度。ps.常見的一個誤解是:Ethereum的「區塊鏈大小」已經超過1T了。從上面的分析我們可以看到,「區塊鏈大小」是一個非常模糊的定義,如果把歷史狀態算進去,它確實超過了,但是對于全節點來說,把歷史狀態刪掉沒有任何問題,因為只要有Genesis和交易歷史,任意時刻的歷史狀態都可以重新被計算出來。真正有意義的數據,是全節點必須的數據的大小,Bitcoin是200G,Ethereum是170G,兩者是基本相同的,而且在平均配置的云主機上都能裝下,因此人們觀察到的Ethereum全節點減少并不是由于存儲增加導致的。考慮到Ethereum的歷史長度不到Bitcoin的一半,可以看出Ethereum的歷史和狀態大小增長更快。TheTragedyof(Storage)Commons:區塊鏈版本的公地悲劇公地悲劇所指的是這樣一種情況,有限的共享資源在不受任何使用限制的情況下會被人們過度消耗。區塊鏈節點為保存歷史和狀態付出的存儲,正是這樣一種共享資源。區塊鏈節點為處理交易所花費的資源有三種,CPU、存儲和網絡帶寬。CPU和帶寬都是每個區塊會刷新的資源,我們可以認為每個區塊間隔內都有同樣多的CPU和帶寬可供使用,上個區塊消耗掉的CPU和帶寬不會讓下個區塊可用的CPU和帶寬變少。對于可刷新的資源,我們可以通過一次性支付的交易手續費來補償節點。與CPU和帶寬不同,存儲是一種占用資源,在一個區塊中被占用了的存儲,除非使用者主動釋放,否則無法在后面的區塊中被其它使用者使用。節點需要為存儲持續的付出成本,而使用者卻不需要為存儲持續的支付手續費。使用者只需要在往區塊鏈寫數據的時候支付一點點手續費,就可以永久使用一個可用性超過AmazonS3的存儲,其無限大的永久存儲成本需要區塊鏈網絡中的所有全節點來承擔。Ethereum上由于各種DApp的存在,TheTragedyof(Storage)Commons相對更加嚴重。例如,在區塊5700001的時候,使用狀態最多的5個合約是:1.EtherDelta,5.09%2.IDEX,4.17%3.CryptoKitties,3.05%4.ENS,1.92%5.EOSSale,1.73%比較有趣的是最后一個,EOSSale。雖然EOS的眾籌已經完成,EOS代幣已經在EOS鏈上流轉,EOS眾籌的記錄卻永遠留在了Ethereum的節點上,消耗Ethereum全節點的存儲資源。可以看到,在缺乏管理的情況下,區塊鏈的存儲資源會被有意或者無意的濫用。在一個設計合理的經濟模型中,使用者必須承擔存儲占用的成本,這個成本不僅僅與占用存儲空間的大小成正比,還與占用時間的長度成正比。狀態爆炸

中國互聯網絡信息中心報告:區塊鏈金融應用取得階段性成果:金色財經報道,4月28日,中國互聯網絡信息中心(CNNIC)發布第45次《中國互聯網絡發展狀況統計報告》,其中介紹了我國區塊鏈發展狀況。在政策方面,區塊鏈相關政策環境更加優化:政策密集出臺鼓勵區塊鏈技術發展,區塊鏈監管框架已初步形成。在技術方面,區塊鏈關鍵技術取得進展:底層技術創新持續提升,加密算法重視自主可控,跨鏈技術成為研究重點。在應用方面,區塊鏈技術與各行各業加快融合:區塊鏈政務應用在民生辦事領域落地,區塊鏈金融應用取得階段性成果,基于區塊鏈的供應鏈系統已被用于實際業務中。[2020/4/28]

無論是歷史還是狀態數據都會占用存儲資源。通過上面對Bitcoin和Ethereum的分析可以看到,雖然它們對歷史和狀態的增長進行了管理,但是對歷史和狀態的總大小卻沒有任何控制,這些數據會持續無休止的累積下去,使得運行全節點需要的存儲資源越來越大。提高全節點的運行門檻,使網絡的去中心化程度越來越低,這是我們不愿意看到的。你也許會說,有沒有可能硬件平均水平的提高會超過歷史和狀態的積累速度?我的回答是可能性很低:從這張圖中我們可以看到,隨著Ethereum網絡的發展,狀態數據累積的數量呈指數式的增長。Bitcoin的狀態數據從0積累到3G,用了10年;Ethereum的狀態數據從0積累到10G,用了4年;而這是在我們還沒有解決Scalability問題,區塊鏈仍然是小眾技術的情況下的增長速度。當我們解決了Scalability問題,區塊鏈真正獲得massadoption,DApp和用戶數量都爆炸式增長的時候,區塊鏈歷史和狀態數據會以什么速度累積呢?這就是狀態爆炸問題,我們把它歸類為post-scalabilityproblem,因為它在解決Scalability問題之后會非常明顯。我們最早是在做許可鏈場景落地時注意到了這個問題,因為許可鏈的性能遠高于公有鏈,剛好處于post-scalability的階段。歷史數據的累積相對容易處理,未來可以通過去中心化的Checkpoint或是零知識證明等技術來壓縮,在那之前全節點甚至可以把歷史直接丟掉,依然可以正常運行。狀態數據的累積則麻煩許多,因為它是全節點運行必須的數據。不少區塊鏈項目已經看到了這個問題,并提出了一些解決方案。EOSRAM是解決狀態爆炸問題的一個有益嘗試:RAM代表了超級節點服務器可用的內存資源,無論是賬戶、合約狀態還是代碼,都需要占用一定的RAM才能運行。RAM的設計也有很多問題,它需要通過內置的交易市場購買,不可轉讓,無法租用,將合約執行過程中的短期內存需求和合約狀態的長期存儲需求混在了一起,而且RAM的總量設定沒有確定的規則,更多取決于超級節點可以承受的硬件配置,而非共識空間的成本。Ethereum社區也看到了這個問題并提出了StorageRent的方案:要求使用者為存儲資源的使用預支付一筆租金,占用存儲資源會持續消耗這筆租金,占用時間越長,使用者需要支付的租金越多。StorageRent方案存在兩個問題:1.預支付的租金終有一天會用完,這時候如何處理占用的狀態?正是為解決這個問題,StorageRent需要諸如resurrection的機制來補充,增加了設計的復雜度,使智能合約的immutability大打折扣,也為使用體驗帶來了麻煩;2.Ethereum的狀態模型是一種共享狀態的模型,而不是First-classState。以ERC20Token為例,所有用戶的資產記錄都存放在單個ERC20合約的存儲里面,在這種情況下,應該由誰來支付租金?解決狀態爆炸問題也是NervosCKB的設計目標之一,為此CKB走了一條完全不同的、更為徹底的變革之路。原地址:https://talk.nervos.org/t/top...

聲音 | 香港財政司司長:香港政府及監管部門正探討監管虛擬交易平臺 研究貿易融資區塊鏈平臺:據21世紀經濟報道消息,香港財政司司長陳茂波在4月15日的互聯網經濟峰會表示,目前有超過550家金融科技公司及初創企業在香港設立總部,過去5年,這些企業已籌集了超過11億美元資金,超過日本、新加坡及澳大利亞等其他國家。他指出,政府及監管部門正探討監管虛擬交易平臺,并研究將由多家銀行聯合推動的貿易融資區塊鏈平臺“貿易聯動”(eTradeConnect)連接國際企業。[2019/4/17]

聲音 | 前IBM主席:區塊鏈與歐洲數據隱私法之間尚未找到兼容方式:據cointelegraph消息,IBM退休董事長、美國非營利組織全球企業中心現任主席Sam Palmisano稱,他不知道有什么解決方案可以讓區塊鏈網絡與歐洲的數據隱私法兼容。Palmisano曾擔任IBM主席10年,他說,某些私有的,經過許可的區塊鏈 - 具有適當的治理框架 - 可以在GDPR(歐盟《通用數據保護條例》)下運作良好,甚至在某些情況下可以幫助那些合規的公司,但這樣做目前不適用于公共網絡。他同時指出,歐洲目前在數字隱私方面的立法處于領先地位。[2019/3/5]

三星SDS利用區塊鏈智能系統Nestfinance推動數字金融發展:韓國三星SDS準備利用數據金融平臺Nestfinance進行數據金融事業。Nestfinance是基于人工智能區塊鏈的分析大數據的智能型系統。[2018/6/4]

Tags:區塊鏈THEHERETH區塊鏈技術通俗講解pptMytheriaDoom Hero GameChampignons of Arborethia

歐易交易所
是時候拆分 Facebook 了_BOO

Facebook的聯合創始人ChrisHughes于5月9日在《紐約時報》發表評論文章《It’sTimetoBreakUpFacebook》,認為馬克·扎克伯格無法使Facebook變得更好.

1900/1/1 0:00:00
重讀「胖協議」,為什么國內區塊鏈團隊走錯了方向_區塊鏈

2016年8月,美國著名基金USV的區塊鏈賽道分析師JoelMonegro,發表了一篇名為《胖協議fat-protocols》的分析文章.

1900/1/1 0:00:00
全球區塊鏈第18周看點 | 區塊鏈數據之殤:CoinMarketCap推出數據透明聯盟,納斯達克不再參考Bitfinex價格_以太坊

TokenInsight整理了4月27日-5月4日,區塊鏈行業在交易所、行業發展、底層公鏈、區塊鏈應用、二級市場、挖礦方面發生的大事件,并對此進行了點評.

1900/1/1 0:00:00
幣市小陽春,納斯達克正在入場_TRA

本文來自:哈希派,作者:不碎,星球日報經授權轉發。從愚人節至今不到一個月的時間里,比特幣價格連續上漲,漲幅超過35%。愚人節當天,有人在Reddit論壇上說:“價格暴漲,納斯達克正在買進.

1900/1/1 0:00:00
開放式金融真的夠開放嗎?一文梳理主流DeFi項目的去中心化程度_EFI

編者按:本文來自橙皮書,作者:KyleJKistner,翻譯:Jessie,參考文章:hackernoon。這篇文章通過對主要的DeFi借貸協議的介紹,梳理出了每個協議的去中心化程度.

1900/1/1 0:00:00
銀行區塊鏈:前進一步是激進,原地焦慮_銀行區塊鏈

文:陳海寧編輯:王巧銀行做區塊鏈,不邁步是錯,邁步邁步怕出錯,但做出邁步的姿勢,適時小步快跑,不失為一種順應潮流的選擇。銀行一季度報告已出爐,業績普遍回暖,然而銀行人的內心卻不平和.

1900/1/1 0:00:00
ads