比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads
首頁 > XRP > Info

POC:Vitalik Buterin:以太坊無狀態客戶端方案能如何改進?

Author:

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

回顧:狀態大小管理技術

為了防止以太坊的狀態容量無止境地膨脹,我們需要用一些方法使舊狀態「失活」,這樣加入網絡的節點就不再需要存儲舊狀態了。即使大多數的客戶端都變成無狀態,似乎也可以合理預見,最終這個系統會擴容到網絡無法一直保證所有狀態都可用的地步。有兩個方法可以使舊狀態失活:直接刪掉,然后可以把它移到另外的默克爾樹,這樣關心該狀態對象的人可以獲取相應的默克爾分支,在未來某個時候用它來激活該狀態。不把對象移出樹結構;相反,只在樹的該位置標記「失活」,這樣節點就不會存儲它(且協議也不會要求它們這樣做)。通過發送一個提供默克爾證明(即見證數據)的事務來訪問該狀態,失活的對象就可以重新被訪問了。方法(1)對應于「經典的存儲租金方案」,方法(2)對應于傳統「無狀態客戶端」的最簡單延伸——舊狀態可以被遺忘的模型。這兩種方法都允許關心特定狀態對象的個人追蹤默克爾分支,這樣隨后如果那些狀態對象失活了它們可以用來激活這些對象。然而,這兩種方法都是有明顯問題的。當要在某個已失效合約的同一個地址上再創建合約時,方法(1)會出現一些極端情況。那就是,如果一個合約在地址A上創建了,然后已經失效了,那么在地址A上創建這個合約的事務會被重新執行,這樣會在地址A上創建一個新對象,這會影響原始對象的激活。另一種情況是當在地址A上創建了一個對象,然后經歷失活、被激活、被修改(例如,發送合約上的資金到另一個賬戶)、再失活、再用第一次失活所在的默克爾分支激活。這違背了保留規則,且可能被用于鑄幣;需要增加額外的默克爾證明來證明一個合約還沒有被另一個特定狀態激活,而該狀態也嘗試被激活。方法(2)遇到的是不同的問題。假設兩個相鄰的地址(也就是兩者間沒有對象)A1和A2都已失活。這樣,不僅A1和A2都不再可以訪問(除非有人存儲了默克爾分支),而且A1和A2之間的所有地址都不可以訪問了。也就是說,如果總共有N個地址,那么大約1/N的可用地址空間都不再可訪問了。當一半的地址都失活了,大約1/4的地址空間不再可訪問。隨著時間推移,會越來越難找到空間生成新的地址。而且由于新地址越來越集中在剩下的「可訪問」空間上,每N年可訪問空間減半的這種影響會呈指數增長。提議

Gravity Finance項目Discord服務器已被入侵:金色財經報道,據CertiK監測,Gravity Finance項目Discord服務器已被入侵,黑客發布了虛假空投鏈接。在團隊確認他們已經恢復服務器的控制權之前,請勿點擊任何鏈接。[2023/4/6 13:47:37]

我提議對方法(2)進行修改,可以解決以上的問題。正如很多方法(2)的提議實現方案所呈現的,賬戶有「活躍」與「失活」兩種狀態,失活賬戶是那些超過一年未被訪問過的賬戶。要訪問失活賬戶,你需要提供見證數據;當失活賬戶被訪問了,該賬戶會自動解除失活狀態(觸及任何賬戶都會重置它的一年失活期計算)。修改內容如下:我們給每個地址添加一個32個字節的「epoch前綴」。例如,epoch前綴是9的地址是這樣:0x00000009de0b295669a9fd93d5f28d9ec85e40f4cb697bae,以00000009作為前綴。默克爾路徑會直接依賴epoch的前綴而不是它的哈希值(因此merkle_path_key=address+hash(address)而不是現在在用的merkle_path_key=hash(address)。這確保了「沒用過的」地址空間是連續的。除非地址的epoch前綴是小于或等于區塊鏈已運行的年數,否則地址不能被使用會增加一個CREATE3操作碼,它會把epoch前綴作為一個參數,并在具有該epoch前綴的一個地址上創建一個合約。推薦用戶和合約總是使用具有盡可能新的epoch前綴來創建賬戶,甚至設為默認設置,因為肯定會有具有最新epoch前綴的全狀態仍然是可以訪問的。為了還能保有「反事實地址(counterfactualaddresses)」,用舊epoch前綴來創建合約還是可能的。但是,對于想要創建反事實地址的用戶,如果長期不創建,他們就要負責為該賬戶存儲舊狀態的分支。經過多年的運行,預計活躍狀態會由兩部分構成:(i)有最新epoch前綴的全部地址空間,(ii)與最近被活躍使用過的賬戶相對應的特定舊狀態請注意,這個方案正常情況下擴展到合約上;事實上,主動遵循這個方案是符合合約自身運作的。因為在這個方案里,地址中代表存儲的部分以幾個字節為前綴,它們所代表的數字N指的是這些數據是在N年與這些地址產生關聯。這很適合用于存儲像代幣余額這樣的數據。來源鏈接:ethresear.ch

鏈游Civitas完成2000萬美元融資,Delphi Digital和三箭資本領投:4月12日消息,鏈游Civitas宣布完成2000萬美元融資,Delphi Digital和三箭資本領投,Framework Ventures、BITKRAFT、DeFiance Capital、Sfermion、CCP Games、Yield Guild Games、Merit Circle和YGG SEA等參投。

據了解,本輪融資將用于將Civitas構建為一款社區驅動的協作類城市建設游戲,擬在2023年第一季度推出測試版,并在2023年晚些時候正式推出。(Venturebeat)[2022/4/13 14:20:44]

Vitalik在Synthetix L2上質押了562枚SNX:瀏覽器信息顯示,Vitalik在昨日在Synthetix的Layer2上質押了562枚,價值9700美元的SNX。[2021/1/26 13:33:07]

VitalHu部署基于區塊鏈的冠狀病篩查工具:金色財經報道,加拿大技術公司VitalHub Corp于4月8日宣布首次部署一種基于區塊鏈的冠狀病篩查工具DOCit。該工具將由滑鐵盧地區名為Sunny Side Home的長期護理機構使用。該工具旨在部署和配置任何篩查或重復任務,從而為護理提供者、運營人員以及國家、省或地區衛生當局制定報告標準。[2020/4/9]

Tags:POCITAVITVITATokenPocketFITAI幣TAVITT幣VITA價格

XRP
比特幣:為了碳中和,紐約的湖魚正在和比特幣“較勁”

7月6日,紐約加密礦場Greenidge遭到當地居民指控稱其破壞了塞內卡湖。Greenidge礦場每天從湖中抽取1.39億加侖的水用于加密礦機散熱,并排放掉96%.

1900/1/1 0:00:00
NFT:?如何從 NFT 交易市場上獲得 NFT ?| 不一樣的「NFT」 -- N詞貼

獲得NFT途徑——從NFT交易市場上購買以太坊鏈上常用的NFT交易市場為Rarible、OpenSea、SuperRare、Collectables等.

1900/1/1 0:00:00
BSC:Rise of the Magni是什么? | 不一樣的「DFINITY」詞貼

《RiseoftheMagni》是一個戰棋與養成類型的NFT游戲,100%的代碼與游戲素材都部署在DFINITY的互聯網計算機上.

1900/1/1 0:00:00
數字人:我國數字人民幣發展到了哪一階段?

今日,央行發布《數字人民幣研發進展白皮書》稱,將繼續穩妥推進數字人民幣研發試點,不預設推出時間表;并重點做好以下領域工作:一是繼續穩妥有序推進研發試點工作;二是研究完善相關制度規則;三是加強重大.

1900/1/1 0:00:00
加密貨幣:星球日報 | 灰度GDLC已成為美國SEC報告公司;DeFi總用戶數量已達300萬(7月13日)

頭條 灰度:GDLC已成為美國SEC報告公司灰度宣布,灰度數字大盤基金已成為美國SEC報告公司。此外,灰度剛剛已提交三個產品注冊聲明的Form10文件,分別是BCHG、ETCG和LTCN.

1900/1/1 0:00:00
FTX:NFL傳奇四分衛「驚人湯姆」、巴西超模吉賽兒入股FTX,展開長期合作關系

6月29日,FTX.com、FTX.US、Blockfolio宣布和NFL傳奇四分衛布雷克和巴西之光,超模吉賽兒邦辰展開長期合作.

1900/1/1 0:00:00
ads