摘要:正因為會驗證產(chǎn)生的狀態(tài),我們才能夠做到通過保證的安全,因為的用戶在遇到問題時,總是可以請求來做某種形式的驗證這是為什么可以看作是,因為它是一個能識別密碼學證明的法院。
Nervos Approach
Nervos Network 的技術目標是設計一個分層的加密經(jīng)濟網(wǎng)絡。這樣一個出發(fā)點帶來的是一個與眾不同的設計思路,我們自己把它稱為「Nervos Approach」:
如果我們認為分層是未來的發(fā)展方向,我們應該從一開始就考慮到上層協(xié)議和分層網(wǎng)絡的需求,在分層的大框架下設計區(qū)塊鏈協(xié)議。
換句話說,從分層的角度來看,現(xiàn)有的區(qū)塊鏈設計方式都是過時的?,F(xiàn)有的區(qū)塊鏈在設計時考慮的是特定的功能(例如支付,或者是運行 DApp),并希望在運行一段時間后,讓上層協(xié)議來適應自己。然而如果我們閱讀互聯(lián)網(wǎng)的歷史就知道,今天互聯(lián)網(wǎng)的協(xié)議分層不是這樣打補丁打出來的,相反是在吸收過去經(jīng)驗之后基于分層的思路重新設計出來的(是的,互聯(lián)網(wǎng)協(xié)議也是分層的,我們說的 TCP/IP 實際上是兩個協(xié)議的名字)。Nervos Approach 是向互聯(lián)網(wǎng)學習的產(chǎn)物。
這是為什么區(qū)塊鏈并不天然是 Layer 1,Layer 1 是需要設計的。這也是為什么我們選擇設計 CKB 這樣一個新的區(qū)塊鏈協(xié)議的原因。
Layer 1 vs. Layer 2要弄清 Layer 1 應該做什么,首先要弄清楚它和上層協(xié)議的區(qū)別。Layer 2 起源于我們發(fā)現(xiàn)公有鏈(這里指 Permissionless Blockchain)的性能不足,很難擴容到滿足整個加密經(jīng)濟體需求的水平,同時我們又非常迷戀公有鏈提供的可用性和極大的服務范圍,因此慢慢演化出了一系列可以由區(qū)塊鏈來保證安全的 Layer 2 協(xié)議,例如支付通道(Payment Channel),Plasma,etc.
這些協(xié)議的共同特點是犧牲共識范圍來換取性能。公有鏈最讓人驚艷的地方是通過開放網(wǎng)絡,提供不間斷的覆蓋全球的服務,這意味著全球共識,也意味著性能低下。解決這個問題的最好方式是將大部分交易轉(zhuǎn)移到共識范圍更小,但是性能更好的上層協(xié)議中,并且保證上層協(xié)議的參與者總是可以在不滿意的時候退回到區(qū)塊鏈上來解決問題,代價僅僅是一些時間成本。
因此作為 Layer 1 的區(qū)塊鏈,關注點顯然不應該是性能,因為 Layer 2 會承擔這個職責。Layer 1 是保障上層協(xié)議參與者的最后防線,它的關注點應該是安全和去中心化(安全和去中心化是兩個東西,有時間再展開)。如果我們觀察 Layer 2 協(xié)議與 Layer 1 交互的模式,我們還會發(fā)現(xiàn),Layer 1 負責的是狀態(tài)共識(存儲),Layer 2 負責的是狀態(tài)生成(計算)。
計算與狀態(tài)程序員的世界中有一個流傳甚廣的公式:程序 = 算法 + 數(shù)據(jù)結構。這個等式指出了程序設計的兩個核心關注點,計算(算法,即計算的步驟)與數(shù)據(jù)(計算的對象)。而數(shù)據(jù)又可以分為兩種,程序輸入(外部數(shù)據(jù))和狀態(tài)(內(nèi)部數(shù)據(jù))。
計算機科學中的「狀態(tài)」一詞可以理解為程序在運行時,某個特定時刻可訪問的一切數(shù)據(jù)。程序中有變量,變量通常代表著內(nèi)存中的一個可以存放數(shù)據(jù)的位置,這個位置的內(nèi)容就是程序的狀態(tài)。一段程序的輸出完全取決于它的輸入和其開始執(zhí)行時的狀態(tài)。計算(CPU)、輸入/輸出(IO)與狀態(tài)(內(nèi)存)構成了完整的馮諾依曼體系,今天最流行的計算架構。
以支付通道為例在支付通道中,Layer 2 的共識范圍縮小到兩人之間,這是最小范圍的共識。參與通道的兩人進行的操作如下:
1.向 Layer 1 發(fā)送交易建立通道,鎖定特定的狀態(tài),鎖定的狀態(tài)只有用 Alice 和 Bob 雙方的簽名才能更新
a.例如,Alice 鎖定 1 BTC,Bob 鎖定 1 BTC,我們用(1, 1)表示在 Layer 1 鎖定的狀態(tài)
2.雙方通過鏈外的網(wǎng)絡連接(Layer 2),產(chǎn)生并交換新的狀態(tài),各自簽名
a.Alice → Bob 0.5 BTC,Alice/Bob 在本地保存的新狀態(tài)為(0.5, 1.5) b.Bob → Alice 0.1 BTC, Alice/Bob在本地保存的新狀態(tài)為(0.6, 1.4) c.… d.最后一次交換后,Alice/Bob 在本地保存的新狀態(tài)為(0.2, 1.8),而且雙方都對該狀態(tài)進行了簽名
3.向 Layer 1 發(fā)送最終的狀態(tài),Layer 1 驗證最終提交的狀態(tài)有 Alice/Bob 雙方的簽名,更新鎖定的狀態(tài)為(0.2, 1.8)并解鎖
從這個例子我們很容易看到,在整個過程中,我們通常討論的計算分成了兩個部分進行:新狀態(tài)的生成,新狀態(tài)的驗證。前者發(fā)生在 Layer 2,而后者發(fā)生在 Layer 1。如果我們觀察其他的 Layer 2 協(xié)議,例如 Plasma 或者是 TrueBit,很容易得到類似的結論。正因為 Layer 1 會驗證 Layer 2 產(chǎn)生的狀態(tài),我們才能夠做到通過 Layer 1 保證 Layer 2 的安全,因為 Layer 2 的用戶在遇到問題時,總是可以請求 Layer 1 來做某種形式的驗證(這是為什么 Layer 1 可以看作是「Crypto Court」,因為它是一個能識別密碼學證明的「法院」)。
因此在分層架構下,Layer 1 的關注點應該是狀態(tài)的驗證(和存儲),Layer 2 的關注點應該是狀態(tài)的生成。通過將狀態(tài)的生成轉(zhuǎn)移到 Layer 2,將生成和驗證分離,我們的分層網(wǎng)絡兼顧了性能(Layer 2)、安全和去中心化(Layer 1)。
任何程序都有計算和狀態(tài),區(qū)塊鏈上運行的程序(DApp)自然也不例外,在分層架構上構建應用時,需要考慮在哪里產(chǎn)生狀態(tài),在哪里驗證狀態(tài),在哪里保存狀態(tài)。由于狀態(tài)的生成和驗證分離,狀態(tài)生成的方法可以和驗證解耦,狀態(tài)生成不必被 Layer 1 的編程模型綁定,具有更大的自由度。只要能通過 Layer 1 驗證,狀態(tài)的生成甚至可以是中心化的(事實上大部分 Plasma 協(xié)議中只有一個 Operator!)。
Layer 1 應該做什么我們在說「計算」的時候,實際上說的是「狀態(tài)生成」。在一般的計算模型里面,不存在信任和安全問題(我的 CPU 不會用假的結果騙我),所以生成就好,不考慮驗證;但是在區(qū)塊鏈網(wǎng)絡里面,我們不僅需要生成,還需要驗證。Layer 1 的關注點應該是狀態(tài)的驗證和存儲,而不是狀態(tài)生成(希望你沒有被繞暈……)。
由此我們終于可以推出 Layer 1 應該做什么:
1.需要一個安全的共識協(xié)議,范圍越大越好?;?PoW 的 Nakamoto Consensus 正是這樣一個協(xié)議,這是唯一一個在現(xiàn)實環(huán)境中經(jīng)過驗證的全球共識。
2.需要可編程能力,以支持各種狀態(tài)驗證邏輯,這意味著我們需要一個強大的編程模型(狀態(tài)模型+虛擬機)。
3.需要能夠理解各種密碼學證明,因為區(qū)塊鏈協(xié)議是基于密碼學構建的,Layer 1 與 Layer 2 之間傳遞的證明是密碼學證明。
4.需要管理好狀態(tài),因為經(jīng)過驗證的狀態(tài)會留在 Layer 1 上。這意味著我們需要一個關注狀態(tài)的經(jīng)濟模型。
關于 Nervos
Nervos Network 由 Nervos 基金會推動,通過分層設計,兼顧性能、安全以及去中心化的特性,滿足多樣化的商業(yè)場景需求,為未來加密經(jīng)濟提供基礎設施。
關于 CKB
Nervos Common Knowledge Base(CKB)是一個無需許可鏈,它是 Nervos Network 的基礎層,并在設計上提出了一些理念:
CKB 共識協(xié)議 NC-MAX 使用兩階段提交節(jié)約帶寬,并根據(jù)網(wǎng)絡情況調(diào)整自身參數(shù),提升了 Nakamoto Consensus 的可擴展性
CKB 虛擬機采用底層 CPU 指令集架構 RISC-V 開發(fā),提供更高的開發(fā)彈性與運行的穩(wěn)定性
CKB Cell Model 是比特幣 UTXO 模型的通用化,能夠驗證和存儲任何類型的數(shù)據(jù)
CKB 經(jīng)濟模型用貨幣政策限制狀態(tài)存儲的增長,并實現(xiàn)智能合約平臺的價值存儲功能
原文鏈接:https://talk.nervos.org/t/lay...
文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/24661.html
摘要:秘猿科技區(qū)塊鏈小課堂第期的技術目標是設計一個分層的加密經(jīng)濟網(wǎng)絡。換句話說,從分層的角度來看,現(xiàn)有的區(qū)塊鏈設計方式都是過時的。 從分層的角度來看,現(xiàn)有的區(qū)塊鏈在設計時考慮的是特定的功能(例如支付,或者是運行 DApp),并希望在運行一段時間后,讓上層協(xié)議來適應自己。然而區(qū)塊鏈并不天然是 Layer 1,Layer 1 是需要設計的。在分層的大框架下,上層協(xié)議和分層網(wǎng)絡分別有著怎樣的需求?...
摘要:會議中,來自全國各地的近千名區(qū)塊鏈愛好者齊聚一堂,共同探討最新的區(qū)塊鏈技術發(fā)展。呂國寧在開放日活動中,做了下一代區(qū)塊鏈底層基礎設施的主題分享。區(qū)塊鏈的核心價值是什么我們認為,區(qū)塊鏈的核心價值是提供信任。 showImg(https://segmentfault.com/img/bVbsM64?w=1080&h=720); 5 月 16 日,由杭州市金融辦指導,巴比特主辦的 2019 杭...
摘要:在年,我們正式作為公鏈的實現(xiàn)者,開啟了加密經(jīng)濟生態(tài)的構造中。來保證安全和去中心化,絕對可靠可信它能做到全球共識,并作為加密法院,通過智能合約設計的規(guī)則進行仲裁,以經(jīng)濟激勵的形式將信任傳遞到上。 在 2016 年秘猿科技成立之初,我們就認為共識是分層的,最下面最基礎、最昂貴、最慢的,是全世界范圍的共識。但是我們一層一層往上看的話,共識范圍會越來越小,那么上面共識范圍更小的地方,是不是要用...
摘要:自我保障協(xié)議與加密經(jīng)濟加密經(jīng)濟是區(qū)塊鏈發(fā)展多年以后形成的全新經(jīng)濟體。根證書頒發(fā)機構為互聯(lián)網(wǎng)創(chuàng)造信任,它們是整個互聯(lián)網(wǎng)信任體系的引擎。的信任引擎區(qū)塊鏈是創(chuàng)造信任的機器,是一個不依賴任何第三方的由算法和經(jīng)濟激勵維護的的網(wǎng)絡。 在上一篇中,我們暢想了區(qū)塊鏈的未來。秘猿科技在行業(yè)內(nèi)有著豐富的工程實踐經(jīng)驗,在多年的實踐中,我們不禁思考:區(qū)塊鏈技術到底能用來干什么?區(qū)塊鏈是要像以太坊一樣成為世界計...
摘要:的價值捕獲的代幣的存在是為了讓這條底層公鏈能夠抵抗攻擊。分別存在論證可以支撐的通脹率,但幾乎沒有用戶會選擇一個全球的無國界的但是每年通脹大于的貨幣。 著名區(qū)塊鏈投資機構 Multicoin Capital 近期推出《On Value Capture at Layers 1 and 2》一文,解釋了 Layer 1 和 Layer 2 的協(xié)議究竟如何捕獲價值: Layer 1 Token...
閱讀 819·2023-04-25 20:18
閱讀 2104·2021-11-22 13:54
閱讀 2546·2021-09-26 09:55
閱讀 3912·2021-09-22 15:28
閱讀 2981·2021-09-03 10:34
閱讀 1718·2021-07-28 00:15
閱讀 1644·2019-08-30 14:25
閱讀 1288·2019-08-29 17:16