買以太坊 買以太坊
Ctrl+D 買以太坊
ads

ROLL:以太坊狀態規模管理諸提議(下)_HAI

Author:

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

觀點|以太坊狀態規模管理諸提議

從狀態樹上移除vs.給狀態樹安排一個“退休”部分

另一個區分不同狀態過期提議的技術角度是“一樹流”和“二樹流”。也就是說,我們到底是像現在這樣,只有一棵狀態樹,只不過把某些狀態標記為過期;還是直接把失活的狀態從主狀態樹上移除,轉移到另一棵專門的樹上?

一樹流

-激活節點以白色標記,失活節點以灰色標記-

注意,即使是樹上的中間節點,也會被標記為激活或者失火;標記工作可以在狀態樹上的每個節點處完成。

二樹流

-白色的樹包含激活狀態;灰色的樹存儲失活狀態-

一樹流的好處是,最起碼,其工作方式看起來會跟當前的狀態樹相似,失活和復活的流程也比較簡單:復活流程只需刷新樹上相關節點的“過期日期”參數,而失活則是自動化的。但它的缺點在于:它需要一種能夠在節點中以此種方式存儲過渡信息的樹結構,而且不能很好地擴展到Verkle樹。此外,它還需要額外的默克爾證明元件,不僅要能夠下沉到葉子節點,還要能夠停在中間節點處。

Unchained主理人:TenX 創始人疑似為2016年盜取360萬枚以太坊的黑客:2月22日消息,前福布斯記者,《 Unchained》主理人Laura Shin在最新播客中表示她發現了以太坊 2016年 The?DAO?事件中黑客的身份,疑似為Toby Hoenisch,一位 36 歲的奧地利程序員,TenX 的聯合創始人兼首席執行官。其主要依托對嫌疑人的數據追蹤以及區塊鏈分析公司 Chainalysis?的鏈上分析,鎖定了TenX 位于新加坡的的節點地址。

2016年4月30日,The DAO 項目在以太坊中進行代幣眾籌,到 5 月 28 日,這個項目籌集了 1150 萬個以太坊,以當時以太坊的價格計算價值超過1.5億美元,是當時最大金額的眾籌。6 月 17 日,黑客利用漏洞向一個匿名的地址轉移走了項目眾籌來的 360 萬枚以太幣,占到總數的 1/3,該事件也導致以太坊的分叉。[2022/2/22 10:08:53]

二樹流的好處是:當前的、形式純粹的狀態累加器就能支持這類方案,而無需為每個節點增加元數據。缺點是,它需要對整個協議做一些更深層次的變更,而且需要一個顯式的流程來滅活狀態。另外,它也沒有為復活沖突兩難提供內置的解決方案,所以需要在兩種辦法中作出選擇。

FTX.US NFT市場開放以太坊NFT交易:金色財經報道,FTX周三在其美國市場上開放了以太坊頂級NFT的交易,這對市場領導者OpenSea構成了挑戰。FTX.US總裁Brett Harrison表示,將從前10名的個人頭像、化身類型的項目開始,然后將轉向生成藝術作品。該平臺將支持ERC-721收藏品,并在推出時支持CryptoPunks和Bored Ape Yacht Club等。[2021/12/2 12:44:59]

注意,在二樹流中,存儲失活狀態的數據結構不是非樹不可。事實上,完全有可能出現這樣一種設計:需要復活一個狀態對象時,只需提供一個指向該對象失活時候收據的默克爾樹,再附上一些密碼學證據,證明此前該對象未被復活過,即可。

復活沖突

然后我們就到了狀態過期方案的一個關鍵難題上:“復活沖突”。復活沖突的概念如下。假設某個賬戶由地址A生成;這個賬戶過期了;然后,地址A又創建了一個新的賬戶;最后,地址A再嘗試復活那個最開始的賬戶。這時候會出現什么情況?

這里有幾種可能的解決方案:

顯式的“賬戶合并”流程:類似于規定“除了兩個賬戶的ETH余額相累加以外,以舊賬戶的狀態為準”或者“除了累加ETH之外,以新賬戶的狀態為準”;甚至于,可以由舊賬戶的合約代碼來規定特殊的合并流程

報告:調整后的以太坊周交易量首次超過比特幣:金色財經報道,根據市場分析公司Coin Metrics今天發布的一份新報告,自2018年初以來,以太坊的調整后每周交易價值已首次超過比特幣。上周六,以太坊“7天平均調整后轉移價值”達30.8億美元,而比特幣為30.1億美元。Coin Metrics將其歸因于DeFi的興起。[2020/9/10]

通過消除同一地址重復部署的功能來確保復活沖突不會發生:也就是調整CREATE2的功能,比如在最終哈希成地址的數據原像中包含當前時間,因此即使未來使用同樣的數據來生成,也無法得到同樣的地址

向狀態對象增加一個“存根”,以防止在同一位置生成新賬戶

要求生成新賬戶時都必須附帶該賬戶此前未過期的證明:某種意義上等價于存根方案,只不過這種辦法是把存根放在狀態的一個單獨部分中,所以任何想要創建合約賬戶的用戶都必須跟蹤這部分狀態

主要的擔憂有:會給應用增加很多復雜性,他們需要加入合并的邏輯;這樣做了之后,除非在鏈上“注冊”一個地址,否則用戶就沒法再輕易獲得可以與之交互、可以積累資產的地址了。未注冊的地址是很重要的:任何第一次收到ETH的用戶都是在使用一個尚未注冊的地址。這第的擔憂的根源是:未注冊的地址實際上有了時間限制,如果用戶生成了一個地址、收到了資金,但在接下來一年里忘了發送交易,那他的資金就會被鎖住。

聲音 | Multicoin Capital執行合伙人:以太坊2.0有結構性和根本性的開放性問題:Multicoin Capital執行合伙人Kyle Samani表示,項目是否留在以太坊完全取決于開發人員想要構建的應用程序類型。對于開放金融應用程序,以太坊是最佳構建場所。他指出,有幾個項目正在構建不是以開源金融為中心的應用程序,這些項目尋求的最重要因素是可拓展性。當被問到以太坊向以太坊2.0的過渡,以及開發者在此場景中選擇其項目所基于的平臺時需要考慮的因素,他表示,“我可以非常肯定地說,我們真的不知道以太坊2.0將如何工作。關于它實際上是如何工作的,有一些高層次的想法,但也有相當多的結構性和根本性的開放性問題。”他表示,在2019年10月份的Devcon上,該系統的結構發生重大變化,“他們改變了分片數量,以及分片將如何交聯。”他表示,“我們還可以看到,以太坊團隊在研究其他團隊正在做的事情,并調整他們的一些想法。可以肯定地說,我們只是不知道Eth 2.0會是什么樣子,很有可能最終產品甚至不是目前計劃中的產品。”他最后表示,開發者必須選擇是否將所有雞蛋都放在以太坊的籃子里,因為他們不知道“這艘船要去哪里”,在中長期內選擇更具確定性的其他區塊鏈。(AMBCrypto)[2020/1/4]

注意,EOA也不能幸免。雖然看起來能夠,因為EOA的合并流程比較簡單這樣的方案。不過,這里也有兩個問題。首先,賬戶抽象的目標是用合約來替代EOA,而賬戶抽象化的合約的合并流程可能并不簡單。其次,會受過期和復活事件影響的不僅有EOA本身,還有該EOA所參與的應用中的相關存儲鍵,所以還是需要復雜的合并邏輯。

聲音 | 澳本聰:以太坊已經到了極限無法再繼續擴展:據Financemagnates報道,nChain的首席科學家Craig Wright(澳本聰)近日表示,由于區塊鏈系統中存在一些系統缺陷,因此以太坊區塊鏈將不能夠再繼續擴展了。他還在推特上指出,以太坊網絡已經達到了極限,實際上只被用于非法籌集資金,只能用來欺騙不懂技術的人。實際上,它發布的關于ICO和計算機的各項技術,沒有一項是其首創的。[2019/2/18]

因此,從我的角度來看,破壞性最小的是某種形式的存根方案。不過,存根方案里存在一個信息理論問題,會導致一些奇怪的結果。為了防止新的狀態對象在N個已經過期的狀態對象位置處創建,一個覆蓋了這N個地址的集合必須是狀態的一部分。如果這個集合是信息最小化的,那么這個集合的大小會是O(N),因此其狀態規模也是O(N);那么,激活狀態的規模就將與失活狀態的規模成比例,所以實際上我們并沒有解決這個問題。

Treerot

解決這個問題的唯一辦法就是覆蓋超過那N個賬戶的信息;實際上,我們將不得不讓整棵樹都變得不可訪問)。

而這里還有一個問題:這產生了一種形式的“樹發霉”,隨著時間推移,對于新帳戶的創建來說,狀態樹的所有部分都是不可訪問的,至少對那些沒有跟蹤該區域過期狀態的用戶來說是這樣的。

而樹發霉導致的次生問題也必須解決。舉個例子:如果一個合約要創建子合約,它必須能夠在要么未發霉,要么用戶具有見證數據的狀態區域創建合約。樹發霉問題的一個解決方案見此處:持續地開放狀態的新區域以供賬戶創建。另一種思路是每個用戶都選擇狀態的某些區域,跟蹤該區域的變化以便能創建見證消息,并且只在該區域創建帳戶。

樹發霉的另一個問題是,它需要一個顯式的數據結構來存儲和檢查范圍。如果一棵樹有能夠放在節點中、指明該節點以下的哪些部分已經過期的數據,那是最好的,但一個鍵值對存儲要做到這一點還是相當有難度的。

回頭再看強無狀態性

在狀態過期方案中使用樹結構所產生的許多問題,都可以被追溯到這樣一個事實:我們需要對哪些狀態是活躍的、哪些狀態是失活的,達成共識。在二樹流模式中,這一點更加明顯;但即使是在一樹流模式中,狀態樹上也需要有顯式的標記,以便近期使用快速同步下載了狀態的以太坊節點能夠確定一筆嘗試訪問某個賬戶、但又沒有提供見證消息的交易,應該成功還是失敗。那我們能不能做到不需要明確這個區別呢?

如果我們實現了完全的無狀態性,然后能幫助交易發送者和區塊生產者可靠地獲得見證消息生成所需的狀態,不就解決這個問題了嗎?那什么辦法能幫助交易發送者和區塊生產者做到這些呢?

一種自然而然的辦法是:網絡中的節點都僅保存狀態樹的一部分,例如,在過去一年中訪問到的那部分。只需在客戶端設定中加入一個自愿的設定即可。如果我們想要更可靠一些,我們可以通過引入一種proofofcustody方案,強制至少礦工存儲一些數據。

有一點需要注意:如果共識層不能感知哪些狀態是活躍的、哪些狀態是失活的,那訪問近期狀態和老舊狀態的Gas開銷就是一樣的。這會導致兩個結果:

訪問近期狀態的Gas開銷也需要進一步提高

包含了見證消息的區塊大小上限可能非常之大,如果一個區塊里滿是訪問老舊狀態的事務的話

如果我們想避免這些不利因素,就需要在共識中跟蹤哪些狀態對象是活躍狀態,這又會讓我們回到接近于狀態過期方案的屬性。這再一次地說明了,“無狀態性vs.狀態過期”是一條光譜,是一個復雜的權衡空間,而不是一個非此即彼的選擇。

Rollup也需要,也可以,使用同樣的解決方案

以太坊的一種重要的中期可擴展性解決方案是rollups。不過,rollup本身并非不再需要擔憂狀態數據規模問題;實際上,rollup系統的狀態規模問題,與以太坊鏈本身的,性質完全相同。

幸運的是,如果我們能推出一種解決方案,則至少EVMrollup能夠使用同樣的解決方案,來解決其內部狀態的規模問題。因此,狀態規模管理方案,與rollup和分片等可擴展性方案是互補的。

結論

狀態規模是一個日益惡化的問題,而狀態規模的解決方案也能為大幅提高區塊Gas上限鋪平道路。我們應該對某種形式的狀態過期方案達成共識并加以實現。不過,不同的解決方案之間存在重大技術權衡,尤其如果我們還想要保持當前設計的一些重要屬性的話。

一些我們可能需要犧牲的屬性包括:

用戶可以離線生成賬戶并以該地址接收資金、并且在使該地址在鏈上顯明之前可以靜默任意時長的屬性

地址保持20字節的長度

狀態可以被視為“純粹的”鍵值對存儲的屬性,以及無需在狀態樹上每個節點內存儲元數據的屬性

現有的應用需要程度不等的重寫,以保證用戶無需存儲全部失活狀態就能生成見證數據

Gas消耗量;或者創建新合約、寫入新存儲槽的難度

我們如果已經準備好作出犧牲,有些方案可以很快開始著手實現。另一方面,也許假以時日,我們能修補或者更好地匯總這些觀念,減少問題,尤其是使它們在技術上更容易實現。我們應該更深入地理解我們更愿意/更不愿意接受哪些方面的犧牲,并繼續積極研究改進提案。

原文鏈接:

https://hackmd.io/@HWeNw8hNRimMm2m2GH56Cw/state_size_management

作者:?VitalikButerin

翻譯:?阿劍

Tags:以太坊ROLLROLHAI以太坊幣今日價格行情分析TROLLHydroLinkblockchain官方網站

歐易交易所app下載
區塊鏈:評論:比特幣劇烈震蕩反映美國金融體系不穩定性日益升高_LINK

本文來源:《21世紀經濟報道》社論比特幣成為當下金融市場的焦點,自上周突破1萬億美元市值后,價格繼續快速上漲.

1900/1/1 0:00:00
TWI:比特幣最終將達100萬美元?超級大多頭預測比特幣將成為儲備貨幣_比特幣美元匯率換算

本文來源:FX168,作者:Becky一位資產經理表示,比特幣的長期價值可能升至100萬美元,成為全球儲備貨幣.

1900/1/1 0:00:00
LOC:深度|全球比特幣挖礦股全景解析_區塊鏈

摘要 2020年底以來,比特幣“數字黃金”“抗通脹”的預期進一步強化,價格屢創新高,2021年中國春節期間更一舉突破5萬美元大關,比特幣挖礦行業水漲船高,最新日收入為3.8億元。

1900/1/1 0:00:00
LAYER:從Radix、StarkWare技術推論:DeFi需要一個什么樣的底層網絡?_DEF

ps:頭圖展示為“去中心化網絡的抽象概念”如果我們深入layer2和layer1的技術邏輯,可能會發現:有些DeFi適合在layer1擴容,選擇以“分片”技術見長的Radix、Near.

1900/1/1 0:00:00
MIC:大空頭Michael Burry警告:各國政府或為保護本國貨幣“打壓”比特幣_比特幣多少錢一個人民幣

本文來源:中金網 以預測2008年金融危機而聞名的對沖基金經理MichaelBurry警告說,政府可能會在通脹危機中“打壓”比特幣甚至黃金以保護本國貨幣.

1900/1/1 0:00:00
SUSD:簡析 Alpha Finance & Cream 被攻擊事件_幣世界快訊GUSDT

據慢霧區消息,2021年2月13日,以太坊DeFiAlphaFinance遭受攻擊,慢霧安全團隊第一時間跟進分析,并以簡訊的形式分享給大家,供大家研究.

1900/1/1 0:00:00
ads