原文作者:Josh Stark
原文鏈接:
2018年,是專注于以太坊基礎設施的一年慰丛。在這一年鞭执,大家對網(wǎng)絡局限性進行了測試吞瞪,重新把精力集中到擴容技術上狮崩。
以太坊還處于嬰兒時期舀瓢。今天园担,它還不夠健全旨椒,也不具備可擴展性祝峻。任何了解這項技術的人魔吐,都清楚知道這一點。但是在過去一年里莱找,由投機驅(qū)動的炒作酬姆,過分夸大了區(qū)塊鏈的能力。以太坊與web3——一個安全奥溺、易于使用的分布式網(wǎng)絡辞色,受一套共識機制約束,并為數(shù)十億人使用——仍在大家的視野范圍內(nèi)浮定,在關鍵基礎設施完善之前相满,都不會實現(xiàn)层亿。
構建這一基礎設施、擴展以太坊功能的項目立美,都被稱作擴容方案匿又。它們有許多不同形式,而且往往都是相互兼容或互補的建蹄。
本文中碌更,我將深入探討一種擴容方案:“鏈下”或者“l(fā)ayer2”。
l?首先洞慎,我將討論以太坊(以及所有區(qū)塊鏈)擴容挑戰(zhàn)痛单。
l?其次,我將談到解決擴容問題的不同方案劲腿,并區(qū)分“l(fā)ayer1”和“l(fā)ayer2”旭绒。
l?第三,我將介紹layer2焦人,并分析它是如何工作的快压,特別是狀態(tài)通道(state channels)、Plasma垃瞧、和Truebit蔫劣。
本文的重點是讓讀者對layer2的工作原理有個全面而詳細的理解。但我不會深入到代碼研究和特定的使用場景个从。相反脉幢,我們專注于構建這種系統(tǒng)的經(jīng)濟機制,以及所有l(wèi)ayer2技術的原理嗦锐。
1.?公有鏈的擴容挑戰(zhàn)
首先嫌松,必須要知道,“擴容”不是單一的奕污、具體的問題萎羔。它是以太坊在服務全球幾十億用戶之前,必須要解決的問題碳默。
首先就是交易吞吐量方面贾陷。目前,以太坊每秒可以處理15筆交易嘱根,相比之下髓废,Visa處理速度可以達到45000筆/秒。在過去一年里该抒,一些應用程序——像Cryptokitties發(fā)展的很好慌洪,導致整個網(wǎng)絡運行速度也開始放緩,交易價格增加。
像以太坊這樣的公有鏈冈爹,要求網(wǎng)絡中每一個節(jié)點參與處理每一筆交易涌攻,其主要局限也正在于此。以太坊上的每個操作——轉賬频伤,Cryptokitty的誕生癣漆,ERC20合約的生成——都必須由網(wǎng)絡中的每個節(jié)點一起執(zhí)行。這是設計時決定的剂买,也是使公有鏈足夠權威的原因之一惠爽。節(jié)點不需要從外部得知區(qū)塊鏈的狀態(tài),它們自己可以解決瞬哼。
這對以太坊的交易吞吐量設置了一個基本限制:它不能高于從單個節(jié)點獲得的數(shù)據(jù)的速度婚肆。
我們可以要求每個節(jié)點做更多的工作。如果我們將區(qū)塊大小加倍坐慰,這將意味著每個節(jié)點所做的工作量大約是現(xiàn)在工作量的兩倍较性。但這是以犧牲去中心化為代價的:需要節(jié)點做更多的工作,那么功能較弱的計算機(如消費者設備)可能會退出網(wǎng)絡结胀,而挖礦權利將集中到強大的運營商手上赞咙。
我們需要一種方案,既能不增加單個節(jié)點的負荷糟港,又能處理更多交易攀操。
從概念上講,我們可以采取兩種方法來解決這個問題:
1)?如果每個節(jié)點不必并行處理每個操作呢秸抚?
第一種方法速和,顛覆前提:如果我們可以構建一個區(qū)塊鏈,鏈內(nèi)節(jié)點都不必參與處理每筆交易呢剥汤?如果網(wǎng)絡被分成兩個部分颠放,可以半獨立地運作呢?
被分開后吭敢,A區(qū)可以處理一批交易碰凶,B區(qū)也可以處理一部分。這可以把區(qū)塊鏈交易吞吐量提高一倍鹿驼,因為我們現(xiàn)在設定每兩個節(jié)點可以同時工作欲低。如果我們把區(qū)塊鏈分成許許多多不同區(qū)域,那吞吐量會提高許多倍蠢沿。
這就是“分片(sharding)”背后的理念伸头,是由以太坊V神和其他科研人員提出來的。一個區(qū)塊鏈被分成許多不同的“片”舷蟀,每個“片”都可以獨立處理交易。分片一般是指layer1的擴容方案,因為它是在以太坊的基層協(xié)議上實現(xiàn)的野宜。
2)?如果為以太坊建立協(xié)議層網(wǎng)絡呢扫步?
第二種選擇和第一種恰恰相反:與其增加以太坊自身的能力,不如在其基礎之上采取措施匈子。以太坊區(qū)塊鏈基本層的吞吐量不變河胎,但實際上我們可以執(zhí)行更多操作,比如交易虎敦、狀態(tài)更新或簡單的計算游岳。
這就是“鏈下”技術背后的原理,像狀態(tài)通道其徙,Plasma胚迫,Truebit。雖然每一種技術旨在解決不同問題唾那,但它們都需要在保證安全性的前提下访锻,進行“鏈下”操作。
這也被稱作layer2闹获,因為它們事建立在以太坊主鏈之上的期犬。它們不需要在基礎層上進行改變,相反避诽,它們只是作為與鏈下軟件交互的智能合約存在的龟虎。
2.?Layer2是數(shù)字經(jīng)濟解決方案
在細說layer2解決方案之前,先來了解一下其背后的原理沙庐。
公有鏈的基本力量在于數(shù)字經(jīng)濟共識遣总。通過仔細調(diào)整激勵措施,并將其與密碼學結合轨功,從而從系統(tǒng)內(nèi)部達成共識旭斥。這也是中本聰白皮書中提到的重點,這點現(xiàn)在已經(jīng)被應用到許多不同的公有鏈中古涧,包括比特幣和以太坊垂券。
數(shù)字經(jīng)濟共識給了我們一個硬核——除非像51%攻擊這樣極端事件的發(fā)生,否則所有操作(包括支付羡滑,或者智能合約)都將按書寫程序執(zhí)行菇爪。
Layer2背后的原理是,我們可以將這個確定性內(nèi)核作為一個錨——在此基礎之上附加其他經(jīng)濟機制柒昏。Layer2可以將公有鏈的效用擴展到鏈外凳宙,讓我們在鏈外互動成為可能,這些互動在需要的時候仍然可以返回到主鏈职祷。
這些層都是建立在以太坊主鏈之上的氏涩,所以它并不能像鏈上操作一樣安全届囚。但是仍然可以確保它們是最終地、安全地是尖、實用地——特別是只需要犧牲一點操作權限联予,就可以提高運作效率瞻离,降低手續(xù)費用迅办。
數(shù)字經(jīng)濟學并不是由中本聰?shù)陌灼_始放棒,也不會就此結束——這是我們正在嘗試應用的技術而已。不僅在核心協(xié)議的設計上兜辞,也體現(xiàn)在旨在擴展底層鏈功能的layer2的設計中迎瞧。
Ⅰ.?狀態(tài)通道(State channels)
狀態(tài)通道指的是“鏈下”處理交易和其他操作的一種技術。然而逸吵,發(fā)生在狀態(tài)通道內(nèi)事物仍然由很高的安全性和終結性:如果出了什么問題凶硅,我們?nèi)匀豢梢赃x擇回到鏈上交易。
很多讀者都知道支付通道胁塞,這個已經(jīng)出現(xiàn)許多年了咏尝,最近也在通過閃電網(wǎng)絡(lightning network)在比特幣上實施。狀態(tài)通道是支付通道更為普遍的形式——它們不僅可以處理支付啸罢,也可以處理區(qū)塊鏈的“狀態(tài)更新”——就像智能合約的更改编检。2015年,Jeff Coleman首先提出狀態(tài)通道扰才。
來看一個例子允懂,可以更好解釋狀態(tài)通道的工作方法。請注意衩匣,這是一個概念性的解釋蕾总,這意味著我們不會進入特定的技術細節(jié)。
想象一下琅捏,Alice和Bob玩三子棋游戲(tic tac toe)生百,贏家可以獲得1ETH作為獎勵。最簡單的辦法柄延,就是在以太坊上創(chuàng)建一個智能合約蚀浆,將三子棋游戲的規(guī)則寫入智能合約內(nèi),并追蹤每一名玩家的棋子移動搜吧。每次玩家移動棋子時市俊,就給合約發(fā)送一次。當一個玩家生出滤奈,按規(guī)則摆昧,合約將支付1ETH給勝出者。
這雖然可行蜒程,但是效率低绅你、速度慢。Alice和Bob的整個以太坊網(wǎng)絡都在為這個游戲運行勇吊,造成資源的浪費曼追。玩家每移動一步棋窍仰,都要支付一筆費用汉规,并且,他們還要等礦工完成驗證驹吮,才能進行下一步针史。
這時候,我們就可以設計一個系統(tǒng)碟狞,讓Alice和Bob的互動盡量在鏈下進行啄枕。Alice和Bob可以在鏈下更新狀態(tài),并在需要的時候族沃,回到鏈上交易频祝。我們把這種系統(tǒng)稱之為“狀態(tài)通道”。
首先脆淹,我們在以太坊主鏈上創(chuàng)建一種智能合約作為“法官”常空,并將游戲規(guī)則寫入合約,并識別出Alice和Bob是本次游戲的兩個玩家盖溺。再給這個合約設置1ETH的獎勵漓糙。
緊接著,Alice和Bob開始互動烘嘱。Alice開始走第一步昆禽,簽名后發(fā)送給Bob,Bob也會簽名蝇庭,并將自己簽名后的版本發(fā)回醉鳖,自己保存一份福本。然后Bob走一步哮内,簽名后發(fā)送給Alice盗棵,Alice也簽名后發(fā)回,自己保存副本牍蜂。每次漾根,他們都會更新自己的狀態(tài)。每次互動都會包含一次“隨機數(shù)nonce”鲫竞,這就可以給每次互動按時序排列辐怕。
至此,所有操作都不是在鏈上發(fā)生从绘。Alice和Bob只是在互聯(lián)網(wǎng)中發(fā)生了交易寄疏,但是所有交易都可以上傳至合約——換句話說是牢,它們依然是有效的以太坊交易。你可以理解成陕截,這兩個人是在來回寫著區(qū)塊鏈認證的支票驳棱。銀行沒有存款或者取款,但是每張支票都可以隨時存入农曲。
如果Alice和Bob的游戲結束社搅,比如說Alice贏了,他們可以上傳最終狀態(tài)(交易清單)并關閉通道乳规。這樣形葬,只用支付一次交易費用就可以了。合約可以確蹦旱模“最終狀態(tài)”有雙方簽名笙以,并等待一段時間,以確保結果可靠冻辩,最后把1ETH的獎金支付給Alice猖腕。
為什么需要這個等待時間?
假設Bob上傳的不是最終版本恨闪,而是他贏過了Alice那個版本倘感。但是合約只會執(zhí)行指令,無法知道哪一個是最終版本凛剥。這個時候侠仇,設置一段等待時間,可以讓Alice提供證據(jù)證明自己提供的是最終版本犁珠。
Alice提交雙方簽名的交易副本逻炊,合約通過交易的nonce確定Alice提交的是最終版本,駁回Bob的請求犁享。
特點和限制
狀態(tài)通道適用于很多應用程序余素,并對傳統(tǒng)的鏈上操作進行了許多升級。但是炊昆,在引入狀態(tài)通道之前桨吊,還必須考慮其他因素:
l?狀態(tài)通道依賴可用性。如果Alice在過程中斷網(wǎng)了(假設是由于Bob迫切想要獲得獎金凤巨,而破壞了Alice家的網(wǎng))视乐,那么她可能無法及時提交狀態(tài)信息。即便如此敢茁,Alice可以付錢佑淀,讓其他人保存她的交易狀態(tài),并作為她的代表彰檬,維持數(shù)據(jù)的可用性伸刃。
l?如果用戶要進行許多次狀態(tài)更新谎砾,并且持續(xù)時間很長,那么這種狀態(tài)通道就特別適合捧颅。這是因為雖然在創(chuàng)建時需要一筆費用景图,但是之后維護成本就會特別低。
l?狀態(tài)通道適用于那些用戶固定的應用程序碉哑。因為合約必須知道通道內(nèi)的所有實體挚币。雖然可以對人員進行增加或者移除,但這都需要對合同進行更改谭梗。
l?狀態(tài)通道具有很強的隱私屬性忘晤。因為所有操作都發(fā)生在“內(nèi)部”通道中宛蚓,而不會在鏈上公布激捏,也不會記錄在鏈。只有交易的開始和結束狀態(tài)是公開的凄吏。
l?狀態(tài)通道具有即時的終結性远舅。也就是說,一旦雙方對狀態(tài)簽名了痕钢,就可以認為是最終的图柏。必要的話,也可以“強制”在鏈上執(zhí)行任连。
在L4蚤吹,我們正在構建一個Counterfactual:一個基于以太坊的狀態(tài)通道框架。我們計劃完成通用的随抠、模塊化的模板裁着,并允許開發(fā)人員在其應用程序中使用狀態(tài)通道,而不需要自己成為狀態(tài)通道專家拱她。
另一個值得關注的狀態(tài)通道項目是Raiden二驰,改項目的目標是建立一個支付渠道,使用的是與閃電網(wǎng)絡類似的模式秉沼。這意味著桶雀,與其與特定人員開設通道,你還可以與一個較大的頻道網(wǎng)絡開設通道唬复,使你可以與連接到同一頻道的其他任何人交易矗积,并無需手續(xù)費。
除了Counterfactual敞咧,Raiden之外棘捣,還有幾個基于以太坊的的應用程序。例如妄均,F(xiàn)unfair為了它們的去中心化平臺建立的狀態(tài)通道(“Fate channels”)柱锹,Spankchain為成年演員建立了單向支付通道(他們也為ICO創(chuàng)建狀態(tài)通道)哪自,Horizon游戲為他們的以太坊游戲創(chuàng)建了狀態(tài)通道。
Ⅱ. Plasma
2017年8月11日禁熏,Vitalik Buterin和Joseph Poon發(fā)表了名為《Plasma:自主智能合約》的論文壤巷。這篇文章引入了一種全新的技術,可以提高以太坊的處理效率瞧毙。
與狀態(tài)通道一樣胧华,Plasma是一種處理鏈下交易的技術,需要依賴以太坊底層技術去對其安全性進行保障宙彪。但Plasma的切入點不一樣矩动,它可以允許在以太坊主鏈上創(chuàng)建“子鏈”(“child” blockchain)。這些“子鏈”释漆,反過來悲没,也可以創(chuàng)建它們自己的“子鏈”,以此類推男图。
其結果是示姿,我們可以在子鏈級執(zhí)行許多復雜的操作,運行包含數(shù)千名用戶的應用程序逊笆,并且只用與以太坊主鏈進行很少的交互栈戳。Plasma可以運行的很快,并收取較低的交易費用难裆,因為整個過程不需要在以太坊主鏈上發(fā)生子檀。
我們先來看一個例子,好理解Plasma是如何運作的乃戈。
讓我們想象一下褂痰,你正在以太坊上創(chuàng)建一個交易卡片游戲。這些卡片就是ERC 721令牌(比如Cryptokitties)偏化,但它們具有某些特性和屬性脐恩,讓用戶可以進行博弈——比如《壁爐石》(Hearthstone)或《魔法的聚會》(Magic the Gathering)。在鏈上執(zhí)行這些復雜的操作是很昂貴的侦讨,所以使用Plasma是很好的選擇驶冒。
首先,我們在以太坊主鏈創(chuàng)建一套智能合約韵卤,作為服務于我們Plasma子鏈的“Root”骗污。Plasma Root包含我們子鏈的“狀態(tài)轉換規(guī)則”(比如“不能雙花”),記錄子鏈狀態(tài)的哈希沈条,并充當一種“橋梁”需忿,允許用戶在以太坊主鏈和子鏈之間進行互動。
然后,我們創(chuàng)造我們的子鏈屋厘。子鏈可以有自己的一套共識機制——在本例中涕烧,那就是授權證明(PoA),這是一種依賴可信區(qū)塊生產(chǎn)者的共識機制汗洒。區(qū)塊生產(chǎn)者類似于工作量證明中的礦工——它們是接受交易议纯、生成區(qū)塊、收取交易費的節(jié)點溢谤。打個簡單的比方瞻凤,假設你是生成區(qū)塊的唯一實體——也就是說,你的公司運行幾個節(jié)點世杀,這些節(jié)點是我們子鏈的區(qū)塊生產(chǎn)者阀参。
一旦子鏈被創(chuàng)建或者激活,區(qū)塊生產(chǎn)者就對root合約做出承諾瞻坝。意味著他們實際在說“我作證蛛壳,子鏈中的最新區(qū)塊是X∈疲”這些承諾都被記錄在Plasma root炕吸,以證明子鏈中發(fā)生的交易。
現(xiàn)在勉痴,子鏈已經(jīng)準備好了,我們可以創(chuàng)建交易卡游戲的基本組成部分树肃≌裘卡片是基于以太坊主鏈的ERC 721,通過?plasma root轉移到子鏈胸嘴。這就引入了一個關鍵點:plasma允許我們與基于以太坊的數(shù)字資產(chǎn)進行大規(guī)模交互雏掠。然后,我們再在子鏈上部署游戲應用的智能合約劣像,把游戲邏輯和規(guī)則都寫進合約里乡话。
游戲用戶其實只是與我們的子鏈交互。他們可以持有資產(chǎn)(ERC 721 token)耳奕,與以太交易绑青,與其他用戶游戲,從來不用與主鏈直接互動屋群。因為只有少量節(jié)點需要處理交易闸婴,交易費用會低很多,操作速度也會更快芍躏。
但這怎么確保安全呢邪乍?
將更多的操作轉移到子鏈上,主鏈就可以處理更多交易。但是要怎么保障它的安全呢庇楞?在子鏈上發(fā)生的交易是最終的嗎榜配?畢竟,我們剛剛還說吕晌,會有一個實體公司控制區(qū)塊的生成芥牌。這不就是中心化嗎?這個公司能隨時盜走你的資金或者游戲卡嗎聂使?
簡單地說壁拉,即使一個公司擁有子鏈區(qū)塊生成100%的控制權,plasma也為你提供了一個基本保證柏靶,你可以隨時將你的資金和資產(chǎn)取出弃理,放回主鏈。如果一個區(qū)塊生產(chǎn)者出現(xiàn)惡意行為屎蜓,最壞的打算是痘昌,它會強迫你離開子鏈。
讓我們看看區(qū)塊鏈生產(chǎn)者會有怎樣的惡意行為炬转,再看plasma會做出怎樣的對策辆苔。
首先,想象一下扼劈,一個區(qū)塊生產(chǎn)者會怎樣欺騙你——通過創(chuàng)建一個假的新區(qū)塊來控制你的資金驻啤。他們是唯一有權力生成區(qū)塊的,因而他們可以不按照區(qū)塊鏈的法則來創(chuàng)建區(qū)塊荐吵。與其他區(qū)塊一樣骑冗,他們也會公布一份包含該區(qū)塊證據(jù)的Plasma root契約的承諾。
如上所述先煎,用戶是有保證的贼涩,他們可以撤回他們的資產(chǎn)回到主鏈。在這種情況下薯蝎,用戶(或者更確切地說是代表他們行事的應用程序)將檢測到企圖盜竊的行為遥倦,并在區(qū)塊生產(chǎn)者嘗試使用他們“竊取”的資產(chǎn)之前退出。
Plasma?還創(chuàng)造了一種機制占锯,以防止欺詐退出主鏈袒哥。Plasma包括一種機制,任何人(包括你)都可以向root合約發(fā)布欺詐證據(jù)烟央,證明區(qū)塊生產(chǎn)者作弊统诺。此欺詐證明將包含有關前一個塊的信息。根據(jù)子鏈的狀態(tài)轉換規(guī)則疑俭,虛假塊不符合以前的狀態(tài)粮呢。如果欺詐被證實,子鏈將被“退回”到前一個區(qū)塊。更好的是啄寡,我們構建了一個系統(tǒng)豪硅,在這個系統(tǒng)中,任何簽下虛假區(qū)塊的區(qū)塊生產(chǎn)者都會因丟失一張鏈上存款而受到懲罰挺物。
但提交欺詐證據(jù)需要獲得基本數(shù)據(jù)懒浮,即用于證明欺詐的塊的實際歷史。如果區(qū)塊生產(chǎn)者也沒有分享先前區(qū)塊的信息识藤,以阻止Alice向root合約提交欺詐證據(jù)砚著,該怎么辦?
下痴昧,Alice需要取出她的資金稽穆,離開子鏈。實際上赶撰,Alice向root合約提交了一份“資金證明”舌镶。在等待一段時間之后,任何人都可以質(zhì)疑她的證明(例如豪娜,為了證明她在后來的有效區(qū)塊中花了這些錢)餐胀,Alice的資金被移回以太坊主鏈。
最后瘤载,區(qū)塊生產(chǎn)者可以審查子鏈的用戶否灾。如果他們愿意,區(qū)塊生產(chǎn)者可以有效地阻止用戶在子鏈上執(zhí)行任何操作惕虑。也就是簡單地將我們所有的資產(chǎn)撤回到上面所述的主鏈上坟冲。
然而,取款本身也存在風險溃蔫。如果子鏈上的所有用戶要在同一時間取出自己所有的資產(chǎn),以太坊主鏈可能沒有辦法承受這個壓力琳猫。也有許多技術可以阻止這件事發(fā)生伟叛,如延長提款的響應時間。
事實是脐嫂,一個公司掌控100%區(qū)塊生成權是非常極端的情況统刮,一般不會發(fā)生這種情況。也就是說账千,子鏈和公有鏈一樣侥蒙,是去中心化的。因而上訴提到的風險會比較小匀奏。
現(xiàn)在我們已經(jīng)談到了狀態(tài)通道和Plasma鞭衩,將兩者比較一下。
l?一個不同之處是,當同一通道內(nèi)的所有用戶都同意退出時论衍,狀態(tài)通道可以即時退出瑞佩。比如說,如果Alice和Bob都同意關閉一個通道坯台,并取回他們的資金炬丸,他們就可以立即拿回資產(chǎn)。這在Plasma上是不可能的蜒蕾,在Plasma中稠炬,用戶必須等待一段時間,才能退出咪啡。
l?狀態(tài)通道也比Plasma更便宜首启,更便捷。這意味著我們可以將兩者結合起來瑟匆,在Plasma子鏈上建立狀態(tài)通道闽坡。例如,在一個app上愁溜,兩個用戶可以進行系列小額交易疾嗅。在子鏈上創(chuàng)建狀態(tài)通道,比直接在子鏈上進行交易冕象,會更便宜高效代承。
l?最后,本文可能遺漏了一些細節(jié)渐扮。Plasma還處在早期论悴,你可以看看V神最近提出的“最小可行的Plasma”。還有一個臺灣團隊也正在做這件事墓律。OmiseGo也在這個方向上努力膀估。
Ⅲ. Truebit
Truebit是幫助以太坊完成繁重計算的鏈下技術。而狀態(tài)通道和Plasma是擴大吞吐量的耻讽,所以這也是Truebit的不同之處察纯。Truebit不會提高交易吞吐量,但是它會讓基于以太坊的應用程序做更復雜的事情针肥。
有些操作計算成本太高饼记,無法在鏈上執(zhí)行。例如慰枕,驗證來自其他區(qū)塊鏈的簡單支付驗證(SPV)證明具则,這可以讓以太坊智能合約“檢查”一項交易是否發(fā)生在另一條鏈上(如比特幣)。
想象你需要在基于以太坊的app上執(zhí)行一些昂貴的計算(像SPV證明)具帮。你不能把它簡單的作為以太坊主鏈智能合約的一部分博肋,因為SPV計算太貴了低斋。事實上,在以太坊上做所有計算都很貴束昵,因為總是需要所有節(jié)點都要參與到計算中拔稳。
然而,你可以給某個人(解決者)支付一點費用锹雏,讓它完成鏈下計算巴比。
首先,解決者往智能合約存入一筆費用礁遵,然后轻绞,你把需求告知解決者。他進行計算佣耐,然后把結果反饋給你政勃。如果計算結果正確,他的押金會被退回兼砖。如果計算出錯(他出錯或作弊)奸远,就會損失自己的押金。
那我們怎么知道結果正不正確呢讽挟?Truebit使用一種叫“驗證游戲”的經(jīng)濟機制懒叛。從本質(zhì)上講,我們創(chuàng)造了一種激勵機制耽梅,鼓勵“挑戰(zhàn)者”來驗證解決者提交的結果薛窥。如果挑戰(zhàn)者能夠通過驗證游戲,證明解決者提交了一個錯誤的結果眼姐,那么他們就會得到獎勵诅迷,而解決者則會失去他們的定金。
因為驗證游戲是在鏈上執(zhí)行的众旗,它不能簡單地計算結果(這將破壞整個系統(tǒng)的目的罢杉,因為如果我們能夠在鏈上進行計算,我們就不需要Truebit)贡歧。相反屑那,我們強迫解決者和挑戰(zhàn)者確定他們不同意的具體操作。實際上艘款,我們正在努力使雙方對結果產(chǎn)生異議。
一旦操作被認定沃琅,就足以在以太坊主鏈上運行哗咆。然后,我們通過智能合約來執(zhí)行細節(jié)益眉。
結論
Layer2有個共同的內(nèi)核:一旦有了一個公有鏈提供的確定性硬核晌柬,我們就可以將它用作擴展塊鏈應用程序有效性的數(shù)字經(jīng)濟系統(tǒng)的錨姥份。
我上面提到一些例子,可以讓我們更具體地了解layer2的應用場景年碘。layer2所使用的經(jīng)濟機制往往是交互式的游戲:它們通過為不同的參與者創(chuàng)造競爭或“檢查”的動機來發(fā)揮作用澈歉。區(qū)塊鏈應用程序可以假定一個給定的聲明可能是真的,因為我們已經(jīng)為另一個方提供證明它是假的信息創(chuàng)造了強大的動機屿衅。
在狀態(tài)通道中埃难,我們確認渠道的最終狀態(tài)的方式是——讓各方有機會“反駁”對方。在plasma中涤久,它是我們?nèi)绾喂芾砥墼p證據(jù)和取款涡尘。在Truebit中,它是我們?nèi)绾未_保解題者講真話——通過給驗證者一個激勵來證明解題者是錯的响迂。
這些系統(tǒng)將有助于解決大規(guī)模全球用戶群縮放所涉及到的一些挑戰(zhàn)考抄。一些工具,比如狀態(tài)通道和Plasma蔗彤,將增加平臺的事務吞吐量川梅。其他的工具,比如Truebit然遏,將使得有可能將更困難的計算作為智能契約的一部分贫途,從而打開新的用例。
這三個示例僅代表了用于數(shù)字經(jīng)濟擴容方案的一小部分啦鸣。我們甚至還沒有涉及到像Cosmos或Polkadot這樣的“區(qū)塊間協(xié)議”的工作潮饱。我們還應該期望創(chuàng)造新的和意想不到的layer2系統(tǒng),以改進現(xiàn)有的模型诫给,或在速度香拉、終結性和成本之間提供新的權衡點。
比任何特定的layer2更重要的是進一步開發(fā)底層技術和機制:數(shù)字經(jīng)濟中狂。
這些layer2解決方案需要建立在可編程區(qū)塊鏈之上凫碌,如以太坊:你需要一種腳本語言來編寫程序。對于比特幣這樣的區(qū)塊鏈胃榕,這就困難得多(或者在某些情況下基本不能實現(xiàn))盛险,因為這些區(qū)塊鏈只能提供有限的腳本。
我們可以在以太坊上構建layer2勋又,并可以在訪問速度苦掘、終結性和成本之間達到平衡。這使得底層區(qū)塊鏈對于更廣泛的應用程序來說更加實用楔壤。對于高價值的交易鹤啡,建議使用主鏈。對于交易數(shù)字收藏品蹲嚣,速度更重要递瑰,我們可以使用plasma祟牲。Layer2讓我們在不損害底層塊鏈的情況下進行這些權衡,保持去中心化和終結性抖部。
在設計以太的時候说贝,Plasma和Truebit還沒有被發(fā)明出來。但由于以太坊是完全可編程的慎颗,它幾乎能夠?qū)崿F(xiàn)我們發(fā)明的任何經(jīng)濟機制乡恕。