最近我發表了一篇博文比較ArbitrumRollup和相互競爭的其他rollup系統。不過,那篇文章里面沒有詳細介紹ArbitrumRollup的工作原理,所以這一篇文章的任務就是填補這個空白。
一句話,ArbitrumRollup是一個由以太坊鏈上合約管理的鏈下協議。為使自己的應用能夠在ArbitrumRollup上運行,dApp的開發者需要用Solidity編寫一組合約,然后將這些合約編譯成可以在Arbitrum虛擬機上運行的可執行代碼。運行速度會更快,你我期待的就是這個。
Rollup基礎知識
先從基礎知識說起。我們使用默克爾樹來組織虛擬機的狀態,因而可以算出虛擬機狀態的密碼學哈希值。我們把這個哈希值存儲在鏈上,因此在協議的任何一個時間點,都會有一些虛擬機的狀態被完全確認和最終敲定。這些已經獲得終局性的狀態的哈希值,就存在鏈上。
協議的參與者,通過提出一個爭議斷言來推進該虛擬機的狀態;該斷言聲明,從某些狀態哈希開始,基于一些技術前提,虛擬機將會執行特定數量的計算步驟,生成新的狀態哈希,并在執行期間完成相關的支付,生成相關的日志事件。爭議斷言可能是有效的,也可能是無效的。參與者在提出爭議斷言時需要為保證斷言的有效性而賭上一筆押金。(更多關于押注及其工作原理的內容將在后面介紹。)
灰度比特幣信托交易量接近2023年新高:金色財經報道,CoinGlass數據顯示,6月17日,灰度比特幣信托(GBTC)交易量幾乎創下2023年新高。截止周五收盤,GBTC上漲12.84%,暫報15.12美元。風險投資公司Cinneamhain Ventures的合伙人Adam Cochran表示,如果 Blackrock ETF 真的獲得批準,真正的贏家將是GBTC,因為貝萊德將展示轉化路徑,而GBTC的40%+折扣將在行業增長之上解決。此外,Cochran認為貝萊德的發行很有可能獲得美國監管部門的批準。[2023/6/18 21:45:41]
-爭議斷言會使協議產生一個決策點-
如上圖所示,提出一個爭議斷言就會產生一個協議最終必須要解決的邏輯決策點。如果爭議斷言是有效的,則系統將進入圖中右上角的新狀態,包括由爭議斷言生成的新狀態哈希值,以及其他附帶效果。若爭議斷言是無效的,則進入右下角的分支,爭議斷言被系統拒絕,原來的狀態不會發生變化。
舊的Arbitrum協議
最開始的Arbitrum協議每次只處理一個爭議斷言。當某些參與者提出一個爭議斷言后,會有一個挑戰期,在此期間任何人都可以挑戰這個爭議斷言。如果沒有被挑戰,則該爭議斷言將被系統接受;否則就會執行糾紛解決協議,撤銷爭議斷言。
這樣做很簡單,但是有兩個缺點。首先,因為每次只處理一個爭議斷言,所以虛擬機的處理速度很受限。在每個挑戰期內,正常的處理流程基本上都將停滯。第二,惡意參與者通過故意挑戰所有的爭議斷言可以徹底凍結虛擬機。攻擊者需要付出一些押金作為代價,但是只要他們愿意,他們至少可以在某些特定場景下通過這種攻擊長時間延誤系統。
SushiSwap:將為用戶提供已收回資金的索賠申領網站:4月12日消息,SushiSwap 發布 RouteProcessor2 漏洞和用戶退款更新表示:對于已經回收的白帽資金,團隊將制作一個 Merkle Claim 合約和一個網站,以移除任何剩余的 RouteProcessor2 批準并將用戶資金返還至其錢包;對于無法收回的黑帽資金,Sushi 團隊將建立一個索賠流程,用戶可以選擇加入,將根據具體情況管理索賠。黑帽資金將需要更長的時間來處理,因為團隊將根據鏈上數據手動驗證索賠的合法性,然后相應地進行支付。[2023/4/12 13:58:46]
新的改進版本
在我這篇文章中介紹的新的ArbitrumRollup協議解決了上述的兩個缺點。通過“流水線化”處理多個爭議斷言,驗證節點模擬虛擬機的運算速度有多快,虛擬機的處理速度就有多快。第二,我們后面將會解釋,惡意參與者無法延阻系統,他們只能暫時延誤對最終結果的鏈上確認,但這些結果對誠實節點來說早已“無需信任地被敲定了”。
所以,到底怎么做到呢?那就要講得再深一點了……
每個狀態后面最多可以接一個爭議斷言。如果一個狀態后面沒有爭議斷言,那么任何人都可以生成一個爭議斷言接在后面,作為一個新的分叉點。結果就是產生了一棵平行未來之樹。
Bitfinex公告將下架FTT:11月23日,Bitfinex發布公告將下架FTT,FTT存款已永久關閉。
Bitfinex將于2022年11月29日03:00 PM UTC停止FTT交易,以及禁用FTT/USD的保證金交易。
FTT的提款將保持開放至2023年1月17日03:00 PM UTC。[2022/11/23 8:01:39]
-平行未來之樹-
押注
協議的另外一個重要的部分是押注。任何人都可以在樹上的某個方框后面下注。對某個方框押注,意味著你在斷言該方框最終將被協議確認。換句話說,你在斷言從當前狀態到你押注的方框所在的這條分支是正確的分支。如果你錯了,可以想見你的押金將被罰沒。
押注行為不能被撤銷。你可以將你的押注向右移動——可以在分叉點后向上或向下選擇分支——但你不能向左移動押注,因為這相當于撤銷你之前作出的押注承諾。
提出爭議斷言的參與者要在“認可其斷言有效”的繼任方框上押注。通常他們可以向右移動已存在的押注到滿足條件的方框上。他們不能這樣做,他們可以額外再押一注到需要的方框上。但是注意,他們將在相沖突的兩條路徑上押注,因此最終他們會損失至少一筆押金——通常自相矛盾不是明智的移動選擇)。
關于押注還有一個細節:如果你押注的方框被確認成為被接受的歷史的一部分,你可以選擇收回押金。這意味著,如果你是正確的,你可以停止移動你的押注,直到系統“追上”你,然后你就可以收回你的押金。
與Google達成合作后Coinbase股價上漲近4%:10月11日消息,Coinbase Global Inc.宣布與Alphabet Inc.旗下Google在云服務和支付方面建立了合作伙伴關系后,其股價在10月11日周二開盤后出現上漲并升至69.75美元,漲幅達3.79%,目前維持在69美元上方。(BNNbloomberg)[2022/10/12 10:31:32]
-一棵更標準的狀態樹——由一連串的有效斷言組成-
在這一點上,你可能會擔心,平行未來之樹會變得非常大,而且枝繁葉茂。這在現實中是不可能發生的,因為這需要多方押注不一致的結果。只要他們中有一個是誠實的,其他所有人都會損失他們的押金。更有可能的是,這棵樹實際上是一個由有效DA串成的鏈,一個接一個,所有的押注都在同一條分支上。
押注期限
我們需要系統在盡可能短的時間內對每個爭議斷言做出決定。所以當一個爭議斷言被添加上鏈、產生一個分叉點的時候,會有一個期限與之關聯。這個期限足夠長,任何人如果愿意,都有足夠的時間檢查這個爭議斷言是否有效,以及產生一筆押注交易上鏈。任何要押注的人都必須在期限結束之前完成操作。一旦期滿,所有可以決定爭議斷言的押注都將可知。
糾紛
如果Alice和Bob押注不同的方框,那么以下兩件事件中,必有一件為真。要么其中一個押注可以向右移動到另一個——意味著他們的斷言是一致的——要么找不到這樣的路徑。如果沒有一條向右移動的路徑可以連接Alice和Bob的方框,則他們必然有分歧。他們之間一定可以找到一個唯一的分叉點——一個唯一的爭議斷言,某個人押注這個斷言是有效的,而另一個押注其無效。
Avalanche創始人:Terra事件的嚴重程度比Mt.Gox黑客事件更糟糕:5月20日消息,Avalanche創始人Emin Gün Sirer在接受采訪時表示,Terra事件的嚴重程度與Mt.Gox黑客事件相比,甚至是更糟糕,他擔心這種事件會導致更多的監管審查。他承認,由于LUNA吸引了大量資金,Avalanche一度被LUNA的快速發展所阻礙。Emin Gün Sirer承認,因Avalanche之前與Terra建立合作關系,Avalanche在這次Terra事件中造成了一些損失。但其未透露具體損失金額。
據悉,位于日本東京的Mt.Gox曾是世界上最大的比特幣交易所,高峰時承擔著超過70%的比特幣交易,但在一次大規模黑客攻擊后于2014年破產。 (U.today)[2022/5/20 3:30:36]
-Alice和Bob之間存在爭議-
當兩個參與者之間出現糾紛時,系統可以啟動一個交互式糾紛解決協議。我在這里沒有足夠的篇幅來描述這個糾紛解決協議——我只想說,這是一個類似我們在其他Arbitrum文檔中描述過的二分法交互協議。
糾紛解決協議的結果是一個參與者將被發現是錯誤的。這個參與者的押金會被罰沒。押注會從所在的方框上刪除。部分押金會給到糾紛的另一方,剩下的被燒掉。
多個糾紛可以同時解決,但是每個押注者一次最多只能參與一個糾紛。因為輸家的押注將被刪除,每解決一個糾紛都會減少整個系統的分歧數量。損失押金的參與者可以繼續押注,但是新的押注無法影響押注期限已過的爭議斷言。這樣做的效果是,一個爭議斷言的押注窗口結束后,一切有關如何處理該斷言的分歧都將被消除。
結果確認
某個爭議斷言的押注期限到期后,如果所有及時提交的押注,都存在于從該斷言產生的同一條分支上,那么系統就可以肯定該斷言的結果為真。爭議斷言要么被接受要么被拒絕,當前狀態會移動到爭議斷言右邊正確的方框上。如果爭議斷言被確認有效,則其附帶效果,如支付等,也會在鏈上生效。虛擬機的狀態就是這樣向前移動的。
一般情況下,參與者都會誠實守矩,誰也不想因為押注錯誤而損失押金。只有有效的爭議斷言會被斷言,構成一條鏈,沒有人會在任何爭議斷言的無效分支上押注。在這種情況下,所有的爭議斷言都會在押注期限一過后立即被確認。
何以無需信任
ArbitrumRollup的一個重要性質就是無需信任——只要有一個誠實參與者就可以確保虛擬機狀態正確向前推進。為什么呢,想象一下Alice總是在正確的分支上押注,如果沒有爭議斷言,她就自己斷言。
因為Alice總是在正確的分支上押注,所以她會贏下每一次糾紛。如果有任何人不同意Alice,他們要么(a)與一個無關的第三方產生糾紛并損失押金,或者(b)最終和Alice產生糾紛并輸給Alice押金。無論哪種情況,所有與Alice不一致的人都將失去押金。只有同意Alice的押注才能存活下去,所以Alice在樹上的路徑最終會成為唯一一個有及時押注的分支——并且Alice的路徑會被確認。
-只要Alice是誠實的,無論別人怎么做,綠色方框都會得到確認-
因為按這種方式系統是無需信任的,如果Alice押注某個方框,她一定知道到這個方框的路徑是可信的,Alice可以確定這個方框最終一定會被確認。對于Alice來說,這條路徑就跟被敲定了一樣。
即使你沒有押注某條路徑,如果你看到有好幾個人對它押注,只要你相信其中至少有一個誠實的人,你就可以肯定這條路徑最終一定會被確認——對你來說,這條路徑就跟被敲定了一樣。
無需信任的終局性的好處
為什么說無需信任的終局性有價值?經典的例子來自于之前對其他rollup協議的討論。假設一個虛擬機要向Alice進行支付。支付事件發生在誠實的路徑上,但是包含這筆支付的方框還需要等待一些時間被鏈上確認。
無需信任的終局性讓Alice可以立即拿到錢。如果Bob有余錢,可以立即付給Alice,以交換Alice尚未被確定的收款。Bob只有在他能確定Alice的這筆收款一定會發生,才會想和Alice交易。Bob可以通過押注誠實的結果來確保這一點——這樣他對這筆支付最終一定會發生抱有無需信任的信心。不僅僅是Bob可以這樣做。任何有點錢的人,都可以用這樣的方式借錢給Alice或者有她這樣需求的人,這些人通過提供更低的費用相互競爭,使Alice立即拿到錢的成本大大降低。
關鍵是,這種市場機制的可行性取決于無需信任的終局性。如果“每個人”都知道這件事最終會被確認,那么鏈上確認的延遲就不會帶來那么多的不便。
不僅對于支付,虛擬機能做的其他事情也是如此。如果虛擬機要生成一個日志事件記錄發生了什么事情,無需信任的終局性意味著任何人都可以肯定地采取行動,因為這個日志事件最終一定會被鏈上承認。
延遲攻擊
因為這個系統是無需信任的,壞人無法強行制造錯誤的結果。他們能做的只能是延緩系統。這樣做需要他們付出押金,如果押金數額巨大,則代價高昂。
想象一下,如果有人寧愿付出押金也要發動延遲攻擊,他們能造成的最壞的情況是怎樣的?
首先要注意的是,壞人無法阻止好人繼續構筑誠實的分支。而且他們也無法阻止好人獲得對“誠實的分支終將被確認”的無需信任的信心。
攻擊者能做的只是在錯誤的分支上押注,以延遲誠實路徑的鏈上確認。他們每次的押注都會產生一起和誠實參與者的糾紛,而誠實的參與者會從糾紛中拿走攻擊者的一大部分押金。等到攻擊者的全部押金被拿走了,鏈上確認還會繼續向前推進。
如果攻擊者多筆押注錯誤的結果會怎樣?那么這些押金會在一個接一個的糾紛中被拿走。如果有多人押注誠實的結果,這些人都可以進入糾紛解決,并行拿走攻擊者的押金。而且需要注意,所有人都很清楚發生了什么,很多人都想加入進來分一杯羹,押注正確的結果從攻擊者手上搶奪押金。如果誠實方有K個人押注,則在一次糾紛延遲期內,就要消耗攻擊者K份押金。如果攻擊者下更多的押注,那很可能會吸引更多的誠實押注者。這對攻擊者來說是個災難。
優化
還可以做很多優化來降低操作協議所需的鏈上記賬數據量,降低鏈上的gas消耗,讓攻擊者延遲攻擊引發的喂養狂潮更容易上演。我不會再這里詳述這些優化——這篇文章已經足夠長了。
?
隨著2020年歲末的到來,比特幣將走過第12個年頭。經過12年的漲跌起伏、爭議分叉,比特幣進入了主流視野,更多的山寨幣種也涌現出來。其中,不得不提的就是BCH——比特幣的分叉幣.
1900/1/1 0:00:00在11月17日流動性挖礦池關閉前,Uniswap社區于北京時間11月13日凌晨舉辦了線上會議。社區成員主要圍繞「是否繼續挖礦」展開討論,雖然最終沒拍板,但「繼續挖礦但減少釋放量」的呼聲較高.
1900/1/1 0:00:0010月25日發布一項Kusama拆分100倍議案,得到了海內外波卡社區的熱烈討論。如今,雖然這項議案已經被否決,但是,Kusama作為波卡的測試網絡,是波卡生態最為重要的開發手段之一,投票過程中.
1900/1/1 0:00:00原標題:《比特幣和其他加密資產的持續上漲為加密基金注入一針強心劑》 Keypoints: 超過一半的加密基金的辦事處都設立在美國.
1900/1/1 0:00:00本文來源:請辯 作者:蔡壘磊 關于比特幣,自2016年以來,我分別發了:《一文讀懂貨幣發展史》《比特幣到底是個什么鬼》《“聽說你買了比特幣,看你怎么死”》《寫在比特幣30000之后.
1900/1/1 0:00:002018年11月16日,大家對于BCH分叉雙方的算力戰記憶猶新,沒想到,僅過了兩年,BCH又要分叉了。幾天后的11月15日,BitcoinCash按照此前的系統設定將會進行半年一次的硬分叉升級.
1900/1/1 0:00:00