以太坊第二層擴(kuò)容方案:狀態(tài)通道、plasma以及Truebit

這是meduim上一篇關(guān)于以太坊擴(kuò)容技術(shù)的高質(zhì)量文章,個人感覺說的非常清晰,因此翻譯過來分享。


今年(2018)是以太坊基礎(chǔ)設(shè)施建設(shè)之年,早期采用部分將測試網(wǎng)絡(luò)的極限,重點(diǎn)關(guān)注以太坊擴(kuò)展技術(shù)。以太坊還處于嬰幼兒時(shí)代,既不足夠安全也不具備擴(kuò)展性。任何與該技術(shù)緊密聯(lián)系的人都清楚這一點(diǎn)。然而去年ICO的炒作夸大了以太坊的能力。以太坊和web3技術(shù)承諾的一個安全易用的、受一套共同經(jīng)濟(jì)協(xié)議約束的去中心化網(wǎng)絡(luò)才剛剛出現(xiàn)在地平線上,而且只有基礎(chǔ)設(shè)施建設(shè)好了之后才能實(shí)現(xiàn)這一承諾。

構(gòu)建基礎(chǔ)設(shè)施和擴(kuò)展以太坊能力的項(xiàng)目一般稱之為以太坊擴(kuò)容解決方案。它們有許多不同的形式,而且常?;ハ嗉嫒莼蚧パa(bǔ)。本文將深入一類擴(kuò)容方案:鏈下擴(kuò)容或者說第二層擴(kuò)容:

首先,我們將在一般意義上討論以太坊面臨的擴(kuò)容挑戰(zhàn)。

然后,我們將簡單討論以太擴(kuò)容挑戰(zhàn)的兩種路徑:鏈上擴(kuò)容和鏈下擴(kuò)容。

最后,我們將研究各種二層擴(kuò)容技術(shù),包括狀態(tài)通道、plamsa、Truebit等。

本文重點(diǎn)在于讓讀者對以太坊二層擴(kuò)容方案有一個全面而詳細(xì)的了解,但不會深入到代碼或具體實(shí)現(xiàn)。相反,我們將聚集于理解這些系統(tǒng)的經(jīng)濟(jì)學(xué)機(jī)制及所有二層擴(kuò)容方案后面的共同洞見。



1.區(qū)塊鏈公鏈的擴(kuò)容挑戰(zhàn)

首先,擴(kuò)容不是一個單一的具體問題,它涉及一系列必須克服的挑戰(zhàn),以使以太坊能夠?yàn)槿驍?shù)十億人的用戶所用。最常討論的挑戰(zhàn)是如何提高網(wǎng)絡(luò)的交易吞吐量。以太坊現(xiàn)在每秒只能處理15筆交易,而Visa卡的處理速度已經(jīng)達(dá)到了45000tps。去年,一些應(yīng)用——如“Cryptokitties"和臨時(shí)的ICO——由于過于火爆導(dǎo)致整個網(wǎng)絡(luò)擁堵和gas價(jià)格大幅上漲。

核心的限制在于,以太坊的每一筆交易需要網(wǎng)絡(luò)中所有節(jié)點(diǎn)處理。以太網(wǎng)中發(fā)生的每一步操作——支付,Cryptokitty出生,部署新的ERC20合約——需要網(wǎng)絡(luò)中每一個節(jié)點(diǎn)平行執(zhí)行。這樣的設(shè)計(jì)是為了保證區(qū)塊鏈的權(quán)威性,網(wǎng)絡(luò)中的節(jié)點(diǎn)不需要依靠其他人告訴他網(wǎng)絡(luò)的現(xiàn)狀,它們自己來搞清楚。這對以太坊交易容量的造成了致命的限制:整個網(wǎng)絡(luò)的速度不會高于其中單點(diǎn)的速度。

我們可以要求網(wǎng)絡(luò)中每個節(jié)點(diǎn)做更多的工作。如果我們翻倍區(qū)塊的大小,即可要求網(wǎng)絡(luò)中節(jié)點(diǎn)做雙倍的工作。但這會導(dǎo)致去中心化特性的損失,因?yàn)檫@樣對節(jié)點(diǎn)計(jì)算機(jī)的要求提高了,導(dǎo)致部分不同計(jì)算機(jī)不能參與到網(wǎng)絡(luò)中來,使得挖礦集中到擁有巨大算力的礦工手中。為了避免中心化,區(qū)塊鏈擴(kuò)容方案應(yīng)該避免增加單個節(jié)點(diǎn)的工作負(fù)擔(dān)。

從概念上來說,我們可以采用兩種方法來解決這個問題:


I、如果每個節(jié)點(diǎn)不需要平行處理所有操作如何?

第一種方法需要打破區(qū)塊鏈前提:區(qū)塊鏈中每個節(jié)點(diǎn)需要 處理所有操作。如果網(wǎng)絡(luò)分為兩部分,各自相對獨(dú)立運(yùn)行如何?A部分處理一批交易,B部分處理另一部分交易,整個網(wǎng)絡(luò)的交易處理吞吐量相應(yīng)增加了一倍,因?yàn)樗械慕灰赚F(xiàn)在同時(shí)由兩個節(jié)點(diǎn)來處理。如果我們能夠?qū)^(qū)塊鏈拆分成更多部分,那么區(qū)塊鏈的交易處理容量將相應(yīng)地增加許多倍。

這種擴(kuò)容方技術(shù)叫”分片“,是Vitalik的以太坊研究團(tuán)隊(duì)提出的擴(kuò)容解決方案。一個區(qū)塊鏈分割成不同部分稱之為分片,每個分片能夠獨(dú)立地處理交易。”分片“一般被認(rèn)為是第一層擴(kuò)容方案,因?yàn)樗谝蕴换A(chǔ)協(xié)議本身上實(shí)現(xiàn)擴(kuò)容。如果你想對”分片"技術(shù)更加了解,我建議你閱讀這份FAQ相關(guān)的博客文章。



II、如果我們把更多的操作挪到以太坊網(wǎng)絡(luò)之外執(zhí)行如何?

第二種擴(kuò)容方案采用相反的方法:與以太坊鏈上擴(kuò)容不同,我們直接在鏈下使用我們已經(jīng)自己擁有的計(jì)算能力如何?以太坊鏈上基礎(chǔ)層吞吐量不變,但實(shí)際上我們能夠做更多的操作,包括交易、游戲狀態(tài)更新或者簡單計(jì)算?這第二種擴(kuò)容方案背后的思想是鏈下擴(kuò)容技術(shù),包括狀態(tài)通道、PLASMA和TRUEBIT。盡管他們解決的問題不盡相同,但他們都是通過鏈下操作而非鏈上來實(shí)現(xiàn)功能,同時(shí)保證足夠級別的安全和完整性。

它們也被稱之為第二層擴(kuò)容方案,因?yàn)樗鼈兪墙⒃谝蕴恢麈溨系?。它們不需要更改以太坊基礎(chǔ)協(xié)議,相反,它們是以簡單的智能合約存在于以太坊上的,并與鏈下軟件交互。



2、第二層擴(kuò)容方案——加密經(jīng)濟(jì)解決方案


在深入第二層擴(kuò)容方案之前,理解隱藏在后面使之可行的思想是極為必要的。公鏈最重要的力量在于加密經(jīng)濟(jì)共識。通過謹(jǐn)慎制定的激勵措施及軟件與加密技術(shù)的保護(hù),我們得以建立一個計(jì)算機(jī)網(wǎng)絡(luò),借此就系統(tǒng)內(nèi)部狀態(tài)達(dá)成一致。這是中本聰白皮書中關(guān)鍵的思想,許多不同的公鏈設(shè)計(jì)包括比特幣和以太坊的設(shè)計(jì)都應(yīng)用了這一思想。加密經(jīng)濟(jì)共識給我們帶來了確定性核心硬核——除非有像51%攻擊這樣的極端事件發(fā)生,我們知道區(qū)塊鏈的如支付、智能合約等操作將按照寫好的指令執(zhí)行。

第二層擴(kuò)容方案的思想是,我們可以以固定的方式錨定這個確定性核心硬核,并在此錨定上建立一個額外的經(jīng)濟(jì)機(jī)制。這個第二個經(jīng)濟(jì)機(jī)制能夠擴(kuò)展公鏈的應(yīng)用范圍,使得我們能夠在鏈下互動,同時(shí)可以在需要的時(shí)候可靠地回溯至核心硬核。這些以太坊之上的第二層網(wǎng)絡(luò)有時(shí)候不具備如以太主網(wǎng)操作一樣的保證,但它們?nèi)匀痪邆渥銐虻耐暾桶踩WC應(yīng)用,特別是它們僅僅損失極低的可靠性換取了更快的操作速度和更低的運(yùn)行成本。

加密經(jīng)濟(jì)不是起始于中本聰?shù)陌灼膊粫K結(jié)于中本聰白皮書——它是一項(xiàng)需要我們?nèi)W(xué)習(xí)如何應(yīng)用的技術(shù)組合體。不僅是核心協(xié)議的設(shè)計(jì),也包括拓展基礎(chǔ)區(qū)塊鏈功能的第二層網(wǎng)絡(luò)的設(shè)計(jì)。


I、狀態(tài)通道

狀態(tài)通道是一種執(zhí)行交易或狀態(tài)更新的鏈下技術(shù)。雖然如此,狀態(tài)通道中發(fā)生的事情依然保持高度的可靠性和完整性:如果存在任何差錯,我們?nèi)杂谢厮葜两⒃阪溕辖灰椎拇_定性硬核的機(jī)會。大多數(shù)讀者應(yīng)該都熟悉支付通道的思想,這一思想已經(jīng)提出了好幾年了,而且近期已經(jīng)在比特幣的閃電網(wǎng)絡(luò)實(shí)現(xiàn)了。狀態(tài)通道是支付通道的更一般應(yīng)用——它不能能應(yīng)用于支付,還可應(yīng)用于任何區(qū)塊鏈的狀態(tài)更新,比如智能合約內(nèi)部變化。狀態(tài)通道在2015由Jeff Coleman首次提出。

解釋狀態(tài)通道的最好方法是看一個例子。注意這只是一個概念性解釋,我們不會涉及具體實(shí)現(xiàn)的技術(shù)細(xì)節(jié)。

想像一下,Alice和Bob想玩一個叫tic tac toe的游戲,游戲的贏家將贏得1個Eth。原來,需要在以太坊上布置一個智能合約實(shí)現(xiàn)游戲的規(guī)則,同時(shí)追蹤游戲中所有人的動作。每次有人發(fā)起操作,他們就發(fā)送了一個交易至智能合約。當(dāng)一個玩家贏得比賽時(shí),智能合約將支付1個Eth給贏家。但是這些操作是非常低效和緩慢的。Alice和Bob處理他們的游戲時(shí)占用了整個網(wǎng)絡(luò),這實(shí)際超出了他們實(shí)際所需要資源。他們需要支付每一次操作,且在下一次操作前他需要等待區(qū)塊被確認(rèn)。相反,我們可以設(shè)計(jì)一個盡量少鏈上操作的系統(tǒng),讓Alice和Bob在這個系統(tǒng)上進(jìn)行他們的游戲。他們可以在鏈下更新他們的游戲狀態(tài),同時(shí)確信他們能夠回溯至以太坊主鏈。這樣的系統(tǒng)我們稱之為狀態(tài)通道。

首先,我們在以太坊上建立一個能夠理解游戲規(guī)則的智能合約,這個智能合約能夠識別出游戲中的玩家如Alice和Bob。合約持有1Eth。

然后,Alice和Bob開始游戲。Alice創(chuàng)建并簽署一個描述他的第一個動作的交易,然后發(fā)送個Bob,Bob再簽署并發(fā)還他簽署版本的交易,并為為自己保存一份備份。然后Bob創(chuàng)建簽署一個描述她的第一次操作的交易并發(fā)送給Alice,Alice在簽署發(fā)送回去,并保留一份備份。每一次他們都保存他們在游戲中的狀態(tài)。每個交易中都包含有一個隨機(jī)數(shù),這個隨機(jī)數(shù)僅用于我們識別動作的發(fā)生次序。

目前為止,一切都是在鏈下發(fā)生。Alice和Bob只是在內(nèi)部網(wǎng)發(fā)送交易,尚未有任何東西上傳至區(qū)塊鏈上。但是,所有的交易都可以發(fā)送至仲裁智能合約,至它們是有效的以太網(wǎng)交易。你可以把這理解為兩個人互相簽署了一系列來來回回的區(qū)塊鏈驗(yàn)證支票。沒有錢從銀行提取或儲備,但每個人都有一疊可以隨時(shí)支取的支票。當(dāng)Alice和Bob完成了他們的游戲,比如Alice贏得了比賽,他們可以關(guān)閉通道并上傳最后的狀態(tài)至仲裁智能合約,只需要支付一筆交易費(fèi)用。仲裁合約確認(rèn)最終狀態(tài)得到雙發(fā)的認(rèn)可,并經(jīng)過一段時(shí)間間隔確保沒有人能夠合法地質(zhì)疑結(jié)果后,將1eth獎勵個Alice。

為什么仲裁合約需要等待一段質(zhì)疑期呢?

想像一下,如果Bob沒有發(fā)送真實(shí)的狀態(tài),而是發(fā)送一個表明他贏得比賽的更早版本的狀態(tài)。仲裁合約只是一個啞巴合約,它不知道他接受的是否是最新的狀態(tài)。質(zhì)疑期給了Alice證明Bob對游戲最終狀態(tài)說謊的機(jī)會。如果有一個更新的狀態(tài),她會保留有簽名交易的副本,她可以提交個仲裁合約。通過確定隨機(jī)數(shù),仲裁合約可以宣布Alice提交的版本是最新的,而Bob欺騙測企圖被駁斥了。

特點(diǎn)及限制

狀態(tài)通道對很多應(yīng)用都很有用,相比鏈上操作它會帶來絕對的改進(jìn)。但是,在決定該應(yīng)用是否適用于通道化時(shí),記住該項(xiàng)技術(shù)做了一些技術(shù)上的妥協(xié)是很重要的:

. 狀態(tài)通道依賴于網(wǎng)絡(luò)的可用性。如果Alice在質(zhì)疑期間網(wǎng)絡(luò)斷線了(可能是Bob不顧一切的想贏得比賽,破壞她家的網(wǎng)絡(luò)連接),他將不能在質(zhì)疑期間回應(yīng)。當(dāng)然,Alice可以委托別人保存她的狀態(tài)副本,并代表她的利益保證副本在質(zhì)疑期的可用性。

. 當(dāng)參與者在長時(shí)間內(nèi)頻繁更改他們的狀態(tài)時(shí),這項(xiàng)技術(shù)尤其有用。因?yàn)椴渴鸷霞s發(fā)起通道存在初始成本,如果一旦部署,通道內(nèi)的單個狀態(tài)更新成本是非常低的。

. 狀態(tài)通道最好應(yīng)用于那些參與者已知的應(yīng)用。這是因?yàn)橹俨煤霞s總需要識別出參與者是否屬于該通道。我們可以添加或移除參與者,不過這都需要更新合約。

. 狀態(tài)通道具有很強(qiáng)的保護(hù)隱私特性,因?yàn)槊考露及l(fā)生在通道內(nèi)部,而不是公開廣播并保存在鏈上。只有打開和關(guān)閉交易需要公開。

. 狀態(tài)通道具有即時(shí)完成的能力,這意味著參與雙方只要簽署了一項(xiàng)狀態(tài)更新就可以考慮結(jié)束。如果需要,雙方都可以得到他們可以在鏈上得到加強(qiáng)的保證。

在L4,我們建立了counterfactual:一個通用以太網(wǎng)絡(luò)狀態(tài)通道框架。模塊化實(shí)現(xiàn)使得開發(fā)者不需要成為狀態(tài)通道專家即可在他們的應(yīng)用中使用狀態(tài)通道。你可以在這里對這個項(xiàng)目了解更多。我們將在2018年第一季度發(fā)布一篇文章來描述我們的技術(shù)。

雷電網(wǎng)絡(luò)是另一個著名的狀態(tài)通道項(xiàng)目,該項(xiàng)目主要聚焦在建立支付通道,使用類似閃電網(wǎng)絡(luò)的哲學(xué)。這意味著相比于你想交易的人開一條通道,你更可能與一個連接更大網(wǎng)絡(luò)的實(shí)體打開一條單獨(dú)通道,使得你可以與任何與這個實(shí)體連接的其他人進(jìn)行免費(fèi)支付。

除了Counterfactual和Raiden,以太網(wǎng)絡(luò)上還有其他幾種特定應(yīng)用的通道技術(shù)實(shí)現(xiàn)。比如,F(xiàn)unfair為去中心化的賭博游戲建立了一個狀態(tài)通道,Spankchain為成人表演者建立了一次性支付通道(他們?yōu)樽约旱腎CO也建立了一個狀態(tài)通道),HorizonGames在他們的第一個以太坊游戲建立了一個狀態(tài)通道。


II、Plasma

2017年八月11號,Vitalik和Joseph發(fā)布了《Plasma:自動化智能合約》白皮書。這篇白皮書介紹了一種能夠使得以太坊達(dá)到更大交易吞吐量的新技術(shù)。

與狀態(tài)通道一樣,Plasma是一種依靠以太坊保證安全性的鏈下擴(kuò)容技術(shù)。但Plasma的思路不同,它通過鏈接到以太坊的子鏈實(shí)現(xiàn)擴(kuò)容。這些子鏈又可以向下衍生出自己的子鏈,依次類推。因此,我們可以在子鏈上運(yùn)行復(fù)雜的操作,運(yùn)行幾千用戶的完整應(yīng)用,而至保持與主鏈的最小交互。由于操作不需要復(fù)制到整個以太坊,Plasma子鏈能夠運(yùn)行更快,收費(fèi)更低。

為了能過理解Plasma,我們舉一個例子說明它如何工作。

想像一下你在以太坊創(chuàng)建了一個卡片游戲。這些卡片是一種不可偽造的ERC721通證,含有一些特性或?qū)傩钥梢越o玩家用來對抗游戲。這種復(fù)雜操作在主鏈上進(jìn)行是非常昂貴的,所以你決定在你的應(yīng)用中使用Plasma技術(shù)。首先,我們在以太坊主鏈上創(chuàng)建一個智能合約作為Plasma子鏈的”根“。這個Plasma跟包含了子鏈的狀態(tài)轉(zhuǎn)換規(guī)則,記錄子鏈的hash狀態(tài),成為用戶在子鏈和以太主鏈之間轉(zhuǎn)移資產(chǎn)的橋梁。

之后,我們創(chuàng)建子鏈。子鏈可以擁有自己的共識算法--在這個例子中,我們說它采用”授權(quán)證明“這種依賴誠實(shí)區(qū)塊生產(chǎn)者的簡單共識機(jī)制。區(qū)塊生產(chǎn)者就像POW的礦工,它們是完成一些接收交易、形成區(qū)塊、收集交易費(fèi)等操作的節(jié)點(diǎn)。為了說明簡單,這個例子里這只有你自己這一個實(shí)體生產(chǎn)區(qū)塊--你的公司運(yùn)行了一些節(jié)點(diǎn)作為你自己子鏈的區(qū)塊生產(chǎn)者。

一旦子鏈創(chuàng)建并激活,區(qū)塊生產(chǎn)者定期向根合同提交狀態(tài)更新。這意味著它們可以有效宣告”我提交子鏈最近的區(qū)塊是X“。這些提交記錄在鏈上的根合同中,作為子鏈活動的證明?,F(xiàn)在,子鏈已經(jīng)準(zhǔn)備好了,我們可以創(chuàng)建我們交易游戲的基礎(chǔ)組件了。這些卡片本身是ERC721令牌,初始在以太坊上發(fā)行,然后通過Plasma根轉(zhuǎn)移到子鏈中。這引入了一個關(guān)鍵點(diǎn):Plasma使得我們擴(kuò)展了與區(qū)塊鏈資產(chǎn)的交互,但這些資產(chǎn)必須先在以太坊上建立。然后,我們在子鏈上部署實(shí)際的游戲應(yīng)用智能合約,包含所有的游戲邏輯與規(guī)則。

當(dāng)有用戶玩這個游戲時(shí),他們只與子鏈交互。他們可以持有資產(chǎn),買賣資產(chǎn),與其他玩家玩回合對抗,只要游戲允許你做的都行,而不需要直接與主鏈交互。由于只有少量節(jié)點(diǎn)處理交易,費(fèi)用會很低,速度卻很快。

但是這樣安全嗎?

通過將操作從鏈上移到鏈下,我們可以執(zhí)行更多的操作,但是這樣做的安全性如何?子鏈上的操作會被視為最后的操作嗎?畢竟,我們剛才描述的操作都是一個實(shí)體操縱的節(jié)點(diǎn)驗(yàn)證的,這不是中心化了嗎?公司難道不會任意地偷取我的資金和收集的卡片嗎?

答案是,即使在這種一個實(shí)體控制區(qū)塊生產(chǎn)的情況下,Plasma依然能給你一個最基本的保證:你總能提取你的資產(chǎn)回到主鏈。如果區(qū)塊生產(chǎn)者非法操作,最壞的情況也只是他們迫使你離開子鏈。讓我們看看一些區(qū)塊鏈生產(chǎn)者可能作惡的方式,以及Plasma如何處理這些情況的吧。

. 首先,想像一下區(qū)塊生產(chǎn)者試圖說謊欺騙你——通過生產(chǎn)一個假的區(qū)塊控制你的資金。他們是唯一的區(qū)塊生產(chǎn)者,他們可以任意生產(chǎn)違背區(qū)塊鏈規(guī)則的新區(qū)塊。像其他區(qū)塊一樣,他們將提交這些含有區(qū)塊證明區(qū)塊至Plasma根合同。就像我們上面提到的,用戶總有最后的權(quán)利提取資產(chǎn)回到主鏈。在這種情況下,用戶將探測到圖謀不軌的盜竊行為,然后在區(qū)塊生產(chǎn)者試圖使用他們盜取的資產(chǎn)之前將資產(chǎn)提取到主鏈。

Plasma同樣創(chuàng)造了一種機(jī)制防止短期欺騙提取至主鏈。Plasma有一種機(jī)制,這種機(jī)制借助任何人都可發(fā)布的欺詐證明來顯示區(qū)塊生產(chǎn)者作弊了。這種欺詐證明包括以前的區(qū)塊信息,允許我們按照子鏈的狀態(tài)轉(zhuǎn)換規(guī)則顯示錯誤區(qū)塊沒有正確的從前一個狀態(tài)轉(zhuǎn)換過來。如果欺詐被證明了,子鏈將回滾至前一區(qū)塊。甚至更好,我們可以構(gòu)建一個任何欺詐區(qū)塊生產(chǎn)者被罰沒鏈上保證金的系統(tǒng)。

最后,區(qū)塊生產(chǎn)者可以審查子鏈的用戶。如果他們愿意,他們可以只是簡單地排斥用戶的交易,不打包至區(qū)塊鏈,有效的阻止用戶在子鏈上的任何操作。又一次,只是簡單的提取我們的資產(chǎn)至主鏈即可以解決問題。

然而,提取資產(chǎn)本身具有一定風(fēng)險(xiǎn)。一個問題就是如果子鏈所有的用戶同時(shí)提取資金會如何?發(fā)起大量提取操作時(shí),以太主鏈可能沒有能力在質(zhì)疑期同時(shí)處理每個人的交易,用戶可能流失自己的資產(chǎn)。盡管我們可以根據(jù)提交提取資金操作的數(shù)量延長質(zhì)疑期等辦法來阻止這種情況,仍然是個問題。

值得注意的是,大多數(shù)情況下不會存在一個實(shí)體控制所有生產(chǎn)節(jié)點(diǎn)的情況,這只是一個極端的例子罷了。我們可以創(chuàng)建由不同區(qū)塊生產(chǎn)者實(shí)體組成的子鏈,這點(diǎn)就像公鏈的去中心化一樣。在那種情況下區(qū)塊生產(chǎn)者干擾的風(fēng)險(xiǎn)會小很多,所以用戶同時(shí)提取資產(chǎn)的風(fēng)險(xiǎn)也會小很多。

現(xiàn)在,我們已經(jīng)介紹了狀態(tài)通道和Plasma,它們之間的不同值得我們注意。一個不同就是當(dāng)通道各方達(dá)成共識時(shí),狀態(tài)通道能夠即時(shí)地提取資產(chǎn)。當(dāng)Alice和Bob同時(shí)關(guān)閉通道提取資金,只要他們對最后的狀態(tài)都認(rèn)同他們就可以立刻從通道中提取他們的資產(chǎn)。而在Plasma上則不可能,用戶必須經(jīng)過一段時(shí)間的質(zhì)疑期才能提取資產(chǎn)。狀態(tài)通道比Plasma的收費(fèi)更低,也更快。這意味著我們可以在Plasma子鏈上創(chuàng)建狀態(tài)通道。比如,在一個應(yīng)用中兩個用戶交易一系列的小額交易。在子鏈級別建立狀態(tài)通道將比直接在子鏈上操作便宜和快速的多。最后,注意這里只描述了部分內(nèi)容,還有很多細(xì)節(jié)留待讀者自行挖掘。Plasma本身處于很早期的階段。如果你對Plasma現(xiàn)狀感興趣,你可以閱讀itilik最近的提案最小可驗(yàn)證Plasma。這是臺灣的一個小組完成的工作,你可以在這里找到他們。OmiseGO正在實(shí)現(xiàn)他們的去中心化交易所,他們也提交了他們最近的一次更新。

III、Truebit


Truebit是一項(xiàng)幫助以太網(wǎng)在鏈下完成復(fù)雜繁重計(jì)算任務(wù)的技術(shù)。它與狀態(tài)通道、Plasma等增加網(wǎng)絡(luò)吞吐量的技術(shù)的功能不同。如我們在開頭部分所說,擴(kuò)展是一個不止增加交易通量的多方面挑戰(zhàn)。Trubit不會讓我們完成更多的交易,但它將幫助以太坊上的應(yīng)用完成更為復(fù)雜的操作,以一種仍然能被主鏈驗(yàn)證的方式。浙江使得我們能夠完成在鏈上操作過于昂貴的動作。比如,來自其他區(qū)塊鏈的有效簡單支付驗(yàn)證,這種操作能夠使得以太坊智能合約能夠確認(rèn)一個交易是否在另一個網(wǎng)絡(luò)里發(fā)生。

讓我們以一個例子來說明。想像一下你有一個昂貴的操作,比如SPV,需要在以太坊應(yīng)用中執(zhí)行。你不能在以太坊智能合約中執(zhí)行它,因?yàn)镾PV計(jì)算十分復(fù)雜。記住,在以太坊上任何操作都是有成本的。以太坊區(qū)塊存在一個最大Gas的限制,制約了一個區(qū)塊中能夠做的操作。但是SPV計(jì)算太巨大,超過了一個區(qū)塊所能使用的Gas的許多倍。

相反,你只需要付少量的費(fèi)用讓別人幫你做鏈下運(yùn)算。那個你付錢幫你計(jì)算的人稱之為求解者。首先,求解者在一個智能合約中抵押一定保證金。然后,你給求解者求解問題的描述,由他運(yùn)算并返回結(jié)果。如果計(jì)算結(jié)果是正確的,他們的保證金可以返回;如果他們的計(jì)算不對,比如他們想欺騙你或犯了錯誤,他們將失去他們的保證金。

但是,我們?nèi)绾沃澜Y(jié)果是否正確呢?Truebit使用了一個稱之為驗(yàn)證游戲的經(jīng)濟(jì)學(xué)機(jī)制?;旧希覀?yōu)榉Q之為條件者的第三方提供激勵去驗(yàn)證求解者的計(jì)算。如果挑戰(zhàn)者能夠在驗(yàn)證游戲中證明求解者錯了,那么他們將獲得獎勵,而求解者失去他們的保證金。

因?yàn)轵?yàn)證游戲在鏈上進(jìn)行,他不能簡單地計(jì)算結(jié)果。相反,我們迫使求解者和挑戰(zhàn)者識別它們之間不同的操作。實(shí)際上,我們將兩者逼到一個角落中,找到產(chǎn)生不同結(jié)果的實(shí)際代碼行。

一旦這個特殊的操作被識別,他就可以在以太坊上執(zhí)行了。然后我們就在以太坊上的一個智能合約中執(zhí)行這個特別的操作,處理一次即可發(fā)現(xiàn)究竟是哪一方說了真話,哪一方說了假話。

如果你對Truebit感興趣,你可以度他們的白皮書,或者SImon的博文。


總結(jié)

第二層擴(kuò)容方案共享了同一個思想:一旦我們有了一個公鏈提供的堅(jiān)實(shí)硬核,我們就可以用它作為加密經(jīng)濟(jì)的錨,用于擴(kuò)展區(qū)塊鏈的應(yīng)用。

現(xiàn)在我們已經(jīng)研究了一下例子,對第二層擴(kuò)容方案如何應(yīng)用這種思想有了更多的具體認(rèn)識。第二層擴(kuò)容方案的經(jīng)濟(jì)學(xué)機(jī)制更像是一種互動游戲:他們通過創(chuàng)建激勵鼓勵各方互相競爭或者驗(yàn)證來運(yùn)行。一個區(qū)塊鏈應(yīng)用可以假設(shè)一個宣告是可信的,因?yàn)槲覀円呀?jīng)創(chuàng)造了一個激勵機(jī)制鼓勵其他人去驗(yàn)證信息是否是偽造的。

在狀態(tài)通道中,我們給所有參與方機(jī)會駁斥對方,借此確定通道的最終狀態(tài)。在Plasma中,我們擁有欺詐證明和提取資金等手段。在Truebit,我們通過給挑戰(zhàn)者激勵驗(yàn)證求解者錯誤保證求解者說實(shí)話。這些方法都將幫助以太坊解決滿足全球用戶的擴(kuò)容需求。像狀態(tài)通道和Plasma,將增加平臺的吞吐量;其他如Truebit,將使得智能合約完成復(fù)雜計(jì)算成為可能,打開了新的應(yīng)用場景。

這里提到的三種方案只是加密經(jīng)濟(jì)擴(kuò)容方案可能性空間的一小部分。我們沒有包含像COSMOS和Polkadot這樣的鏈間通信協(xié)議。我們應(yīng)該期待去發(fā)明新的、未被期待的新的第二層擴(kuò)容方案,改進(jìn)現(xiàn)有的模型,提供在速度、完成性和負(fù)載三者之間達(dá)成新的平衡。

比任何第二層擴(kuò)容方案更重要的是,潛在技術(shù)和機(jī)制的進(jìn)一步發(fā)展使得它們在第一重要的地方成為可能:加密經(jīng)濟(jì)設(shè)計(jì)。

對于以太坊這種可編程的區(qū)塊鏈來說,這些第二層擴(kuò)容方案是他們長期價(jià)值的有力支撐。只有可編程區(qū)塊鏈才能建立這些在第二層方案之下的經(jīng)濟(jì)學(xué)機(jī)制:你需要腳本語言編寫程序驅(qū)動這個交互游戲。對于比特幣這種有限的腳本語言來說,要做到這一點(diǎn)是很困難的。

以太坊使得我們能夠建立第二層網(wǎng)絡(luò)達(dá)到一個新的速度、完成性和運(yùn)行成本的平衡點(diǎn)。這使得區(qū)塊鏈能夠完成更多的應(yīng)用,因?yàn)椴煌膽?yīng)用有不少的威脅模型,因此采用不同的第二層網(wǎng)絡(luò)是十分自然的。對于高價(jià)值需要抵抗國家級別的侵襲的交易,我們可以在主網(wǎng)上進(jìn)行;對于數(shù)字收集物交易,速度更為重要,因此我們采用Plasma。第二層網(wǎng)絡(luò)使得我們可以不失去去中心化和完成性的前提下做出權(quán)衡選擇。

更進(jìn)一步來說,很難提前預(yù)測一種擴(kuò)容方案需要那種腳本能力。當(dāng)以太坊建立時(shí),這些擴(kuò)容方案還都不存在。但是由于以太坊是可編程的,它能夠?qū)崿F(xiàn)任何我們發(fā)明的經(jīng)濟(jì)機(jī)制。加密經(jīng)濟(jì)共識創(chuàng)造的確定性內(nèi)核是區(qū)塊鏈的優(yōu)勢,要完全利用這一優(yōu)勢的唯一方法,就是使用像以太坊這樣的可編程區(qū)塊鏈。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容