來源:OffchainLabs
作者:EdFelten
此前我發過一篇文章比較ArbitrumRollup和其他rollup解決方案。但是沒有細說ArbitrumRollup的工作原理,所以本文將詳細介紹Arbitrum。
ArbitrumRollup是一個由以太坊鏈上合約管理的鏈下協議。一個dApp開發者用Solidity寫了一組合約,將這些合約編寫進Arbitrum虛擬機(VirtualMachine,VM)中,然后就可以在ArbitrumRollup中運行合約了。這樣運行速度能夠快些。
Rollup的基礎原理
讓我們從基礎說起。虛擬機的狀態以默克爾樹的形式組織,因此就可以計算出該虛擬機狀態的加密哈希。在協議的任意時間點,都有一些虛擬機狀態被完全確認和敲定。這些虛擬機狀態的哈希是儲存在鏈上的。
協議參與者可以提出一個“爭議斷言”(DisputableAssertion,DA)。該斷言聲稱,虛擬機從某些狀態哈希開始,基于一些技術前提可以執行特定數量的計算步驟,從而生成新的狀態哈希。并在計算期間完成特定的支付以及生成特定的日志事件。該“爭議斷言”可能有效,可能無效。提出“爭議斷言”的一方需要基于斷言的有效性質押一筆保證金。(更多關于質押及其運作原理將在下文介紹)
現場丨西安市大數據資源管理局副局長:西安將充分利用區塊鏈技術 打造數字經濟名城:金色財經現場報道,10月15日,在由西安市大數據資源管理局主辦,西安市區塊鏈技術應用協會等單位承辦,金色財經和IPFS100.COM等聯合承辦的首屆中國(西安)區塊鏈產業發展論壇上,西安市大數據資源管理局副局長張偉明發表致辭指出:“西安在2019年制定了在重點領域應用區塊鏈技術大發展的相關計劃與目標。未來,西安將充分利用數字化技術和智能化設施,積極探索城市全新治理模式,開展數據的動態采集、實時監測和智能分析,為城市治理提供科學依據;也將充分利用區塊鏈技術,強化網絡技術基礎設施建設,推動5G技術在城市社區的普及應用,著力提高社區管理的能力和水平。尤其是應推動數字化技術在交通、環境、市政等民生領域的應用,加快推進城市傳統基礎設施的數字化改造和升級,不斷提升城市公共服務的精細化、智能化、智慧化水平。”[2020/10/15]
圖:一個爭議斷言在協議中產生了一個決策點
如上圖左側所示,一個爭議斷言產生了一個協議最終必須解決的邏輯決策點。如果該斷言有效,系統會進入一個新狀態(右上角),根據特定的斷言產生新的狀態哈希和其他諸如支付和日志的附帶效果。否則就會進入另一個分支(右下角),該斷言就會被拒絕,狀態保持不變。
舊版Arbitrum協議
最開始的Arbitrum協議每次處理一個“爭議斷言”。當某方提出一個斷言時,挑戰期便開始,在此期間任何人都可以對該斷言發起挑戰。如果沒人發起挑戰,該斷言就會被確認;否則爭議協議就會運行以取消爭議斷言(以防提議者和挑戰者串通起來炮制爭議結果)。
廈門市利用區塊鏈技術 助力政府提高服務效率:5月20日,廈門市思明區政府與廈門建行、建信金科廈門事業群簽訂“區塊鏈基層治理協同平臺”合作備忘錄。據建信金科廈門事業群相關負責人介紹,該平臺首期將搭建一個基于“多方協作”的平臺,利用區塊鏈不可篡改、可溯源的特性,實現跨部門、跨機構、跨區域的多方數據在區塊鏈上進行安全的互聯互通,構建多方協作機制,促進業務協同辦理,助力政府提高服務效率。(廈門網)[2020/5/21]
這個設計很簡單,但有兩個缺點。首先,由于每次僅處理一個爭議斷言,導致虛擬機的處理速率有限。因此,每個挑戰期期間,處理進程基本上停滯下來。第二,作惡者可以通過對某虛擬機所有的爭議斷言發起挑戰來凍結該虛擬機。攻擊者會為此付出一定的代價(質押金),但是如果他們不介意這些損失,至少在一些場景下他們可以造成系統的處理進程延誤很長一段時間。
改進版本
新版ArbitrumRollup協議解決了上面兩個問題。將多個爭議斷言按流水線式排布,這樣設計下,虛擬機處理速度就可以和驗證節點模擬虛擬機運算的速度一樣快了。第二,正如下圖所示,作惡者無法延緩進程,他們只能暫時延誤對結果的鏈上確認,而對于誠實節點來說,這些結果已經是“無需信任地被敲定了”。
其工作原理是什么?我需要更進一步地介紹這個新的協議....
每個狀態最多有一個爭議斷言跟在其后。如果某個狀態后沒有爭議斷言,那么任何人都可以在其后創建一個爭議斷言,作為一個新的分支點。從而產生一顆多種可能的未來之樹。
聲音 | John McAfee:比特幣是古老的技術 會像福特T型車一樣被取代:JohnMcAfee此前曾預測比特幣到2020年底將價值100萬美元。McAfee最近發推表示,成為第一個區塊鏈并不意味著比特幣就是“未來”。在他看來,比特幣是古老的技術,而更新的區塊鏈具有增強的功能,可以解決比特幣區塊鏈的缺陷,就像1908年的福特T型車被更復雜的汽車取代一樣。[2020/1/6]
圖:一顆多種可能的未來之樹
質押
Arbitrum的另一個重要部分就是質押(staking)。任何人都可以往那顆樹中的方框里質押一定金額。通過質押,用戶則押注了某個方框最終將被協議確認。換句話說,該用戶認為其押注的方框是當前狀態的正確分支。如果用戶押錯注了,其押金便會受到罰沒。
質押行為不可以撤銷。用戶可以將押金向右移動(在每個分支點選擇向右上/右下移動),但是不可以向左移動,因為這相當于用戶撤銷其此前的質押操作。
提出爭議斷言的一方需要押注其提出的爭議斷言有效。通常情況下他們都能夠滿足這一要求——將其現存的押金往右移動并押注在要求的方框上。(極少數情況下他們無法這樣操作時,他們可以將額外的資金押注在要求的方框上。但是請注意,這樣做很可能會在兩個相沖突的分支上質押,這會導致損失至少一個分支上的質押金。因此做出自相矛盾的操作是不明智的。)
動態 | 順豐利用大數據和區塊鏈技術 實現甘孜松茸的全程追溯:據環球財富網消息,7月10日,順豐甘孜松茸預處理中心揭牌儀式在四川雅江舉辦。據悉,順豐基于其大數據及區塊鏈技術,在松茸上實現了全程可追溯,打造松茸全產業鏈質量與食品安全管理系統,使用智能設備搭載智能系統,結合特征碼追溯等方式,記錄每一棵松茸的采摘人員、采摘地區、生長周期、裝箱時間、分揀時間等,讓天生天養的松茸實現了數據沉淀與管理。[2019/7/11]
關于質押還有一個細節:如果用戶押注的方框被確認且被記錄在協議上了,用戶可以選擇取回押金。這意味著,用戶如果押對注了,便可以選擇不再移動押金,留在原處直到被系統追上,然后就可以取回其押金了。
圖:更加典型的狀態樹—由一系列正確的斷言組成
在這一點上大家可能會擔心那顆充滿各種可能的樹會變得非常龐大、枝繁葉茂。這在實踐中不太可能發生,因為這需要多方對不一致的結果押注。其中僅有一方是正確的,其他人則會損失押金。那么結果最有可能是這樣的:這是一顆由“有效的爭議斷言”所組成的鏈,一個接一個,所有質押者都具有同樣結果的分支上。
質押期限
我們需要系統盡可能快地對每個爭議斷言做出決定。所以當新的爭議斷言被添加上鏈且出現一個分支點時,就會產生一個與該爭議斷言相關聯的期限。這個期限足夠長以至于任何人都可以在期限內判斷該爭議斷言是否有效,然后需要在期限之前選擇是否押注。(期限過后,質押交易仍能在鏈上進行,但他們不能參與決定某爭議斷言是否正確。)一旦期限滿了,所有參與決定爭議斷言的押注都將可知。
動態 | 微軟計劃整合Azure和區塊鏈技術 在印度打擊垃圾電話:據Cnbeta消息,援引Hindustan的報告,鑒于印度地區肆虐的垃圾電話愈演愈烈,微軟希望通過和Tech Mahindra的合作使用區塊鏈技術來進行遏制。同很多區塊鏈技術應用相同,微軟將會依托在云服務方面的優勢來打擊垃圾電話。[2018/8/29]
爭議
如果Alice和Bob在不同的方框上進行押注,會有兩種情況發生:要么其中一位向右移動到另一個人的押注上(即他們兩個的押注結果相符合);要么找不到這樣的路徑。如果Alice和Bob之間沒有一條可以連接他們的向右的路徑,則他們必定相矛盾。那么在他們之間一定可以找到一個唯一的分叉點——這一點將他們兩個分叉,各押注了相矛盾的分支方框。
圖:Alice和Bob之間存在爭議
當兩方之間出現爭議時,系統會在他們之間啟動一個交互式的爭議解決協議。可惜在本文中我沒有足夠的篇幅來描述該爭議解決協議——這是一個二分法交互協議(bisection-typeinteractiveprotocol),類似于我之前在其他Arbitrum文檔中的描述。
該協議帶來的結果是,其中一方會被證實錯誤的。其押金會被罰沒,且押注會從方框中移除。而這些押注的部分會給爭議的另一方,剩余的會被銷毀。
多個爭議可以同時存在,但每個質押者每次最多只能選擇一個爭議。因為錯誤的押注會被刪除,每一次爭議的出現都會減少系統中的分歧數量。損失押金的質押者可以選擇再次押注,但是新的押注不能再影響期限已過的爭議斷言。如此帶來的影響是,一個爭議斷言的質押期限過了之后,關于如何處理該爭議斷言的爭議都會被消除。
結果確認
當某個爭議斷言的質押期限到期之后,并且所有在期限內存入的押注在該斷言的同一個分支上,系統就可以確認該爭議斷言的結果。它會被確認或拒絕,當前狀態會向右移動到正確的方框上。如果該斷言被正式有效,其附帶效果(如支付)也會被記錄上鏈。虛擬機狀態就是這樣向前移動的。
一般情況下,為了不損失自己的押金,參與者都將誠實押注。只有有效的爭議斷言會被提出,沒人將在爭議斷言的無效分支上押注,從而形成一條單一的鏈。在這種情況下,每個爭議斷言都能在質押期限過后立即被確認。
為何說其無需信任
ArbitrumRollup的一個重要性質就是無需信任——單個誠實參與者就可以確保虛擬機狀態正確推進。為什么?假設Alice總是對每個爭議斷言的正確分支進行押注,并且當樹不再產生分支了,她就提議一個爭議斷言。
因為Alice在正確的分支上押注,所以每一次爭議她都是勝利方。如果任何人與Alice相矛盾,他們將(a)在一個不相關的爭議中損失他們的質押金,(b)最終進入Alice所在的爭議中,其押金將輸給Alice。不管哪個方式,任何反對Alice的一方最終都會被罰沒。只有與Alice相符合的押注才會勝利到最后,所以Alice所在的分支會成為唯一一個及時收到押注的路徑——該路徑會被確認。
圖:只要Alice是誠實的,無論其他人怎么做,綠色方框最終都會被確認
由于在這種方式上系統是無需信任的,如果Alice在一個方框上押注并且她知道該方框的路徑是正確的,那么她可以確認其所在的方框上將最終被確認。對于Alice來說,該路徑就像被敲定了一樣。
即使用戶沒有在某條路徑上押注,但是如果用戶看到其他一些用戶押注該路徑,并且相信該路徑上至少一個人是誠實的,那么其就可以確認該路徑將最終被確認——對該用戶來說,這條路徑就像被敲定了一樣。
最終確定性無需信任的好處
結果最終確定性的無需信任為什么如此重要?那篇對于其他rollup協議的討論中舉出了一個經典的例子。假設一個虛擬機打算向Alice支付一筆交易。該支付事件位于正確的路徑上,但這筆交易還需等待一段時間,直到這筆交付交易所在的方框在鏈上被確認。
最終確定性無需信任讓Alice能夠即時收到匯款。如果Bob手上有閑錢,他可以立即給Alice錢,作為交換,Alice把未來即將被確認的支付款項轉給Bob(額外給Bob一點手續費)。Bob只有確定該支付交易一定會發生才會愿意這么做。Bob可以通過押注誠實結果來確保這一點——那么他就可以對這筆支付一定會發生抱有無需信任的信心。不僅Bob可以這樣做,任何人都能夠以這種方式把錢借給Alice或其他像她那樣的人。這些人還可以通過提供更少的手續費以競爭。
關鍵是,這種市場機制的可行性取決于無需信任的最終確定性。如果“每個人”都已經知道該事件將最終被確認,那么鏈上確認的延遲就不會帶來不便。
不僅支付這個案例,對于虛擬機所做的其他事情也是如此。如果虛擬機打算生成一個日志項來廣播發生了的事件,無需信任的最終確定性意味著任何人都可以確信該日志將被鏈上承認。
延遲攻擊
因為系統是無需信任的,作惡者無法強行生成一個錯誤的結果。他們可以做的只有延緩系統處理過程。但這樣會犧牲他們的押金,如果質押數額很大的話成本將會非常高。
想象一下如果有人想要發起延遲攻擊,且愿意犧牲他們的押金。他們可以帶來最大的破壞是什么?
首先,作惡者不能阻止誠實驗證者繼續在樹上構建他們的誠實分支。他們也不能妨礙誠實驗證者相信誠實分支的最終確認具有無需信任性。
攻擊者可以做的只有在錯誤分支上質押,以延緩對誠實路徑的鏈上確認。他們的每筆押注都會給誠實質押者創造多一個爭議,在這個過程中誠實驗證者都會分走一大半攻擊者的押金。當攻擊者的押金都被分走時,鏈上工作便繼續進行。
那如果攻擊者在多個錯誤結果上質押呢?那么,那些押金就會在一次次的爭議里被分走。如果有多人在誠實結果上質押,他們可以進入有攻擊者的爭議里,與攻擊者并行工作,然后把質押者的押金分走。而當人們留意到這一點,大家都知道在發生什么事了,就會有很多人加入到在正確結果上做質押,這樣他們就能分走制造爭議的攻擊者的押金。如果有K個人在誠實結果上做質押,攻擊者就要花費K份押金來一次爭議期的延遲。如果攻擊者花費更多的押金,這可能會吸引更多的誠實質押者。對攻擊者來說情況只會越來越壞。
優化
有很多優化方案可以實施,以減少運行協議必需的鏈上記賬數據量、減少鏈上gas消耗、以及讓延遲攻擊所帶來的分食狂歡更容易發生。筆者在這里就不對優化詳細展開了,這篇文章已經夠長了。
比特幣市場 三月的第一周,比特幣在經歷前周24%的回撤后,本周迎來了反彈,并且接連突破45000美元和50000美元整數關口.
1900/1/1 0:00:00.new_summary,blockquote{position:relative;font-size:16px;letter-spacing:1px;line-height:28px;marg.
1900/1/1 0:00:00摘要: 以太坊“柏林”硬分叉升級已經做好部署準備。我們這次升級的進展會非常迅速:第一個進行升級的測試網Ropsten計劃于3月10日進行升級。主網升級計劃于4月14日發布.
1900/1/1 0:00:00自今年1月以來,NFT領域呈現出前所未有的生機和活力,朋友圈、微信群、微博、Twitter、Clubhouse上關于NFT的討論也與日俱增.
1900/1/1 0:00:00Coinbase上市對加密貨幣數字圈來說是提振人心的好消息,引領了加密交易所走向證券交易所的合規之路,繼Coinbase向SEC提交的S1表格被曝光后.
1900/1/1 0:00:00對于近期非常火熱的NFT,Coinbase前聯合創始人,現Paradigm聯合創始人FredEhrsam發表了他的觀點,他認為目前NFT還處于非常早期的階段,盡管在未來6個月-1年內.
1900/1/1 0:00:00