Vitalik:簡析 Rollup 等以太坊二層擴容方案信任模型 - 冷萃財經

Vitalik:簡析 Rollup 等以太坊二層擴容方案信任模型

Vitalik:簡析 Rollup 等以太坊二層擴容方案信任模型
文章摘要:原文翻譯 & 校對:閔敏 & 阿劍對於許多區塊鏈應用來說,免信任性都是最重要的特徵之一。所謂的免信任性,就是應用的正常工作不以特定參與者按特定方式行事為前提,即使他們將來會在利益的驅使下做出意料之外的舉動(也不能使應用的工作狀況脫離預期)。區塊鏈應用永遠不可能實現完全免信任,但是有一些應用在免信任程度上遠遠高於另一些項目。如果我們想要朝著信任最小化邁出堅實的步伐,就得先辨別出信任程度的高低。

原文翻譯 & 校對:閔敏 & 阿劍

對於許多區塊鏈應用來說,免信任性都是最重要的特徵之一。所謂的免信任性,就是應用的正常工作不以特定參與者按特定方式行事為前提,即使他們將來會在利益的驅使下做出意料之外的舉動(也不能使應用的工作狀況脫離預期)。區塊鏈應用永遠不可能實現完全免信任,但是有一些應用在免信任程度上遠遠高於另一些項目。如果我們想要朝著信任最小化邁出堅實的步伐,就得先辨別出信任程度的高低。

首先,我個人對信任的定義很簡單:信任就是對其他人行為的假設。在疫情爆發前,你不會因為害怕別人突然捅你一刀而與刻意跟他人保持兩米的距離。這就是一種信任:一方面是信任他人不會暴走,另一方面是信任法律制度對違法犯罪行為的約束力。當你運行其他人寫的一段代碼時,你相信他們是誠實的(不管是從人品的角度,還是從經濟利益的角度),至少有足夠多的人對這段代碼進行過審計,知道裡面沒有 bug。不自己種菜也是一種信任:相信會有足夠多的人為了賺錢而生產糧食。你可以信任不同群體,信任的類型也多種多樣。

為了分析區塊鏈協議,我會將信任拆解成四個維度:

你需要多少人如你預期的那樣行事?

總參與人數有多少?

需要這些人出於什麼動機如你預期的那樣行事?需要他們是利他主義者,還是唯利是圖者?是否需要避免他們之間產生協同?

如果這些假設被打破了,對系統的破壞有多大?

現在,先讓我們聚焦於前兩個問題。通過下圖,我們可以更加直觀地看出:

Vitalik:簡析 Rollup 等以太坊二層擴容方案信任模型

綠色越深表示越健康。讓我們詳細分析以下幾種情況:

1 : 1:整個系統只有一個參與者。如果這名參與者確實如你預期的那樣行事,系統就會正常運行。這就是傳統的「中心化」模型,也是我們所要超越的模型。

N : N:「反烏托邦」世界。系統中的所有參與者都要如你預期的那樣行事,系統才能正常運行,如果有任意參與者失敗,那也沒有備份方案。

N/2 : N:這是區塊鏈的運作方式——如果大部分礦工(或 PoS 驗證者)是誠實的,區塊鏈就能正常運作。要注意的是,N 越大,N/2 就越有價值。相比只由少量礦工 / 驗證者控制的區塊鏈,礦工 / 驗證者廣泛分布的網路有趣得多。儘管如此,我們依然想要獲得更高的安全性,因為還有 51% 攻擊的問題存在。

1 : N:在眾多參與者中,只要有一名參與者如你預期的那樣行事,整個系統就能正常運行。任何基於欺詐證明的系統都屬於這一類。可信設置也是如此,不過在可信設置中,N 通常較小。要注意的是,N 越大越好!

極少數 : N:在眾多參與者中,只要有達到固定人數的小部分參與者如你預期的那樣行事,整個系統就能正常運行。數據可用性檢查(data availability check)就屬於這一類。

0 : N:系統無需依賴外部參與者即可正常運行。自我驗證區塊有效性就屬於這一類。

儘管除「0 : N」之外的模型都是建立在「信任」基礎上的,但是這些模型之間存在巨大差異!相信某個特定的人(組織)會如你所預期的那樣行事,和相信任何一個人都會如你所預期的那樣行事,二者之間有著天壤之別。相比「N/2 : N」和「1 : 1」,「1 : N」與「0 : N」更為接近。或許有人會覺得「1 : N」模型與「1 : 1」模型很像,因為這兩種系統都依賴一名參與者,但實際上它們之間迥然不同:在「1 : N」系統中,如果這名參與者消失或作惡,換一名參與者即可;如果是「1 : 1」系統,你就只能束手無策。

尤其要注意的是,即使是你正在運行的軟體,其正確性通常也取決於「極少數 : N」信任模型,以此確保軟體代碼出現 bug 時,會有人及時發現。在了解這一事實後,你就會發現,努力從「1 : N」模型轉向「0 : N」模型如同為敞開窗戶的房子安裝防盜門。

另一個重要的區別在於,如果你的信任假設被打破,對系統的破壞有多大?在區塊鏈上,最常見的兩種故障類型是活性故障(liveness failure)和安全性故障(safety failure)。活性故障就是你暫時無法進行操作(例如,提幣、將交易打包進區塊、讀取鏈上數據)。安全性故障就是出現了系統想要預防的情況(例如,無效塊被添加到區塊鏈上)。

以下列舉了一些區塊鏈 Layer 2 協議所採用的信任模型。我使用「small N」來指代 layer 2 系統本身的參與者集合,「big N」來指代底層區塊鏈的參與者。我的假設是 Layer 2 的社區總是小於其底層區塊鏈的社區。另外,我所謂的「活性故障」特指代幣長時間卡住的情況。無法使用系統但能即時提款的情況不算作活性故障。

Channel 類(包括狀態通道、閃電網路等):使用「1 : 1」信任模型來確保活性(你的交易對手可以暫時凍結你的資金,不過你可以將資金分散到多個通道中,從而減輕負面影響),「N/2 : big N」模型來確保安全性(攻擊者可以通過 51% 攻擊來偷走你的資金)。

Plasma(採用中心化運營方):使用「1 : 1」模型來確保活性(運營者可以臨時凍結你的資金),「N/2 : big N」模型來確保安全性(攻擊者可以通過 51% 攻擊來偷走你的資金)。

Plasma(採用半中心化運營方,如 DPOS):使用「N/2 : small N」模型來確保活性,「N/2 : big N」模型來確保安全性。

Optimistic Rollup:使用「1 : 1」或「N/2 : small N」模型來確保活性(取決於運營者的類型),「N/2 : big N」模型來確保安全性。

ZK Rollup:使用「1 :small N」模型來確保活性(如果運營者未能打包你的交易,你可以取回你的資金,如果運營者沒有立即打包你的取款交易,就無法打包更多交易,你可以在 Rollup 系統中任何一個全節點的幫助下自行提款。);不存在安全性故障風險。

ZK Rollup(輕取款增強型):不存在活性故障風險和安全性故障風險。

最後是關於激勵的問題:為了達到預期的效果,你所信任的參與者需要非常利他主義,一般利他主義,還是理性主義?默認情況下,「欺詐證明」需要參與者是利他主義的,但是程度如何取決於計算的複雜性(詳見「驗證者困境」),而且有很多方法可以修改規則,使之變得理性。

如果我們增加一種方式來支付服務費,那麼幫助他人從 ZK Rollup 上取款的行為就是理性的,因此沒必要擔心無法退出 Rollup 的問題。與此同時,如果整個社區都同意 不接受通過 51% 攻擊創建的區塊鏈(將交易歷史回滾到很久之前,或審查很久之前的區塊),就可以減輕其它系統的風險。

結論:如果你聽到有人說某個系統「依賴於信任」,一定要問清楚!這個系統是「1 : 1」模型、「1 : N」模型還是「N/2 : N」模型?這個系統需要參與者是利他主義還是理性主義?如果是利他主義,參與者需要付出多大代價?如果假設被打破,那麼你需要等待多久才能取回自己的資金?幾個小時?幾天?還是永遠無法取回?搞清楚了這些問題,你才能決定要不要使用這個系統。

冷萃財經原創,作者:Awing,轉載請註明出處:https://www.lccjd.top/2020/10/06/vitalik%ef%bc%9a%e7%ae%80%e6%9e%90-rollup-%e7%ad%89%e4%bb%a5%e5%a4%aa%e5%9d%8a%e4%ba%8c%e5%b1%82%e6%89%a9%e5%ae%b9%e6%96%b9%e6%a1%88%e4%bf%a1%e4%bb%bb%e6%a8%a1%e5%9e%8b/?variant=zh-tw

0

掃一掃,分享到微信

猜你喜歡

文章評論

電子郵件地址不會被公開。 必填項已用*標註

後發表評論

    上一篇

    當信任DeFi開發者時,許多DeFi農民的損失比預期的要多

    下一篇

    歐洲央行考慮在2021年進一步數字歐元研究

    微信公眾號

    微信公眾號