經過接近一年的研究,設計,以及原型驗證和編碼工作,Nervos 基金會宣佈:2018 年 11 月 28 日,Nervos CKB 專案在
Github 上正式開源。
Github Repo: https://github.com/nervosnetw…
什麼是 Nervos CKB
Nervos 網路是一個分層架構的分散式應用網路。CKB 是一個在設計上非常不同的公有鏈協議,也是 Nervos 網路中的基礎層,是整個加密經濟網路的信任引擎。CKB從分層架構的角度出發,目標是成為資產儲存層和上層協議的仲裁層。CKB的程式設計模型由獨特的Cell模型和CKB-VM組成,在CKB上執行的DApp都有計算和驗證兩個部分,計算在鏈外執行,驗證在鏈上由CKB-VM執行。CKB-VM是一個專門為區塊鏈設計支援RISC-V指令集的虛擬機器。
Nervos CKB 的開發歷史
- 2018 年 1 月 Nervos 基金會成立,同時釋出了 Nervos CKB 技術白皮書,組建團隊,招募優秀開發者加盟
- 2018 年 3 月開始 Nervos CKB 的第一個 PoC 原型驗證
- 2018 年 4 月完成第一個 PoC 原型驗證,完成包括多節點系統,節點間 Schema 同步,Cell 挖礦,轉賬交易等
- 2018 年 7 月份宣佈完成 2800 萬美金的 Private Sale,CKB 團隊首次封閉開發
- 2018 年 8 月份開始 CKB-VM 設計和實現
- 2018 年 9 月份開始撰寫共識白皮書
- 2018 年 9 月份開始撰寫經濟白皮書
- 2018 年 10 月份 CKB 團隊第二次封閉開發
- 2018 年 11 月份 CKB 程式碼開源
開源的價值
「Thompson hack」是一個關於信任的故事。
Ken Thompson 作為 Unix 的奠基人,C 語言發明人之一,是計算機歷史上開天劈地的人物。他在 1983 年獲得圖靈獎時發表的著名的演講《Reflections on Trusting Trust》中提到這個關於「Thompson hack」的故事。原來當年他在編寫 Unix 作業系統的時候,在內部留了個只有自己知道的小後門,可以讓他獲得作業系統的最高許可權。有人分析了 Unix 程式碼,找到了後門,修改程式碼,然後重新編譯了整個 Unix。可是很快他們發現 Ken 又拿到了他們的帳戶許可權。大家都知道他一定是在原始碼中加入了後門,可是雖然原始碼已經公開,可就是找不到後門在哪裡。直到 14 年後,Ken 才在演講中透露謎底,原來把後門加到了 C 語言編譯器中,當編譯器檢測到這是 Unix 的原始碼,就自動給編譯出的程式嵌入了後門。
需要澄清的是 Ken Thompson 從概念上提出了一種攻擊的可行性,利用我們對編譯/彙編/連結器「忠實性」的信任來發動攻擊。而如今硬體之間的相容性越來越好,編譯器在運維中所扮演的角色也越來越弱,一個被感染的編譯器已經不足以構成巨大的威脅,但是對「Thompson hack」的防範仍然具有現實意義。
區塊鏈的價值在於創造信任,不開源的區塊鏈系統是無法創造信任的。區塊鏈的信任來自於公開,透明,不可偽造和篡改,所以一個區塊鏈系統如果不開源,是無法想象的,更不可能創造並傳遞信任。正如「Thompson hack」給我們的啟示,在去中心化的系統中,你不應該相信並依賴任何第三方,而是應該自己去驗證系統的安全性,這種每個參與方的驗證使得個體都能為網路的安全貢獻力量,而程式碼開源只是 Nervos 系統安全設計和實現的第一步。
開源的另外一個價值在於開放式協作。開源可以形成一種自然合作與互動,Nervos CKB 的創始團隊和開發人員主要是工程師出身,我們在日常工作中大量使用 Github,是長期 Github 使用者。過去我們使用大量國外的開源專案,觀察到來自世界各地的開源參與者可能彼此不認識,但是卻能相互貢獻程式碼,提交問題,幫忙完善文件,這種開放式的合作在國外的開源社群不勝列舉。
同時我們也欣喜的看到,過去的幾年越來越多的國內專案選擇了開源這條道路,並且通過開源的方式將專案發展的非常成功。毋庸置疑,開源的開放式合作能夠吸引到更多優秀的開發者的支援,從而獲得來自社群的貢獻,-並-創造更廣泛,對參與者更有益的價值,這完全的符合區塊鏈的精神。
開源其實是一個完整的概念,不僅僅只是開放程式碼本身。其他的比如思考,觀點等都可以開放出來,才會有觀點之間的討論和演化,然後才能促進更多的開放式合作。所以除了程式碼層面的協作之外,把我們對區塊鏈技術本質的理解,對未來技術發展的思考,專案的設計,都不遺餘力的分享出來,才有可能吸收到更多來自社群的反饋,共同完善專案本身。所以後續我們會通過線上、線下活動,通過文件,通過教程,儘可能傳播給整個的區塊鏈開源社群。
後續開源計劃
- 完善 Nervos CKB 文件,Wiki,以及初學者教程
- 開展系列線上技術分享,以及 AMA 活動
- 開發者論壇 talk.nervos.org
- Telegram 上開發者討論群 https://t.me/nervos_ckb_dev
- 開源專案開發週報
- Bug Bounty 計劃
- Contributor 榮譽專案
- 開源 Bootcamp 專案
致謝
- 感謝所有為開源事業努力付出,並且堅持奮鬥的開發者
- 感謝所有關注並支援 Nervos CKB 專案的社群成員
- 感謝 Nervos CKB 專案的開發與研究團隊近一年的努力
- 特別感謝在 Nervos 專案最初 Private Sale 的時候,給與我們信任與支援的那些夥伴