以太坊若干好這事可不得了,也沒柚子什麼事了,問題是得等多久?
本文來自:本文來自:本文來自:

本文來自:
白話區塊鏈(ID :hellobtc)
,作者:Josh Stark,翻譯:李麗詩,有刪改,經授權轉發。
本文中,我將深入探討其中一種擴容方案:“鏈下”或者“Layer2”擴容,希望能讓你對Layer 2 的工作原理有個全面而詳細的理解。
二級標題
二級標題
二級標題
公有鏈的擴容挑戰
“擴容”不是單一的、具體的問題,它是以太坊在服務全球幾十億用戶之前,必須要解決的問題。
如果我們將區塊大小加倍,這將意味著在相同出塊時間內,每個節點的工作量大約是現在工作量的兩倍。但這是以犧牲去中心化為代價的:需要節點做更多的工作,那麼較弱的節點可能會退出網絡,挖礦權利將集中到強大的礦場手中。
二級標題
二級標題
二級標題
解決方案
我們需要一種方案:既能不增加單個節點的負荷,又能處理更多交易。
從理論上講,我們可以採取兩種方法來解決這個問題:
1、如果每個節點不必並行處理每個操作呢?
如果我們可以構建一個區塊鏈,鏈內節點不必參與處理每筆交易,網絡被分成兩個部分,可以半獨立地運作呢?
被分開後,A 區可以處理一批交易,B 區也可以處理一部分,這可以把區塊鏈交易吞吐量提高一倍。如果我們把區塊鏈分成許許多多不同區域,那吞吐量會提高許多倍。
這就是“分片(Sharding)”背後的理念,由以太坊V神和其他科研人員提出。一個區塊鏈被分成許多不同的“片”,每個“片”都可以獨立處理交易。分片一般是指“Layer 1”的擴容方案,因為它是在以太坊的基層協議上實現的。
這也被稱作“Layer 2”,因為它建立在以太坊主鏈之上,不需要在基礎層上進行改變,相反,它只作為與鏈下軟件交互的智能合約存在。
二級標題
二級標題
二級標題
Layer 2是數字經濟解決方案
在細說Layer 2的解決方案之前,我們先來了解一下其背後的原理。
公有鏈的權威來源於共識。通過激勵措施,並將其與密碼學結合,從系統內部達成共識。
數字經濟共識給了我們確定性——除非像51%攻擊這樣極端事件,否則所有的操作(包括支付、智能合約)都將按之前設計好的程序執行。
Layer 2背後的原理是,我們可以將這個確定性作為一個錨,在此基礎之上附加其他機制。 Layer 2可以將公有鏈的效用擴展到鏈外,讓我們在鏈外交互成為可能,這些交互在需要的時候仍然可以返回到主鏈。
因為這些層建立在以太坊主鏈之上,所以它並不能像主鏈上操作一樣安全,但仍然可以確保它們安全實用,特別是只需要犧牲一點操作權限,就可以提高運作效率,降低手續費用。
下面是正在嘗試應用的技術介紹:
1、狀態通道(State Channels)
狀態通道,指的是“鏈下”處理交易和其他操作的一種技術,有很高的安全性:如果出了什麼問題,我們仍然可以選擇回到鏈上交易。
很多讀者都知道支付通道,這個已經出現許多年了,最近也在通過閃電網絡(Lightning Network)在比特幣上實施。狀態通道是比支付通道更為普遍的形式——不僅可以處理支付,也可以處理區塊鏈的“狀態更新”,比如智能合約的更改。
2015年,Jeff Coleman首先提出了狀態通道。我們先來看一個例子,以便更好地解釋狀態通道的工作方法。
想像一下,張三和李四玩三連棋遊戲,贏家可以獲得1 個ETH 作為獎勵。最簡單的辦法,就是在以太坊上創建一個智能合約,將三連棋的規則寫入智能合約,並追踪張三、李四的選擇。每次玩家做出選擇時,給合約發送一次。當一個玩家勝出,按規則,智能合約將支付1 個ETH 給勝出者。
這雖然可行,但效率低、速度慢。因為遊戲的每一步都需要得到所有的節點確認,造成資源的浪費。他們每玩一局遊戲,就要支付一筆費用,並且還要等礦工完成驗證後才能進行下一局。
這時候,我們就可以設計一個系統,讓張三和李四的互動盡量在鏈下進行。他們可以在鏈下更新狀態,並在需要的時候,回到鏈上交易。我們把這種系統稱之為“狀態通道”。
首先,我們在以太坊主鏈上創建一種智能合約作為“法官”,並將遊戲規則寫入合約,並識別出張三和李四是本次遊戲的兩個玩家,再給這個合約設置1 個ETH 的獎勵。
緊接著,張三和李四開始互動。張三開始走第一步,簽名後發送給李四,李四也會簽名,並將自己簽名後的版本發回,自己保存一份副本。然後李四走一步,簽名後發送給張三,張三也簽名後發回,自己保存副本。每次,他們都會更新自己的狀態。每次互動都會包含一次“隨機數”,這就可以給每次互動按時序排列。
至此,所有操作都不是在鏈上發生。如果遊戲結束,比如說張三贏了,他們可以上傳最終狀態(交易清單)並關閉通道。這樣,只用支付一次交易費用就可以了。合約可以確保“最終狀態”有雙方簽名,並等待一段時間,以確保結果可靠,最後把1 個ETH 的獎金支付給張三。
為什麼需要這個等待時間?
2、Plasma
假設李四上傳的不是最終版本,而是他贏過了張三的那個版本,但合約只會執行指令,無法知道哪一個是最終版本。這個時候,設置一段等待時間,可以讓張三提供證據證明自己提供的是最終版本。
張三提交雙方簽名的交易副本,合約通過交易的隨機數確定張三提交的是最終版本,駁回李四的請求。
狀態通道適用於很多應用程序,並對傳統的鏈上操作進行了許多升級。
2017 年8 月11 日,V 神和Joseph Poon 發表了名為《Plasma:自主智能合約》的論文。這篇文章引入了一種全新的技術,可以提高以太坊的處理效率。
與狀態通道一樣,Plasma 是一種處理鏈下交易的技術,需要依賴以太坊底層技術去對其安全性進行保障。但Plasma 的切入點不一樣,它可以允許在以太坊主鏈上創建“子鏈”。這些“子鏈”,反過來也可以創建它們自己的“子鏈”,以此類推。
其結果是,我們可以在子鏈執行許多複雜的操作,運行包含數千名用戶的應用程序,並且只需要與以太坊主鏈進行很少的交互。 Plasma 運行很快,並收取較低的交易費用,因為整個過程不需要在以太坊主鏈上發生。
我們先來看一個例子,理解Plasma 是如何運作的。
想像一下,你正在以太坊上創建一個交易卡片遊戲。這些卡片是ERC-721 令牌(比如以太貓),但它們具有某些特性和屬性,讓用戶可以進行博弈。在鏈上執行這些複雜的操作很昂貴,所以使用Plasma 是很好的選擇。
首先,我們在以太坊主鏈創建一套智能合約,作為服務於我們Plasma 子鏈的“Root”。 Plasma Root 包含我們子鏈的“狀態轉換規則”(比如“不能雙花”),記錄子鏈狀態的哈希,並充當一種“橋樑”,允許用戶在以太坊主鍊和子鏈之間進行互動。
然後,我們創造我們的子鏈,子鏈可以有自己的一套共識機制。在本例中,是授權證明(PoA),依賴可信區塊生產者的共識機制。
3、Truebit
一旦子鏈被創建或者激活,區塊生產者就對Root 合約做出承諾,相當於“我作證,子鏈中的最新區塊是X。” 這些承諾都會被記錄在Plasma Root,以證明子鏈中發生的交易。
子鏈準備好後,我們就可以創建交易卡遊戲的基本組成部分。卡片基於以太坊主鏈的ERC-721,通過Plasma Root 轉移到子鏈。這就引入了一個關鍵點:Plasma 允許我們與基於以太坊的數字資產進行大規模交互。
然後,我們在子鏈上部署遊戲應用的智能合約,把遊戲邏輯和規則都寫進合約裡。遊戲用戶,其實只是與我們的子鏈交互。他們可以持有資產(ERC-721 令牌)與其他用戶進行遊戲,不需要與主鏈直接互動。因為只有少量節點需要處理交易,交易費用會低很多,操作速度也會更快。
與狀態通道和Plasma 擴大吞吐量不同,Truebit 是幫助以太坊完成繁重計算的鏈下技術。 Truebit 不會提高交易吞吐量,但會讓基於以太坊的應用程序做更複雜的事情。
有些操作計算成本太高,無法在鏈上執行。例如,驗證來自其他區塊鏈的“簡單支付驗證(SPV)”證明,讓以太坊智能合約“檢查”一項交易是否發生在另一條鏈上(如比特幣網絡)。
二級標題
二級標題
結論
結論
結論
結論


