軟件開發和架構設計之間有著深厚的聯繫,這可以從兩者所使用的詞彙中看出,例如:基礎設施、模塊、框架等。這種有趣的聯繫給了我這次回顧的靈感——我們可以使用建築史上的概念來回顧2022 年Nervos 的技術發展。
「新陳代謝(Metabolism)」是20 世紀60 年代戰後日本的一場建築運動。他們的獨特見解是將建築視為一個活的有機體,通過與環境的相互作用而發生變化,並對環境產生積極的影響。
Nakagin Capsule Tower, Kisho Kurokawa, 1970
同樣地,Nervos 也將區塊鍊網絡視為一個生命體,它從環境中吸收能量並不斷生長,通過與環境的相互作用形成新的獨立的記憶和功能,將人類的組織形式推向一個新的階段,並最終成為人類社會的神經網絡。
作為新陳代謝運動的知識領袖和主要倡導者,Kiyonori Kikutake 對海洋城市的遠見卓識也同樣令人印象深刻。在現代社會陸上人口不斷膨脹、海平面不斷上升的背景下,人類從陸地遷移到海洋的夢想又重新回到了人們的面前。 Kikutake 作為「新陳代謝」主義的核心成員,於1959 年提出了他最初的「海洋城市」概念,將海洋城市視為新的人類社區的基本單位。
Floating Structure of Kikutake’s「Marine City」, 1960
同樣,今天的互聯網也面臨著用戶增長放緩和市場高度飽和的現狀。互聯網平台高度中心化,已經成為吞噬用戶數據的猛獸。互聯網已經背離了自由和開放的初衷,變成了一頭吞噬用戶數據的猛獸。這是我們重塑互聯網和構建Web3 願望背後的驅動力。如果我們能從陸地轉移到海洋和外太空,我們也可以從Web2 轉移到Web3。
感謝Shan Lin 和Yan Niu 介紹了新陳代謝這場建築運動,感謝Annie Peng 的編輯,讓文章更具可讀性。
Layer 1:由Cell 驅動的新陳代謝
Nakagin Capsule Tower, Kisho Kurokawa, 1970
與CKB 一樣,新陳代謝主義最具代表性的建築作品、Kurokawa Kisho 設計的Nakagin Capsule Tower,也是圍繞著「cells」展開的。每個「cell」都是一個易於拆卸和重組的立方體空間,就像膠囊公寓一樣。對於居住者來說,「cell」承載著他們日常生活的記憶。此外,「cell」具有靈活的流動能力,就像在整個城市裡循環的活細胞一樣。
CKB 的設計以「Cell」為基本單元,來存儲被稱為「Common Knowledge」的集體共識維護的各類數據。 CKB Cell 的靈活性由類似DNA 的Cell 腳本實現,該腳本編碼不同的行為規則。 CKB Cell 還具有生命週期,通過不斷地消費和創造來驅動CKB 的新陳代謝。
CKB 的首次硬分叉
CKB 在2022 年成功激活了它的第一個主網硬分叉,告別了Lina 並迎來了新主網Mirana。 Mirana 是自CKB 於2019 年推出以來兩年努力的結果——包括虛擬機版本控制,可擴展的區塊頭,對密碼學友好的指令集(如RISC-V B 擴展)等等。硬分叉後,CKB 地址格式也進行了升級,為用戶提供更一致的跨應用體驗。
在這個過程中,我們學到了很多東西。最困難的事情是向礦工、礦池、交易平台、錢包和開發者等生態參與者解釋硬分叉後會發生什麼。協助他們進行升級和測試;確保每個人都在硬分叉激活之前做好準備。協作很困難,但很值得;這就是我們願意為真正的權力下放付出的代價。感謝大家,讓網絡升級順利進行!
CKB-VM RVV Extension
CKB-VM RVV (RISC-V Vector Extension) 在CKB-VM 的基礎上增加了向量支持,這樣它就可以使用單個指令集處理多個數據元素。儘管實現RVV 指令的工作量很大,但我們仍然完成了所有指令的實現,開發了完整的功能、兼容性和模糊測試(RVV 是如此之新,以至於沒有成熟的測試工具),遷移了一些加密算法,並進行了幾輪優化。我們最近的評估顯示,在CKB-VM(例如bn128)上運行的加密算法,其潛在減速不到10 倍,這比其他虛擬機的減速要短得多。
儘管我們已經取得了很大進展,但將其投入生產所需的工作量很難估計,所以最好的選擇是在下一次硬分叉進行投入生產。
輕客戶端
2022 年,我們完成了CKB 輕客戶端1的開發,這是CKB 藍圖中的一個關鍵部分。它使用了基於採樣的協議(基於FlyClient)來避免下載和驗證所有區塊。這將使用戶能夠在資源受限的環境中(例如移動設備或網絡瀏覽器)與CKB 進行交互。
CKB 還在開發其第一個軟分叉,該分叉將支持輕客戶端。為了支持未來的某些功能,CKB 輕客戶端軟分叉會使用可擴展區塊頭,可擴展區塊頭作為區塊頭中的任意數據字段已經被添加到Mirana 的硬分叉中。
測試網啟動後,我們將能夠在真實環境中測試輕客戶端協議。啟動主網的理想條件是在1~2 個試點輕客戶端應用程序之後,例如Neuron、Nexus 等錢包,CKBull 已經在測試網上進行測試了。
Open Transaction
Open Transaction 是構建交易的鏈外協調機制。交易發起人可以通過鏈外協作完成有趣且複雜的任務,例如多簽工作流、CoinJoin 或者Token 兌換,只需簽署部分交易,剩下的留給其他人完成。通過Open Transaction,我們可以將交易的結構分成多個小步驟,每個步驟都有不同的模塊化解決方案。模塊化的Open Transactionn 生態系統可以擴展CKB dApp 的可能性,同時降低開發門檻。
與CKB 核心一起協作的鏈外層將對Open Transaction 提供支持。如果發現它的某些功能在實踐中有用,它們可能會被納入CKB 核心。功能設計過程始於10 月,預計2023 年會推出一個可用的MVP。
工具:為了更好的開發者體驗
Basic Types of space formatics for 『Marine City』, Kiyonori Kikutake, 1960
Kikutake 將「海洋城市」項目分為兩類:在城市規模上的同心浮動結構和在國家規模上的線性海洋城市。他為海洋城市設計了多個結構性的解決方案,這些建築方案為城市開發者提供了基本的思路和模式。
Nervos 和Web2 的差異,甚至和以太坊之間的差異,就像陸地和海洋之間的差異一樣巨大。底層的巨大差異,給剛接觸Nervos 的開發者造成了很大的障礙,因此我們必須不斷地改進工具,降低門檻,幫助開發者更輕鬆地完成工作。
xUDT
xUDT 是sUDT 的擴展,包含了許多改進,這些改進是社區使用sUDT 時提出的。開發者可以使用xUDT 創建一個擴展腳本,來檢查token 發行是否低於某個閾值,對token 的轉移附加時間鎖,甚至還可以將用戶的餘額存儲在Sparse Merkle Tree 中。 xUDT 簡化了可編程token 的生成。
最新的xUDT 腳本已在測試網進行部署。代碼審核和測試通過之後,將會部署到主網上。
Omnilock
Omnilock 是專門為互操作性而設計的新lock script。它是一種可以擴展的lock,可以支持比特幣、以太坊、EOS 和Dogecoin 等主流區塊鏈所使用的各種交易驗證模式。 Omnilock 有一個合規的模塊,可以與xUDT 的Regular Compliance Extension(RCE)配合使用,使UDT 與傳統金融互操作。如果啟用,指定的管理員可以在他認為合適的情況下撤銷用戶持有的token。 Omnilock 和RCE 配合起來使用,相當於ERC-1404 提案。
Omnilock 已部署到Mirana 主網。
CKB 上的Taproot
Taproot 是比特幣自Segwit 以來最重要的升級。它提高了比特幣的隱私性、可擴展性,改變了比特幣腳本的運作方式。我們通過lock script 將Taproot 搬到了CKB 上,來和比特幣社區一同慶祝這一成就,同時用來測試CKB 的抽象能力。 CKB Taproot 提供了兩種解鎖方式:密鑰路徑(Schnorr 簽名)和腳本路徑。後一種路徑非常強大,因為它把CKB-VM 的功能和任意複雜的邏輯相結合。
CKB 上的Taproot 展示了將比特幣思想與Cell 模型相結合所產生的新能力,以及實現這種混搭有多容易。憑藉強大的智能合約支持和簡單的UTXO 設計,我相信CKB 有成為UTXO 生態系統創新熱點的潛力,在這裡,可以很容易地測試新想法,也可以為比特幣和其他基於UTXO 的區塊鏈誕生好的想法。
Lua 腳本
得益於RISC-V 的兼容性,CKB-VM 可以支持用任何編程語言編寫的智能合約。然而,為了使用任何語言編寫的智能合約,需要一個易用的工具。 Rust 和C 是兩大流行的編程語言,但我們總是想要更多。下一步是支持Lua 腳本,這也是我們第一次認真嘗試動態語言。 Lua 是一種輕量級的動態語言,廣泛應用於遊戲開發和其他需要可編程擴展的領域。 Lua 腳本可以與用Rust/C 編寫的lock scripts/type scripts 結合起來使用,以實現CKB dApp 可編程的自定義和擴展。
我們已經為此努力了很長一段時間,現在它已經功能齊全了。 JoyID 和.bit 團隊給了我們積極的反饋。它目前正在進行額外的測試和優化。比較合理的預測是2023 年會有第一個使用Lua 腳本的dApp 出現。
Kuai
MagickBase 的一群開發者主動創建了Kuai,一個基於javascript 的CKB DApp 框架,旨在大幅降低DApp 的開發門檻,讓創建一個DApp(例如did.id)的時間從數月降至數週。 Kuai 和Capsule 的區別在於,Kuai 是一個完整的框架,除了合約開發之外,還包括一個構建系統,模板生成器,實用的抽象,鏈外組件和測試。該項目仍處於早期階段,但正在穩步推進。
Nexus
MagickBase 的另一群開發者開始著手解決一個長期困擾CKB DApp 開發者的問題——CKB 的「Metamask」。雖然得益於CKB 的抽象能力,以太坊錢包Metamask 可用來訪問CKB DApp,但它畢竟是為賬戶模型設計的,因而放棄了UTXO 模型的大部分好處,例如跨地址的資產管理和隱私保護。它還缺乏對CKB 輕客戶端的支持。 Nexus 就是這個問題的解決方案,它是一個UTXO 錢包,旨在為Nervos DAO、xUDT、omnilock、輕客戶端和其他協議提供無縫支持。
其他
CKB 有4 個SKD (Rust,Go,Java 以及Javascript),為所有開發者提供基本的、多功能的支持。 Mercury 是一個高級中間件,適用於錢包和交易平台等簡單的集成案例。 Lumos 是一個面向Web 開發者的javascript/typescript 工具箱,適用於DApp 開發,而Capsule 則提供了方便的Rust 智能合同支持。 CKB-CLI 是CKB 開發者的瑞士軍刀。這些工具已被證明是有用的,並且正在根據社區反饋不斷改進。
CKB 極客們喜歡ckb-indexer,這是一個閃電般快速的鏈上數據索引器。它非常受歡迎,以至於CKB 團隊應社區要求將其合併到了CKB 節點中。集成後,加快了CKB 節點和Neuron 的同步,並來簡化DApp 開發者的開發工作(通過只需一個後台程序而非兩個)。
Layer 2:巨型結構和可擴展性解決方案
The City in the Air, Arata Isozaki, 1960
除了「cell」以外,新陳代謝主義還提出了另一個具有啟發性的概念——巨型結構(Megastructure)。他們希望為城市設計一個「巨大的結構框架」,而不是建造具有特定目的的單元。這一框架必須牢固而持久,讓人們根據需要增減具有特定功能的建築單元,以滿足城市人口日益增長的需求。與大多數區塊鏈項目不同,Nervos 有遠見地設計了模塊化的Layer 2 作為可擴展性和可伸縮性的解決方案。此外,Nervos Layer 2 上的兩個框架Godwoken 和Axon 正在從不同角度來試驗Layer 2 的設計。
Godwoken
Godwoken 是世界上第一個在以太坊以外的Layer 1 區塊鏈上運行的Rollup。 Godwoken 在2022 年取得了兩項重大成就:一是成功完成了從v0 到v1 的升級,二是追求了Game+區塊鏈的理念,並為其提供了一系列開發者支持。 Godwoken v1 是Godwoken EVM 兼容性的一次重大升級,從99% 升級到了100% 兼容。開發團隊經過不斷地努力,解決了剩下1% 的不兼容問題,然後實現了從EVM 操作碼到EVM 工具鏈的完全兼容,讓開發者可以在Godwoken 上部署DApp,而無需修改任何代碼。這次升級降低了EVM DApp 遷移和DApp 開發的成本,為Godwoken 的生態系統帶來了新的發展。
Godwoken Game+區塊鏈把Godwoken 對開發者的支持提升到了一個新的水平,將其從一個需要開發者自己解決很多問題的Rollup 框架,轉變為一個為遊戲開發者提供的優化了的完整解決方案。通常情況下,遊戲開發者在試圖進入Web3 世界時,他們並不完全了解區塊鏈技術。他們真正需要的是一個簡單且遊戲兼容的區塊鏈解決方案,讓他們能夠專注於遊戲開發而不是區塊鏈的細節。他們希望他們的潛在玩家能夠玩他們的遊戲,而不需要學習記憶術或交易費用。他們希望創造的遊戲能夠讓玩家擁有自己的戰利品,參與任務創建,分享收益,並從中獲得樂趣,而不是簡單地使用象徵性激勵來推動紙面上看起來不錯的數據增長。 Godwoken Game+區塊鏈可以為遊戲開發者提供所有以上的這些。
想要了解更多信息,請關注Godwoken 團隊的Twitter 和GitHub。
Axon
Axon 是另一個基於CKB 的高性能Layer 2 框架。它做出了與Godwoken 不同的設計權衡:它沒有完全依賴CKB 的安全性,而是將CKB 作為支撐層來實現高性能和優於L1 PoS 的安全性,因為L1 PoS 固有的問題,如遠程攻擊和主觀性已經不存在。
除了100% 兼容EVM 之外,Axon 是第一個實現通用帳戶抽象的架構,這要歸功於存儲在CKB 區塊鏈上的強大的CKB-VM 和密碼學庫。 Axon 智能合約可以從CKB 上加載cell,並使用調用CKB-VM 的特殊預編譯EVM 來驗證其數據和腳本。
Axon 也是一個具有內置互操作性和Cosmos IBC 支持的原生多鏈框架,可以讓Axon DApp 與CKB、其他Axon 鍊和其他區塊鏈生態系統,特別是那些具有兼容IBC 的生態系統進行通信。
Axon 的核心框架在2022 年穩定了下來,它已經準備好讓那些想運行高性能EVM 區塊鏈的開發者在此基礎上進行構建。未來的工作將集中在Axon 的staking 和治理機制上。 Axon 將成為Nervos 的高性能、高互操作性和簡單易用的可擴展層,並內置staking 和治理解決方案。
想要了解更多信息,請關注Axon 團隊的Twitter 和GitHub。
互操作性:從陸地到海洋
海洋城市,1963/1980s。該模型暴露在一個半透明的藍色立方體頂部。照片:作者在東京森美術館舉辦的《Metabolism: the City of the Future》展覽中記錄(2011 年9 月)。
新陳代謝主義的設計不僅試圖通過構建框架在陸地上進行擴張,而且還不斷延伸到水域,讓人們可以在陸地和海洋兩個區域活動。陸地和海洋可以被視為是具有不同自然規律的兩個不同系統,就像Web2 和Web3,或者一個區塊鍊和另一個區塊鏈,它們可以被視為是具有不同共識和協議的獨立生態系統。巧妙的建築設計可以與陸地和海洋通信,出色的互操作性基礎設施也必須進行通信,讓用戶的資產和信息在系統之間更自由地流動。
Force Bridge 是Ethereum/BSC 和CKB 之間的跨鏈橋,它用一個具體的例子證明了Nervos 的互操作性——Ethereum 用戶可以在Nervos 和Ethereum 之間轉移資產,而不需要更換錢包。 Nervos 現在已經連接了兩個最大的生態系統,即以太坊和BSC,因此連接更多生態系統的邊際效益減少了。與此同時,2022 年的一系列跨鏈橋黑客事件再次提醒我們去中心化的重要性。
Force Bridge 在整個2022 年平穩安全地運行著,現在去中心化要比以後更好。 Synapse 團隊正在努力實現這一目標。第一步是為CKB 創建兼容IBC 的中繼,這可以讓信息在CKB 和所有其他區塊鏈之間傳遞,如Ethereum、Cosmos,甚至Axon 和Godwoken。然後我們可以擴大一些中繼的規模來創建一個更加去中心化的中繼網絡,在此網絡基礎上,我們可以建立一個更加去中心化的Force Bridge 2.0。
研究
Nervos 研究團隊一直強調質量高於數量,2022 年,他們在業界的國際頂會上發表了三篇論文:
· NC-Max:打破中本聰共識的安全-性能權衡
在本文中,我們確定並實驗證明了,問題的關鍵在於尚未傳播的交易平台延長的區塊傳播延遲。因此,我們提出了一個兩步機制,只確認完全傳播的交易,從而消除了NC 的安全需求對其性能的限制,實現NC 未開發的潛力。為了實施這種兩步機制,我們提出了NC-Max,其(1)安全性得到了分析,證明了它能提供比NC 更強的抵禦交易扣塊攻擊能力;(2)性能得到了評估,表明它耗盡了網絡支持的全部吞吐量,並在不影響安全性的情況下將交易確認延遲縮短了3.0 到6.6 倍。
該論文發表於2022 網絡和分佈式安全研討會(The Network and Distributed System Security Symposium, NDSS),2022 年2 月
· Polynomial IOPs for Linear Algebra Relations
本文提出了一種新的多項式IOPs 算法電路。它們依賴於單項係數基來表示由算術約束滿足系統產生的矩陣和向量,並建立在建立正確計算線性代數關係的新協議上,如矩陣-向量乘積和哈達瑪積。
當使用加密編譯器編譯時,我們的協議產生了具有簡潔驗證的具體證明系統,而加密編譯器的作用在本文中被抽象掉了。只取決於編譯器,生成的SNARKs 要么是透明的,要么依賴於一個可信的設置。
該論文發表於2022 國際公鑰密碼學實踐與理論會議(The International Conference on Practice and Theory of Public-Key Cryptography, PKC),2022 年3 月
· Analysing and Improving Shard Allocation Protocols for Sharded Blockchains
作為首個關於共享無需許可區塊鏈中被忽視的核心組件——分片分配(Shard Allocation) 的研究,本文提供了第一個關於分片分配協議形式化的研究,評估了包括Ethereum 在內的7 個無需許可分片區塊鏈的分片分配協議。證明了同時實現最佳自平衡和可操作性的不可能性,識別並定義了分片分配協議所需的內存依賴性屬性,可以參數化自平衡和可操作性之間的權衡,並提出了一個正確而高效的分片分配協議Wormhole。
該論文發表於4th ACM Conference on Advances in Financial Technologies (AFT ’22),2022 年9 月
來自去中心化社區的驅動
The「mother city」of Marine City Project, 1963
在寫這篇文章之前,我並沒有意識到以上這些事情都是在一年內完成的。感覺我們從2021 年開始已經為此努力了三年(如果你有同樣的感覺,這不是巧合,2022 年無論如何都是特別的)。我試圖回憶我們做過的每一件事,但發現不可能列出完整的清單。如果我遺漏了什麼,我深表歉意。
在我看來,我們在2022 年取得的最重要的進步是一個更加去中心化和充滿活力的開發者社區。在基礎設施層面,我們有和Cryptape、MagickBase、Nervina、Godwoken、Axon 和Synapse 團隊的密切協作,擴展區塊鏈架構的前沿。在應用層,包括. bit、Unipass、Yokai、Hadouken、Nervape、JoyID、Tempest 等團隊正在向我們提交無數條反饋。在Nervos 上進行構建是具有挑戰性的,因為它需要在應用和基礎設施兩個層面進行工作。我想感謝你們所有人接受挑戰,用激情創造,用愛構建。
原文標題:《Nervos Metabolism – A Recap of Development 2022》
原文作者:janx,加密研究員
原文編譯:Kelly
來源:區塊律動