本文乃與 samwilsn 及 adietrichs 聯合撰寫而成,亦得到 villanuevawill 和 Quilt 團隊的莫大幫助。
簡介
以太坊 2.0 的無狀態性意味著交易必須攜帶自己要訪問的狀態。更準確地說,對于區塊提議者(BP) ,除了包含交易,區塊還需要包含所有交易訪問的所有狀態和對應的見證信息。假定創建交易的用戶和 BP 都未存儲狀態數據,那么,網絡就需要另一個群體來保存并提供這些狀態。這種角色通常被稱作狀態提供者(SP)。
不管區塊提議者和狀態提供者是如何交換狀態的,用戶都可能需要在創建交易之前獲取狀態。比如通過獲取合約的字節碼,估計 Gas 的花銷或者檢查賬戶的余額。這意味著狀態提供者需要為用戶暴露一個類似拉取數據功能(pull-like)的接口。盡管沒有激勵層,只依賴無私的狀態提供者也可以為用戶提供狀態(以太坊1.0 就是這樣做的),也可以通過狀態通道來實現支付,給狀態提供者添加一個激勵層。
比較準則
關于如何將狀態提供者集成到整個系統中,人們已經提出了多種想法。在下面的章節中,我們將扼要地介紹幾種方案。除了概括性的描述,我們還會對比下面的幾個性質:
狀態訪問限制
因為交易的執行基于執行時的狀態,所以,如果底層的狀態變化了,交易的執行也會跟著變化。特別地,對一些交易來說,其狀態訪問的位置可能會變化。這可能是因為簡單的跳轉語句(比如 if),或者所訪問的位置是在運行時計算的。我們將兩種情況稱作動態狀態訪問(DSA)。在無狀態模式下,這會讓交易創建過程變得復雜。問題在于可能無法提前為這些交易提供狀態(因為無法提前知道這些交易會訪問哪些全局狀態)。不同的狀態提供者模式在支持這些交易的程度上表現不同。
如果某個模式限制了動態狀態訪問,那么 Eth1 很有可能無法成為 Eth2 執行環境(EE),而且將經常需要特殊的處理。
激勵措施
區塊鏈游戲公司Digital Entertainment Asset完成新一輪融資:金色財經報道,新加坡區塊鏈游戲公司 Digital Entertainment Asset(DEA)宣布完成新一輪融資,東京投資基金 Global Brain Corporation (KDDI) 旗下 KDDI Open Innovation Fund III 參投,但具體融資金額暫未公開披露。DEA 目前運營基于“PlayMining”品牌的游戲平臺、NFT 市場和元宇宙項目,目前已發布了 6 款 P&E 玩賺鏈游,包括 Job Tribes、Menya Dragon Ramen 等,新資金將用于將相關游戲整合到 KDDI 的“αU”元宇宙中,為游戲玩家提供融合現實和虛擬世界的先進沉浸式體驗,并尋求更多 Web3 業務合作關系。(雅虎財經)[2023/8/7 21:29:56]
對狀態提供者的報酬從下面兩方面對比:
1.誰支付報酬以及報酬是如何計算的?
2.一開始是否支持無私狀態提供者,如果是這樣,激勵措施可以之后再加嗎?
中心化風險
每個模式的中心化風險都有所不同:
1.誰可以審查交易,可以審查到什么程度?
2.一個狀態提供者可以存儲多少狀態?需要什么樣的硬件?
3.區塊提議者和狀態生產者之間要達到怎樣的互信程度?
時間約束
區塊生產者廣播區塊的時間是固定的。因此我們會專門考慮不同模式在該時間限制下的表現。
丟失狀態的可歸因性
Eth1 中,一旦某個給定交易的簽名驗證以及余額和 nonce 的檢查完成,礦工就可以確信他們會得到打包交易的手續費。Eth2 中, 區塊提議者是否可以得到支付依賴于丟失狀態是否是可歸因的錯誤(attributable fault)。如果是的話,就算某筆交易是因為狀態丟失而失敗,區塊提議者也依然可以得到支付。否則,丟失狀態的交易本身是不可打包的,但區塊提議者可能在執行完所有(一般很長)的交易后才可能發現。(譯者注:這里的支付指區塊提議者要收取打包交易中的交易費,如果是不可歸因的錯誤,那么區塊提議者花費成本去打包了交易,卻得不到交易中的交易費。)
富達、景順和VanEck等公司已重新申請現貨比特幣ETF:金色財經報道,富達投資(Fidelity Investments)、Invesco(景順)、VanEck、21Shares 和 WisdomTree 重新申請現貨比特幣 ETF,在申請文件中增加了一些新的細節。周五重新提交的五家公司都表示,Coinbase Global Inc.將提供市場監督以支持其資金(此前申請文件未提及)。
彭博社援引一位知情人士稱,Coinbase 還將為其他擬議的基金發行人提供各種服務,包括貝萊德、Valkyrie 和 Bitwise。在最近的一份文件中,21Shares 表示 Coinbase 也將提供托管服務。其他發行人拒絕確認 Coinbase 是否會參與其中。[2023/7/1 22:11:37]
如果區塊提議者又要運行交易才能發現錯誤,但這些交易又是不可打包的(即不能支付手續費的),那區塊提議者就很容易受到成本幾乎為零的拒絕服務式攻擊。
模式
直推模式(Direct Push Model)
用戶直接從一個或多個狀態提供者處請求必要的狀態,然后將帶有狀態的交易發往網絡。節點維護待處理的交易池,每當網絡產生新區塊就更新見證信息。區塊提議者創建區塊時, 從交易池中選擇待打包交易子集,包含進新的區塊。
創建交易的用戶實質上成了這筆交易唯一的狀態提供方。一般來說,沒有辦法確保用戶所提供的狀態能滿足日后交易上鏈時的所有訪問需要。因此,在 Direct Push 模式下,只有狀態訪問可預測的交易才能得到執行。因為交易只能使用靜態狀態訪問,合約創建者也應該設計他們的合約,得到可預測的狀態訪問:可以使用諸如可訪問列表( access lists)的注釋,詳細說明合約在運行期間可以訪問的位置。這種方案與避免動態狀態訪問的模式 (可參見 Vitalik 在 Eth1.x 版塊提出的這篇相關博文 )相結合,產生的新模式應該仍能提供足夠的的功能性。
LooksRare更新掛單獎勵規則,提升合規用戶獲得獎勵的價值:10月20日消息,NFT交易所LooksRare平臺對掛單獎勵規則進行更新:1.更新后,每個錢包地址只有5個NFT系列合集的掛單可以獲得獎勵;更新前,每個錢包地址有資格同時獲得獎勵的有15個NFT系列合集。
2.更新后,每個錢包地址的每個合集最多200個符合條件的掛單獲得獎勵,這將由掛單價格按升序確定;更新前,在1.4 倍以內的所有掛單都可以獲得獎勵。
以上規則從2022年10月20日上午9:00 (UTC) 開始的掛單獎勵期開始生效。本次更新(連同上一次更新)旨在為合規用戶增加掛單獎勵的價值,同時更有效地為熱門NFT系列創造有意義的流動性。[2022/10/20 16:32:28]
不過,這將會與當前的 Eth1 系統大相徑庭。可能會使 Eth1 轉換到 Eth2 的計劃泡湯。
激勵
這個模式只依賴于一般的狀態提供者網絡。正如上面所說的,似乎沒有激勵系統也可行。
激勵制度也可以通過支付通道來添加。假定每個用戶都必須與一個或多個狀態提供者建立一個支付通道,這種方法應該會特別復雜。
單個狀態提供者是無法審查交易的,因為用戶可以向多個狀態提供者發送多條查詢。
因為狀態提供者可以僅保留一部分狀態,因此硬件要求可以按需降低。
金錢激勵可能會促使一些狀態提供者中心化,因此用戶通過支付通道購買狀態時,需要信任對手。
沒有時間約束。
丟失狀態可歸因給用戶。大部分情況下,區塊提供者可以打包狀態不足的交易而仍讓用戶支付。唯一的例外是初始簽名驗證或手續費支付所需的狀態也丟了,這種情況下,交易不會被打包。類比 Eth1 的情況,網絡中的節點可以從交易池中丟棄這種交易。對于這些初始交易部分,必須要施加一些限制來最大化 Gas 的利用 。
關鍵點
主要優勢:簡單。不需專業的狀態提供者或激勵系統。沒有特別的時間約束。
Compound Labs發布多鏈借貸協議Compound III代碼:6月30日消息,Compound背后團隊Compound Labs周二發布了多鏈借貸協議Compound III的代碼。雖然該協議尚未推出,但開發人員可以將代碼集成到現有平臺,并提供改進建議。
Compound III旨在成為一種可治理的協議,在資本和交易費用方面具有低成本優勢。Compound Labs的工程副總裁Jared Flatow在周三的一篇文章中寫道,其中一種方法是納入一項單一的可借入基礎資產,并將所有其他資產作為抵押,以降低風險和提高資本效率。
雖然Compound已經公布了其代碼,但還沒有公布實際協議本身。盡管如此,發布的代碼標志著跨鏈去中心化借貸在以太坊EVM鏈上成為現實的重要一步。
Flatow在帖子中寫道,“開發人員可以開始計劃與Compound III的集成,并審核代碼庫以及提出改進建議。”(The Block)[2022/6/30 1:40:31]
主要缺點:只適用于事先知道所有狀態訪問需要的交易。這限制了整個系統的功能。盡管可以用一些緩解措施,但兼容性問題無法解決。特別地, 這種模型下,Eth1 無法成為 Eth2 的運行環境。
中繼推送模式(Relayed Push Model)
用戶自主向某個中繼者(Relayer,專業的狀態提供者)發送交易。該中繼者將多個交易捆綁在一起并附加交易狀態,將捆綁的交易包中繼至網絡。節點維護待處理的交易包池。每當有新區塊產生,中繼者就為交易包中繼更新狀態,所有的節點則更新對應的見證信息。BP 在創建區塊時,從交易包池中選擇最新的待處理交易包,把他們包含進新的區塊。
相應地,系統在交易包池中的交易包被證明用不了的情況下,仍然可以運行。中繼者只宣告交易包的存在。區塊提議者會直接聯系中繼者,得到交易包并包含進新的區塊。
比利時KBC銀行推出Kate Coin:金色財經報道,比利時KBC銀行是歐洲第一家推出基于區塊鏈技術的數字貨幣Kate Coin的金融機構。客戶將能夠通過KBC Mobile中的Kate Coin錢包在“閉環”環境中獲取和有效使用凱特幣,在此之外,硬幣沒有貨幣價值。凱特幣由KBC全額抵押,并以1:1的比例與歐元掛鉤,每枚凱特幣1歐元。KBC集團首席執行官JohanThijs評論說:“一個全新的經濟目前正在基于Web3.0、加密貨幣、NFT等新技術的基礎上發展。通過Kate Coin,我們正在進入這個新世界。這就是我們正在準備面向未來的KBC的方式。”(finextra)[2022/6/16 4:32:03]
沒有限制。只要中繼者每個時隙(slot)都能向交易包推送狀態,確保狀態訪問的需要能得到滿足,就可以了。此外,每個新區塊只包含一個數據包,可以防止交易包間的干擾。
給中繼者設計激勵機制其實挺復雜的,因為狀態和見證信息一旦公開,用戶 和/或 BPs 就有機會繞過見證者,自己重新創建交易包。
兩個可能的解決方案:
1.沒有交易池的情況下,交易包是不公開的。中繼者向區塊提議者售賣附加了狀態的交易包(費用比交易費低一點),從而形成交易包市場。對區塊提議者來說存在一些風險:某筆交易可能已經被包含在另一個區塊中了,成了無效交易;或者收到的交易費比中繼者售賣時宣告的要少。
2.另一種方法是,不論有沒有交易池,交易可以包含給某個特定中繼者的支付。用戶承諾一段排他期(即幾個時隙),這段時間內,用戶不會創建其他交易。如果用戶在排他期同時簽署兩個或多個交易時,就要遭到懲罰。為此,EE 必須提供 “罰沒” 用戶的方法。但因為用戶沒有鎖定保證金,那么尚不清楚如何罰沒沒有足夠賬戶余額的用戶。
中心化風險依賴于使用何種中繼者激勵機制:
1.假定合并交易包是復雜的(因為動態狀態訪問),交易包市場會導致高中心化,并且允許單獨的中繼者審查交易。因為上面列出的 BPs 可能遭受的風險,BPs 更傾向于與知名且信任的中繼者合作。個人用戶與這些知名的中繼者相比,是無法提供有足夠高交易費的交易包的。
2.使用排他期以及交易包池會提供高程度的去中心化,但是以用戶的便利性和一個更加復雜的交易池實現為代價。理論上來講,任何用戶都可以從交易池中檢索到交易包,添加自己的交易去擴充交易包,然后以更高的交易費用中繼交易包。
為了支持所有類型的交易,任何包含進區塊的交易包都必須包含最新狀態。中繼者必須下載前面的區塊,創建并向區塊提議者發送交易包對應的更新, 區塊提議者則在新塊中包含更新的交易包,所有的這些行為都要在一個 slot 的時間內完成。
狀態丟失可歸因于中繼者。區塊提議者可要求中繼者(或是中繼者自愿選擇)為某一筆交易附加 “退款交易”,用于在交易因狀態丟失而失敗時向區塊提議者退款。
主要優勢:沒有狀態訪問限制。
光靠一個交易包池可能不夠,因為交易包體積較大(與 Eth1 中單個單個交易所組成的交易池相反),而且有嚴格的時間約束。
沒有交易池的情況下,交易包不能被組合起來,那么一個區塊就只能包含單個中繼者提出的交易包。中繼者可能會中心化并引入審查。
就算有交易池,交易包組合功能是否足以完全緩解審查問題依舊是不明朗的。
激勵系統很復雜。
拉取模式(Pull Model)
用戶向網絡發送交易,節點維護待處理交易池。創建區塊前,區塊提議者從交易池中選出部分待處理交易,組成交易包并發送給某個狀態提供者,請求這個交易包的狀態。接收到狀態后,由區塊提供者將交易包打包進新的區塊。
在狀態提供者提供所有狀態以前,為了讓中間節點和區塊提議者能夠驗證交易的有效性,用戶必須在交易上附加驗證簽名和手續費支付能力所需的見證消息。因此這一部分在不同的執行環境(EE)中必須是標準化的,所有 EE 都必須提供一個最簡單驗證函數選項。
或者可以使用一個 Value-Holding EE (VHEE)。每筆交易都使用這個 VHEE 來支付費用。網絡中的節點會理解 VHEE, 從而可以驗證交易有效性。
在這兩種情況下,網絡中的節點都需要在新區塊到達時更新附加狀態的見證信息。
區塊提議者是預測不了交易包的實際 Gas 花銷的。在特殊條件下,交易包中的任意一筆交易都有可能使得這筆交易的所有后序交易無效化,比如將發送方的余額減少為 0。為了緩解這個問題,區塊提議者會“超額打包”(overbundle),也就是說,向狀態提供者發送多于他們預計要在區塊中打包的交易數。狀態提供者會提供這些交易的狀態,直到達到區塊上限。如果使用了 VHEE,交易可能還要額外附加一些數據,其中包含 VHEE 地址的列表,以及可以從這些地址中取走的最大金額數。通過這種方式,區塊提議者就能防止前面的交易將后序交易無效化。
對主要交易沒有限制。區塊提議者只有在創建區塊時才會聯系狀態提供者,確保返回的狀態是最新的。更重要的是,通過把交易捆綁在一起并以交易包為單位請求狀態,狀態被附加在準確的上下文中。這種做法保證了所提供的狀態總是充分的。這就包含了與 Direct Push 模式很關鍵的一個差異,Direct Push 模式中,狀態是在交易捆綁 之前 被附加進去的,從而造成了狀態訪問的限制。
因為用戶必須包含驗證簽名和手續費支付能力的狀態,因此從技術上來說,交易部分的限制和 Direct Push 模型中列出的相同。然而這些限制在實際中是無關緊要的。因為 Eth1 中,簽名驗證和費用支付是可預測的狀態訪問,因此 Eth1 和 Eth2 之間的兼容性不會被破壞。此外,對 VHEE 來說,它的設計將確保可預測的狀態訪問,從而沒有必要做進一步的限制。
區塊提議者可通過支付通道或其他方式為狀態提供者提供的狀態付費。根據 BP 和對手 SP 的信任程度,可以按交易筆數來支付費用(這是信任最小化的),也可以按交易包來支付費用(這樣效率更高)
狀態提供者必須保存所有的狀態,存儲量要求很大。預計狀態提供者還要快速執行交易包,因此對計算能力也有要求。
區塊提議者可能更傾向于向其信任的狀態提供者群體獲取狀態,減少惡意破壞的風險,從而增加了中心化程度。
然而,單獨一個狀態提供者無法審查交易,因為負責創建并對交易包排序的是區塊提議者。某個狀態提供者可能會隱藏某個交易包需要的狀態,但是這樣做會損害他們的信譽,而區塊提議者可以很容易地用另一個狀態提供者重試。
區塊提議者必須在一個時隙內聯系上一個能為 TA 提供待上鏈交易包所需狀態的狀態提供者。
狀態提供者始終要為所提供的狀態負責。區塊提議者不可以將狀態不充分的交易打包進區塊,而且只有在驗證了狀態充分后,才會支付。
優點:
1.沒有相關的狀態訪問限制。
2.時間約束問題較少。
3.沒有顯著的中心化風險。盡管可以預計到,某一些狀態提供者將專門為區塊提議者提供狀態,但沒有某個狀態提供者可以顯著地干預整個過程的進行。一個狀態提供者可以做的最壞的事情就是在被請求時不提供狀態。
主要的缺點:必須對簽名驗證做一些標準化,或者通過驗證腳本,或者使用 VHEE。
延伸討論
自力更生式見證信息 & Gas 花銷
如果交易發起者可以提供足夠的見證信息來保證他們的余額,那么狀態訪問能便宜一點嗎?如果見證信息也放在交易中、經過簽名,其確定性是可以保證的,但是會增加復雜性。
狀態費用
區塊提議者和狀態提供者對狀態的價格是如何協商的呢?由網絡設置嗎?為生成一個區塊,區塊提議者應該向多個狀態提議者招標,并選擇最便宜的那個嗎?
價格是按狀態訪問次數來算呢?還是按見證數據的大小來算呢?
如果按見證數據的數據量來收費,那么 BP 如何知道 SP 沒有包含多余的字節?
如果多筆交易使用相同的見證信息,費用應該被均分嗎?還是每筆交易都支付全款?還是只有第一筆交易需要支付?
狀態抽象
這個提議沒有確切地定義執行環境該如何獲取狀態,但是拉取模型或者中繼模型運行時應該需要。
分布式狀態網絡
試想一下,不去收集交易并向狀態提供者發送整個交易包,而是創建一個分布式哈希表,讓區塊提議者在執行中動態地獲取狀態可行嗎?這種替代方法在網絡請求上會阻塞交易的執行,可能讓交易的序列化執行 太慢/不可預測。利用 software transactional memory 中的進展也可以實現這種替代方法。
原文鏈接:
https://ethresear.ch/t/state-provider-models-in-ethereum-2-0/6750
作者: adietrichs
翻譯&校對: 裴奇 & 阿劍
本文將討論Polkadot為解決拜占庭容錯問題而提出的共識協議——GRANDPA協議。在本文中,我們默認讀者已經熟悉拜占庭容錯問題,所以我們將直接介紹Polkadot的GRANDPA協議是如何解.
1900/1/1 0:00:00今日,Kava宣布將集成預言機Band Protocol ,Kava預言機方案路線圖中曾顯示,Kava使用了一個預言機白名單機制,將每個資產的價格集體發布到區塊鏈上,在每個區塊挖出期間.
1900/1/1 0:00:002020年3月25日,Jack卸任GX.COM CEO 一職,并出任香港縱鏈科技CEO。GX.COM平臺也在第一時間送出祝福, 對Jack在GX.COM任職期間所做的努力給予充分的肯定,感謝Ja.
1900/1/1 0:00:00根據北京鏈安統計的數據,從3月13日到3月20日的8天時間里,Tether公司進行了9次USDT增發,每次增發6000萬枚USDT,總計發行5.4億USDT.
1900/1/1 0:00:00在過去的幾周里,整個世界包括加密貨幣領域,都被冠狀病的爆發所破壞。為減輕COVID-19的傳播,全球當局被迫采取緊急措施,從而關閉了成千上萬家企業,并導致全球數百萬人待業.
1900/1/1 0:00:002020年湖南省區塊鏈產業發展重點項目名單3月27日,湖南省工業和信息化廳公布“2020年湖南省大數據和區塊鏈產業發展重點項目”,“隆平鏈(隆平數科)”(以下簡稱:“隆平鏈”)項目上榜.
1900/1/1 0:00:00