BTC
ETH
HTX
SOL
BNB
查看行情
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

Layer 1 應該做什麼

Nervos
特邀专栏作者
2019-05-17 12:38
本文約2644字,閱讀全文需要約4分鐘
如果我們認為分層是未來的發展方向,我們應該從一開始就考慮到上層協議和分層網絡的需求,在分層的大框架下設計區塊鏈協議。
AI總結
展開
如果我們認為分層是未來的發展方向,我們應該從一開始就考慮到上層協議和分層網絡的需求,在分層的大框架下設計區塊鏈協議。

正文正文在上一篇文章中,我們提到了我們的技術目標是設計一個

分層的加密經濟網絡

分層的加密經濟網絡。這樣的出發點帶來的是一個與眾不同的設計思路:二級標題

二級標題

Layer 1 vs. Layer 2

正文

正文正文要弄清Layer 1 應該做什麼,首先要弄清楚它和上層協議的區別。 Layer 2 起源於我們發現公有鏈(這裡指Permissionless Blockchain)的性能不足,很難擴容到滿足整個加密經濟體需求的水平,同時我們又非常迷戀公有鏈提供的可用性和極大的服務範圍,因此慢慢演化出了一系列可以由區塊鏈來保證安全的Layer 2 協議,例如支付通道(Payment Channel),Plasma,etc.

因此作為Layer 1 的區塊鏈,關注點顯然不應該是性能,因為Layer 2 會承擔這個職責。 Layer 1 是保障上層協議參與者的最后防線,它的關注點應該是安全和去中心化(安全和去中心化是兩個東西,有時間再展開)。如果我們觀察Layer 2 協議與Layer 1 交互的模式,我們還會發現,Layer 1 負責的是狀態共識(存儲),Layer 2 負責的是狀態生成(計算)。

二級標題

二級標題二級標題計算與狀態

程序員的世界中有一個流傳甚廣的公式:程序= 算法+ 數據結構,今天最流行的計算架構。

二級標題

二級標題

二級標題

以支付通道為例

在支付通道中,Layer 2 的共識範圍縮小到兩人之間,這是最小範圍的共識。參與通道的兩人進行的操作如下:

1.向Layer 1 發送交易建立通道,鎖定特定的狀態,鎖定的狀態只有用Alice 和Bob 雙方的簽名才能更新

b.Bob → Alice 0.1 BTC,a.例如,Alice 鎖定1 BTC,Bob 鎖定1 BTC,我們用(1, 1)表示在Layer 1 鎖定的狀態

2.雙方通過鏈外的網絡連接(Layer 2),產生並交換新的狀態,各自簽名

a.Alice → Bob 0.5 BTC,Alice/Bob 在本地保存的新狀態為(0.5, 1.5)

Alice/Bob在本地保存的新狀態為(0.6, 1.4)c.…

d.最後一次交換後,Alice/Bob 在本地保存的新狀態為(0.2, 1.8),而且雙方都對該狀態進行了簽名

任何程序都有計算和狀態,區塊鏈上運行的程序(DApp)自然也不例外,在分層架構上構建應用時,需要考慮在哪裡產生狀態,在哪裡驗證狀態,在哪裡保存狀態。由於狀態的生成和驗證分離,狀態生成的方法可以和驗證解耦,狀態生成不必被Layer 1 的編程模型綁定,具有更大的自由度。只要能通過Layer 1 驗證,狀態的生成甚至可以是中心化的(事實上大部分Plasma 協議中只有一個Operator!)。

二級標題

二級標題

二級標題

Layer 1 應該做什麼
我們在說「計算」的時候,實際上說的是「狀態生成」。在一般的計算模型裡面,不存在信任和安全問題(我的CPU 不會用假的結果騙我),所以生成就好,不考慮驗證;但是在區塊鍊網絡裡面,我們不僅需要生成,還需要驗證。 Layer 1 的關注點應該是狀態的驗證和存儲,而不是狀態生成(希望你沒有被繞暈……)。
由此我們終於可以推出Layer 1 應該做什麼:
1.需要一個安全的共識協議,範圍越大越好。基於PoW 的Nakamoto Consensus 正是這樣一個協議,這是唯一一個在現實環境中經過驗證的全球共識。

2.需要可編程能力,以支持各種狀態驗證邏輯,這意味著我們需要一個強大的編程模型(狀態模型+虛擬機)。https://talk.nervos.org/t/layer-1/1486


开发者
歡迎加入Odaily官方社群