公鏈是加密經濟時代最大的基礎設施之一,有機會參與創造數萬億美元級別以上的大市場。它在開放金融、dApp以及價值存儲方面都有捕獲價值的機會。公鏈有別于中心化公司構建的平臺,它是無須許可的設施,所有人都可以在它的設施上搭建應用和創造價值,這是前所未有的形態。這讓公鏈有機會成為區塊鏈領域最大的價值捕獲者之一。
圣杯級別的大市場,決定了公鏈市場一直不會平靜。藍狐筆記一直非常關注公鏈領域的發展,而Nervos也是藍狐筆記重點關注的項目。為什么Nervos值得關注?
Nervos要攪動公鏈市場格局
比特幣開啟了加密貨幣,而以太坊開啟了智能合約。比特幣誕生之后,為解決比特幣交易延遲、費用高等問題,涌現了一大堆競爭幣。以太坊出現之后,為解決交易吞吐量、費用高、延遲等問題,也涌現了不少公鏈。
藍狐筆記關注過不少公鏈,Nervos的白皮書是為數不多的能把區塊鏈的事情說得很清楚的白皮書,它直接地反映了團隊的深厚功力,以及對區塊鏈技術和加密經濟模式的深入理解。基于這樣的原因,藍狐筆記很愿意看到Nervos項目在接下來的落地實踐。目前通用公鏈市場,其實跨鏈項目本質上也算,已經有非常多的項目在推進。而Nervos能否在高手如云的公鏈市場中開拓出自己的一番天地,甚至取得更大突破?讓我們看看未來會發生什么吧。
由于Nervos對區塊鏈技術和加密經濟的清晰理解,它有機會成為公鏈市場上的新鯰魚,攪動公鏈市場的格局,以取得更大突破。那么,Nervos Network到底是什么?
Nervos Network的哲學:順勢而為中的堅守
從Nervos Network設計中可以看出它對整個公鏈所處階段的理解,包括對比特幣和以太坊的兩大標志性公鏈的理解,在此基礎上,Nervos提出了自己的發展路徑。
公鏈本質是一個無須許可,任何人都可以參與的網絡。它的核心在于去中心化和安全。這是區塊鏈存在的最大意義。公鏈在這個方面不能妥協。只有去中心化和安全,才能讓公鏈真正不可逆轉,實現不依賴于任何第三方的信任。
基于對公鏈核心特性的深刻認知,Nervos Network沒有考慮在其底層上進行妥協,所以,它沒有采用dpos之類的共識協議來實現性能的提升。
Nervos Network的layer 1區塊鏈是Nervos CKB(Common Knowledge Base),也就是公共知識庫。Nervos所指的公共知識庫可以理解為一種公開、透明、不可逆轉的事實,通過去中心化的機制來記錄和保存,是人人皆可讀取的事實,由此稱為公共知識,交易、狀態、數據等都可包括在內。CKB采用PoW的共識機制,這使得它有抗審查和自運轉的能力。它允許任何節點自由參與。
上面我們提到了公鏈的優點,不可篡改、可信、安全等,但由于它需要在所有節點之間達成共識,并且在所有節點中復制相同的記錄,這意味著,在區塊鏈上存入任何數據,其成本都是非常高的,且性能是存在瓶頸的。
也就是說,公鏈上的交易不僅很貴,而且很慢。但這就是區塊鏈實現去中心化和安全所付出的代價。為了解決這個問題,當前有不同的路徑,有分片,有layer 2,甚至對共識機制上進行優化等。行業中有很多不同妥協和改進,也有堅守。但能做到兩全的很少。
此外,目前的公鏈項目對于共識和計算成本有很多考慮,但對于數據和狀態的存儲成本考慮較少。且加密貨幣價格波動大,加密貨幣價格上漲時,對于普通用戶來說,在公鏈上的操作成本過于昂貴,這也阻礙了它向主流人群擴展的腳步。
Nervos Network承認了layer 1的特點,它把擴展問題放到了layer 2。Nervos認為layer 1要達成共識,要實現去中心化和安全,本身很貴,性能也有瓶頸,這是一種代價,是一種現實。它并不是試圖改變這一點,而是順應這一點,并把擴展的路徑放到了layer 2。
Nervos把狀態生成和驗證分離,把計算放到了鏈下,滿足性能的需求,順應現有應用的規模,開發者可根據自己的業務特色,采用不同的共識機制,最終把狀態托管到layer 1,這樣在兼顧性能和安全上達到了一種均衡。
這是一種順勢而為的哲學,承認layer 1的根本特性和弱點,通過與layer 2結合,兼顧不同程度的安全和性能的需求,推動加密經濟走向主流人群采用。
總結來說,Nervos Network的哲學是,堅守公鏈的根本特性,延續比特幣和以太坊的精華,但在此基礎上,順勢而為,通過分層架構的均衡設計,以實現公鏈潛力的最大化。除了順勢而為,Nervos Network的設計中,在可持續性上做了很多考慮,這也是值得關注的一個方面。
Nervos的架構:分層設計
有什么樣的哲學,就有什么樣的設計。Nervos對公鏈的理解,決定了它的設計方向。Nervos采用了分層的設計。具體來說,它的layer 1負責全球共識、負責安全,layer 2負責可擴展,承擔大部分的應用工作,實現低延遲和高隱私。同時,layer 1和 layer 2緊密協作。Layer 1主要用于定義和存儲狀態,layer 2主要處理大部分交易以及生成新狀態。也就是說,未來的大規模的網絡活動會發生在layer 2,而layer 1服務于最終狀態的存儲,為layer 2的網絡活動提供不可逆轉的記錄、共識和安全。
如此可見,Nervos通過分層設計,對狀態和計算進行解藕,從而讓layer 1和layer 2各司其職,各自發揮更大的作用。Layer 1提供最基礎的全球共識,layer 2則具備靈活性和可擴展性。
有了Nervos layer 1的基礎,Nervos layer 2的狀態生成有了更多的靈活性。layer 2的狀態生成可以來自于私有鏈,來自于無須許可的公鏈,也可以來自于狀態通道,甚至還可以來自現有的網絡服務(如互聯網公司可以將關鍵數據上鏈)、以及客戶端本地生成的狀態。
比特幣和以太坊的layer 2也可以發展,為什么還需要Nervos的 layer 2呢?比特幣的閃電網絡由于套利模型相對于以太坊的Defi并沒有展示出更大的空間,在其前期快速發展一段時間之后,進入了瓶頸期,它需要找到更好的經濟模型,且還受制于比特幣的底層協議。以太坊的鏈下擴容方案受制于其經濟模型,且以太坊是面向計算的設計,交易并發的執行較難,存在一定的擴容瓶頸。
作為公鏈,Nervos CKB有共識機制、有它的虛擬機、有它的加密經濟機制、有它的點對點通信網絡等。其中讓人印象最深刻的是它的編程模型、加密經濟機制以及共識機制。這也是理解Nervos特色的最重要的方面,其中的核心關鍵詞包括CKB虛擬機、Cell模型、代幣的二級發行。
1.對ASIC中性化的PoW機制
Nervos CKB的共識機制也是PoW機制,它基于比特幣的中本聰共識進行了不少優化。首先是盡可能讓更多節點參與進來挖礦。
既然是基于工作量的挖礦證明,任何節點都可以自由進入和退出,無須許可,但與此同時,也帶來了用戶為什么要參與挖礦以及如何實現在節點不可信的情況下最終結果可信的問題?比特幣通過挖礦的代幣獎勵機制、非對稱加密、拜占庭容錯等來解決這一問題。
Nervos Layer 1的CKB共識也是無須許可挖礦,每個節點自由進入和退出,節點可以參與挖礦生產新區塊,也可以驗證區塊有效性參與共識。為了實現去中心化,讓更多的節點能參與進來,CKB 采用的是對ASIC中立的PoW算法,可以避免挖礦走向中心化。
此外CKB共識機制在保留中本聰共識優點的同時,還針對中本聰共識的一些不足(如性能低和自私挖礦等)進行了優化。它可以減少區塊傳播延遲,縮短區塊產生的時間間隔,同時增大對自私挖礦的阻力,讓自私挖礦無利可圖。
CKB共識協議通過將中本聰共識的交易確認分解為提案和提交兩個步驟來消除區塊傳播的瓶頸。交易如果將其txid發布到區塊或叔塊,則打包到提案區,如果交易在提案后的幾個周期中出現在提交區,則打包該交易。由于新塊中的已提交交易已被所有節點接收并在提交時驗證,兩步確認規則可消除傳播瓶頸。此外CKB共識協議將所有孤塊看作為叔塊,并據此預估區塊傳播延遲,動態調整區塊間隔,以縮短延遲提高吞吐量。
Nervos提出其挖礦機制要實現最終一致性、可用性和公平性,包括所有節點看到完全相同的副本、在合理的時間內對請求進行響應,確保礦工的投入能夠得到公平回報。
2. Cell模型與CKB虛擬機
CKB編程模型是帶狀態的圖靈完備的編程模型,它基于自己的虛擬機和獨有的Cell模型。CKB的編程模型主要包含狀態生成、狀態驗證以及狀態的存儲。
在Nervos CKB的設計中,跟其他去中心化應用不同的是,基于CKB的去中心化應用,其狀態的生成和驗證是分離的。也就是說,狀態的生成和驗證在不同的地方執行,且可以采用不同的算法實現。將狀態生成和驗證解藕為系統的擴展性和應用的大規模采用奠定了邏輯的基礎。
首先是狀態在鏈下生成(例如本地客戶端執行),新狀態生成后會被打包到交易并廣播到網絡。CKB的節點在鏈上執行驗證,輸入相同的前置狀態和用戶輸入,驗證結果是否跟交易輸出相同。客戶端生成的新狀態是交易的輸出,也是CKB中提到Cell。Cell是CKB中最基本的狀態存儲單元,這在下文的Cell模型會提及。
CKB的狀態生成和驗證分離的設計有幾個好處:由于交易輸入的是鏈下生成的新狀態(也就是結果),它無須在鏈上進行計算生成新狀態(這跟多數公鏈不同),這樣對應用來說,新狀態是確定的,在鏈上進行的交易只是驗證。此外,它還可以實現并行處理、實現更高效的資源利用(因為應用的邏輯被分離,且在不同地方執行)、更靈活的狀態生成等。
接下來重點介紹Cell模型,這是Nervos獨有的設計。
Cell是Nervos CKB中最基本的狀態存儲單元,用戶可以在其中包含任意的狀態,也是用戶擁有的資產。Cell由容量、數據、類型腳本、鎖定腳本字段組成。容量代表Cell的大小限制。數據主要是狀態數據在Cell中的存儲,它的總字節數不能大于Cell的容量。類型腳本就是驗證狀態的腳本,鎖定腳本則代表了Cell的所有權。
Cell存儲的是狀態,也是不可篡改的,每個Cell不能同時作為兩個不同交易的輸入,一旦用戶提供包含新狀態的Cell,存儲舊狀態的Cell會被標記為歷史數據。也就是說,所有包含新狀態的Cell代表了CKB的最新共同知識。
由于擁有類型腳本和鎖定腳本,Cell模型跟比特幣的UTXO模型和以太坊的賬戶模型相比,更加通用。UTXO模型使用鎖定腳本定義資產所有權,賬戶模型則根據余額來定義資產所有權。Nervos CKB通過類型腳本和鎖定腳本的設計,帶來一些好處,例如可以方便創建M-N多簽腳本,實現多重簽名;可以把閑置Cell租借給其他人,同時還擁有對Cell的所有權等。
最后是Nervos CKB的虛擬機。虛擬機是通過軟件模擬的擁有硬件系統功能的完整計算機系統,它運行在完全隔離的環境中。CKB虛擬機用于執行類型腳本和鎖定腳本,它使用的是標準的RISC-V指令集。
Nervos CKB虛擬機有兩個值得關注的特色:一是,它是一個跟密碼學操作無關的虛擬機;二是,它是一個面向硬件的指令集架構。這有什么好處?
跟以太坊不同的是,CKB虛擬機沒有將任何密碼學指令寫死在CKB虛擬機上。比特幣和以太坊都將密碼學原語寫死在協議中,如果需要新增密碼學原語,只能通過軟分叉或硬分叉方式實施。Nervos的CKB虛擬機能像普通腳本一樣部署和使用新密碼學原語。這樣就帶來了靈活性,例如dApp開發者可以在Nervos上使用新的加密技術,例如Schnorr簽名、BLS簽名、zkSNARKs等。
CKB虛擬機使用標準RISC-V指令集,也有利于其獲得更多的產業支持。此外,RISC-V是面向硬件設計的指令集,有穩定的特性,利于在無須硬分叉的情況下實現與生態系統的兼容性。
最后,來看看Nervos的交易過程。交易的本質是狀態的變化。Nervos的每筆交易都會導致Cell的轉移或更新。每筆交易的狀態變化要么全部成功,要么全部失敗。交易包括依賴、輸入以及輸出。依賴是指提供驗證交易所需要的只讀Cell。輸入則包含了Cell引用和證明。Cell引用指向交易中要被轉移或更新的Cell;證明主要用于驗證交易創建者交易權限。輸出就是狀態發生變化所產生的新Cell。
Nervos CKB的二級發行:可持續發展之路
讓人耳目一新的還有Nervos的代幣經濟學設計,它不僅要保證安全,還要實現長久的安全,也就是實現分布式網絡的可持續性。
區塊鏈代幣經濟機制的最核心目的是要實現其系統的安全。而激勵是它實現目的的手段。它充分利用了博弈論,不同的主體做出貢獻不僅利于自身利益最大化,也利于整體系統的發展。
隨著時間的推移,比特幣網絡的btc逐漸形成了價值存儲和交易媒介的功能。但如果考慮到它每四年區塊獎勵減半的發行模式,它的安全性如何實現可持續?比特幣的安全來源于網絡的價值,比特幣價值越高,算力競爭越激勵,攻擊其網絡的成本就越高。由于比特幣每四年減半,2020年5月份中旬,區塊獎勵將其從12.5個btc減少到6.25個btc,相當于每天新發行的btc從1800個直接減少到900個,2024年還會繼續減半。從目前的礦工收益來看,按照目前價格每天大約在2000多萬美元,區塊獎勵占據礦工收益的絕大部分,而交易費占據比例很小。一旦代幣獎勵變小或者消失,那么,礦工只剩下交易手續費的收益。
與此同時,在比特幣的設計中,它對區塊大小進行了限制,它交易處理能力有天然的限制,這意味者手續費模式可能無法為礦工帶來足夠的激勵。因為交易的規模不可能很大,而且很多持有者交易的次數并不頻繁。以手續費維持礦工的收益水平可能無法持續。如果礦工的收益得不到保證,那么礦工有什么意愿來貢獻算力?如果礦工得不到恰當的激勵,那么比特幣的網絡就無法得到可持續的安全。這是比特幣未來需要解決的問題。
CKB的代幣經濟模型希望激勵用戶、開發者和節點運營者持續為安全做貢獻。跟多數區塊鏈不同的是,CKB經濟模型的核心對象不是計算,而是狀態。它對利益相關者的獎勵通過Cell容量和交易費。
目前Nervos CKB主要的成本來自于狀態的驗證和存儲。全節點驗證新狀態需要付出計算成本,狀態的存儲需要全節點持續提供磁盤空間。CKB針對存儲空間成本作了更合理的設計,使用Cell的用戶,其付出的存儲成本同時跟時間和空間相關。也就是占用容量越大、占用時間越長,用戶要付出的成本越高。這樣設計的好處是用戶占用Cell容量,就要付出更多狀態成本,這促使用戶做出更理性的選擇:盡可能少地產生Cell,提高存儲效率,同時把閑置的Cell租借給其他人。
除了存儲成本,對Cell狀態的更新或轉移都會產生交易費用。礦工設定交易的費率,由市場決定實際的交易費用。另外,Nervos的交易費采用了經濟抽象,也就是礦工可以接收CKB的原生資產作為交易費用,也可以接收其他自定義的資產作為交易費用。這也是因為其原生資產的核心在于保護CKB共同知識的存儲安全,而不是計算為中心。這樣可以提供更好的用戶體驗。
Nervos的原生代幣是CK Byte,代表了Cell的空間。比如一個人擁有100個CK Bytes,TA就可以創建空間大小為100 Bytes的一個或多個Cell。這個空間可以用來存儲資產、應用狀態或其他數據。
上面提到CKB的代幣激勵機制考慮了其長期的可持續性。為什么這么說?CKB有一個二級發行的機制。為什么叫二級發行?它是相對于基礎發行來說的。比如比特幣的區塊獎勵就是基礎發行,每4年減半一次。而CKB除了跟比特幣一樣有減半的基礎發行之外,還有額外的二級發行。
為什么會有二級發行?這不是產生通脹嗎?這里首要考慮的是鏈的可持續的安全。它可以激勵礦工持續為鏈提供貢獻,同時,對于代幣的持有人來說,通過同比發放代幣,也不用擔心稀釋問題。
在Nervos的Layer 1,其原生代幣代表的是對全局狀態的占用。它是一種稀缺的資源,它會限制狀態存儲的增長。因此,它在市場上會因為其資源的稀缺性而變得有價值。
基礎發行減半模式意味著兩個事情:一是,原生代幣的基礎發行逐漸減少,由于原生代幣代表了對全局狀態的占用,隨著對全局狀態存儲空間需求的增加,原生代幣能夠捕捉到Nervos整個生態增長的價值。二是,如果原生代幣發行完畢,礦工的收益將有限,對系統的維持安全不利。
在這樣的背景下,Nervos CKB二級發行的設計出現了。Nervos CKB考慮了存儲狀態的時間屬性,不是采用一次性收費然后完結的方式。它通過二級發行,相當于對使用原生代幣CK Byte存儲狀態的用戶收取狀態租金,也類似于通脹稅。
而有些用戶并沒有使用原生代幣CK Byte存儲狀態,因為有二級發行,他們也承擔了通脹。這個時候怎么辦?Nervos有一個NervosDAO,它允許用戶將其原生代幣CK Byte鎖在一個自動合約NervosDAO中。所有將原生代幣CK Byte鎖入其中的用戶,都能獲得二級發行的相應比例代幣。
舉個例子,如果所有CK Byte的50%被用戶用于存儲狀態,所有CK Byte的30%鎖定于NervosDAO合約,剩余20%處于流動中。在這種狀態下,二級發行怎么分配?二級發行的出塊獎勵中,50%會獎勵給礦工,30%會按比例分配給在NervosDAO中鎖定代幣的用戶,剩余20%的代幣,通過社區的治理機制來處理,在達成治理共識之前,這部分代幣會被燒毀。
這個二級發行機制根本目的是保持系統的可持續的安全。礦工在挖礦時,不僅可以獲得基礎發行的代幣獎勵和交易手續費,還可以根據狀態存儲占用獲得一定比例的二級發行代幣。將來基礎發行完畢之后,礦工可以繼續獲得狀態租賃收益,維持系統長期安全。同時,它的NervosDAO設計還兼顧了持幣者的利益,不用擔心代幣稀釋問題。
Nervos CKB原生代幣CK Byte如何捕獲價值?
CK Byte捕捉價值從兩個方面來看,一個是對存儲空間的需求規模。由于CK Byte代表了對全局狀態空間占用。隨著越來越多的應用將其最新狀態(資產或數據等)存儲在Nervos CKB上,那么對CK Byte的需求就會增加,原生代幣的流通量減少,CK Byte的價值會提升。也就是說,CK Byte的價值跟Nervos CKB網絡經濟的總價值相關,最終CK Byte的價值有多高,取決于對Nervos CKB鏈上狀態托管的需求規模有多大。
二是,由于CKB有二級發行機制,為了避免被稀釋,代幣持有人也有動力將其代幣鎖定在NervosDAO上,這有利減少流通量和降低流通的速率。
此外,Nervos CKB的代幣價值提升能讓所有參與者獲益,存儲資產用戶的資產更加安全、礦工的收入更高、代幣持有者的代幣更有價值、開發者可以存儲更大的價值。代幣的價值越高,就越能激勵更多人參與,從而提升系統的安全性和實現可持續。
如果將來原生代幣CK Byte價格比較貴,早期的開發者可以采用租賃的形式來進行項目的啟動,以較低的成本來完成產品的市場驗證;此外,也可以將CKB上資產轉移到Nervos網絡中其他交易型的區塊鏈,以降低成本。
結語
通過layer1和layer2的分層設計,Nervos CKB 讓它們各自發揮自身的優勢,從而兼顧安全和性能,為構建大規模人群采用的dApp準備了基礎設施。此外,它的二級發行的代幣激勵機制使其解決了分布式系統長期可持續性發展的問題。Nervos在公鏈設計上有不少自身的特色,這讓人期待它的落地和后續發展。
評論
查看更多