NEO 白皮書

NEOWest發表於2018-12-13

一種智慧經濟分散式網路

NEO 的設計目標:智慧經濟

NEO 是利用區塊鏈技術和數字身份進行資產數字化,利用智慧合約對數字資產進行自動化管理,實現“智慧經濟”的一種分散式網路。

數字資產

數字資產是以電子資料的形式存在的可程式設計控制的資產。用區塊鏈技術實現資產數字化有去中心、去中介、免信任、可追溯、高度透明等特點。NEO 在底層支援多數字資產,使用者可在 NEO 上自行註冊登記資產,自由交易和流轉,並且通過數字身份解決與實體資產的對映關係。使用者通過合規的數字身份所註冊登記的資產受到法律的保護。

NEO 中有兩種形式的數字資產:全域性資產和合約資產。全域性資產能夠被記錄在系統空間,可以被所有智慧合約和客戶端所識別;合約資產被記錄在智慧合約的私有儲存區中,需要相容該智慧合約的客戶端才能識別。合約資產可以參照某種約定的標準,從而實現與多數客戶端的相容。

數字身份

數字身份是指以電子資料形式存在的個人、組織、事物的身份資訊。目前較為成熟的數字身份體系是基於 PKI(Public Key Infrastructure)的 X.509 標準。在 NEO 中,我們將實現一套相容 X.509 的數字身份標準。這套數字身份標準,除了相容 X.509 的層級式的證照籤發模式,還將支援 Web Of Trust 式的點對點的證照籤發模式。並通過人臉、指紋、語音、簡訊等多因素認證實現簽發階段和使用階段的真實身份比對。同時,還將使用區塊鏈取代 OCSP 協議來管理、記錄 X.509 的吊銷證照列表 CRL。

智慧合約

智慧合約是 1994 年由密碼學家尼克薩博(Nick Szabo)最先提出的理念,幾乎與網際網路同齡。根據 Nick Szabo 的定義:當一個預先編好的條件被觸發時,智慧合約執行相應的合同條款。區塊鏈技術給我們帶來了一個去中心化的,不可篡改的,高可靠性的系統,在這種環境下,智慧合約才大有用武之地。NEO 具備獨立的智慧合約體系:NeoContract。

NeoContract 智慧合約體系的最大特點是無縫對接現有的開發者生態。開發者無需學習新的程式語言,就能用 C#、Java 等主流程式語言在熟悉的 IDE 環境(Visual Studio、Eclipse 等)中進行智慧合約的開發、除錯、編譯。NEO 的通用輕量級虛擬機器 NeoVM 具有高確定性、高併發性、高擴充套件性等優點。NeoContract 智慧合約體系讓全球百萬級的開發者能夠快速進行智慧合約的開發。NeoContract 將有獨立的白皮書描述實現細節。

應用與生態

生態是開源社群專案的生命力所在。為了實現智慧經濟網路的目標,NEO 將致力於發展開發者生態,提供成熟的開發工具,完善的開發文件,組織教育培訓活動,提供資金支援。我們計劃對以下基於 NEO 的應用與生態進行支援,並對完善與提升體驗的設計給予獎勵:

? 節點程式

  • 完整功能的 PC 全節點程式

  • 更好體驗的 PC 輕節點程式

  • 提供不需要同步區塊鏈的 Web / Android / iOS 客戶端

  • 硬體錢包​

? 區塊鏈瀏覽器

? SDK 開發工具包

  • 支援 Java / Kotlin、.NET C# / VB、JavaScript / Typescript、Python、Go

? 智慧合約編譯器與 IDE 外掛

  • C# / VB.Net / F#,Visual Studio

  • Java / Kotlin,Eclipse

  • C / C++ / GO

  • JavaScript / TypeScript

  • Python / Ruby

? 去中心化應用

  • 智慧基金

  • AI 輔助的法律智慧合約

  • 網路社交

  • 自動化代幣流動性提供者

  • 去中心化交易所

  • 安全通訊協議

  • 資料交易市場

  • IP 交易市場

  • 預測市場

  • 廣告市場

  • 算力市場

  • NeoGas 市場

NEO 的管理模式

經濟模型

NEO 中內建兩種原生代幣,NEO(縮寫符號 NEO)和 NeoGas(縮寫符號 GAS)。

NEO 是管理代幣,總量 1 億份,用於實現對 NEO 網路的管理權。管理權包括投票進行記賬人選舉,NEO 網路引數更改等。NEO 的最小單位為 1,不可再分割。

GAS 是燃料代幣,最大總量上限為 1 億,用於實現對 NEO 網路使用時的資源控制。NEO 網路對代幣轉賬和智慧合約的執行和儲存進行收費,從而實現對記賬人的經濟激勵和防止資源濫用。GAS 的最小單位為 0.00000001。

在 NEO 網路的創世塊裡,1 億份 NEO 已經生成,而 GAS 尚未生成,數量為零。1 億份 NEO 所對應的 1 億份 GAS,將通過一個衰減的演算法在約 22 年的時間內逐步生成至 NEO 管理代幣的地址中。NEO 管理代幣轉入新的地址後,之後的 GAS 也將在新的地址生成。

NEO 網路將通過投票設定一個閾值,對一定量的轉賬交易和智慧合約執行儲存免收 GAS,以提升使用體驗。當發生大量垃圾交易時,可以通過 NeoID 來優先處理具有合格身份的交易和智慧合約。沒有合格數字身份的交易和智慧合約可以通過支付 GAS 來獲得優先處理。

分發機制

NEO 的分發:

NEO 的 1 億管理代幣分為兩部分,第一部分 5000 萬份 NEO 用於按輪次和比例分發給 NEO 開發經費眾籌的支持者,該部分已經分發完畢。

第二部分 5000 萬份由 NEO 理事會管理,用於支援 NEO 網路的長期開發、運維和生態發展。該部分的 NEO 處於鎖定期,在 2017 年 10 月 16 日 NEO 網路執行達 1 年時方可解鎖被使用。這部分 NEO 不會進入交易所交易,僅用於長期支援 NEO 專案,計劃按如下比例分配使用:

? 1000 萬份(總量 10%)用於激勵 NEO 開發者和 NEO 理事會成員

? 1000 萬份(總量 10%)用於激勵 NEO 周邊生態開發者

? 1500 萬份(總量 15%)用於交叉投資其他區塊鏈專案,所獲得代幣歸屬於 NEO 理事會,並僅用於 NEO 專案

? 1500 萬份(總量 15%)機動使用

? 每年使用的 NEO 原則上不得超過 1500 萬份

GAS 的分發:

GAS 伴隨著每個新區塊的生成而產生。GAS 初期總量為零,伴隨著新區塊的生成逐漸增多,直至約 22 年後達到總量上限 1 億。NEO 每個區塊的間隔時間約為 15-20 秒,200 萬個區塊約合 1 年時間。

第一年(實際為0-200萬個區塊),每個區塊新生成 8 個 GAS;第二年(實際為第 200-400萬個區塊),每個區塊新生成 7 個 GAS;以此類推,每年遞減 1 個 GAS,直至第 8 年遞減至每個區塊新生成 1 個 GAS;自此保持每個區塊新生成 1 個 GAS 直至約 22 年後的第 4400 萬個區塊,GAS 總量到達 1 億,則停止伴隨新區塊生成 GAS。

按照這樣的發行曲線,第 1 年會有 16% 的 GAS 被創造,前 4 年會有 52% 的 GAS 被創造,前 12 年 80% 的 GAS 被創造。這些的 GAS 都會按照 NEO 的持有比例,記錄在對應的地址上。NEO 持有人可以在任意時間進行發起一筆認領交易,將這些 GAS 認領到 NEO 的地址上。

治理機制

鏈上治理:NEO 管理代幣的持有人是 NEO 網路的所有者和管理者,通過在 NEO 網路上構造投票交易來實現管理權,通過獲得 NEO 管理代幣所對應的 GAS 燃料代幣來實現 NEO 網路的使用權。 NEO 管理代幣可以被轉讓。

鏈下治理:NEO 理事會是 NEO 專案的創始人組織成立的常務管理機構,下設管理委員會、技術委員會和祕書處,分別負責戰略決策、技術決策和具體執行。NEO 理事會向 NEO 社群負責,以推廣和發展 NEO 生態為首要工作目標。

NEO 的技術實現

共識機制:DBFT

DBFT 全稱為 Delegated Byzantine Fault Tolerant,是一種通過代理投票來實現大規模節點參與共識的拜占庭容錯型共識機制。NEO 管理代幣的持有者通過投票,可以選出其所支援的記賬人。隨後由被選出的記賬人團體通過 BFT 演算法,來達成共識並生成新的區塊。投票在 NEO 網路持續實時進行,而非按照固定任期。

DBFT 對由 n 個共識節點組成的共識系統,提供 f=⌊(n-1)/3⌋ 的容錯能力,這種容錯能力同時包含安全性和可用性,可以抵抗一般性故障和拜占庭故障,並適用於任何網路環境。DBFT 具有良好的最終性,一個確認即最終確認,區塊無法被分叉,交易也不會發生撤銷或回滾。

在 NEO 的 DBFT 共識機制下,每 15~20 秒生成一個區塊,交易吞吐量實測可達到約 1000tps,在公有鏈中效能優秀。通過適當優化,有能力到達 10000TPS,可以支援大規模的商業化應用。

DBFT 結合數字身份技術,使得記賬人可以是實名的個人或機構。從而使得凍結、撤銷、繼承、找回、司法判決過戶等非常規操作成為可能。這有利於合規性金融資產在 NEO 網路中的登記發行。NEO 網路計劃在必要的時候支援此類操作。

智慧合約體系:NeoContract

NEO 的智慧合約體系由三部分組成:

NeoVM - 通用區塊鏈虛擬機器:

NeoVM 是一個輕量級的通用型虛擬機器,其架構與 JVM 和 .NET Runtime 非常接近,類似於一個虛擬 CPU,負責讀取並按順序執行合約中的指令,根據指令的功能進行流程控制、算數運算、邏輯運算等。它具有良好的啟動速度和通用性,非常適合應用於智慧合約這種小程式,也可以被移植到非區塊鏈的場景中,或者與 IDE 整合從而提供良好的開發體驗。可以對 NeoVM 的功能進行擴充套件,引入 JIT(即時編譯器)機制,從而提高指令的執行效率。

InteropService - 互操作服務:

用於載入區塊鏈賬本、數字資產、數字身份、持久化儲存區等底層服務。它們就像是為虛擬機器提供的虛擬裝置,使得智慧合約可以在執行時訪問這些服務,從而實現一些高階功能。通過這種低耦合的設計,NeoVM 可以被移植到任意區塊鏈甚至非區塊鏈系統中使用,使得智慧合約的適用領域大大擴寬。

DevPack - 編譯器和 IDE 外掛:

DevPack 包含高階語言編譯器和 IDE 外掛。由於 NeoVM 的架構與 JVM、.NET Runtime 等高度相似,這些 DevPack 裡的編譯器可以將 Java byte code 和 .NET MSIL 這類中間語言編譯成 NeoVM 的指令集。Java / Kotlin、C#的開發者不需要學習新的語言,在 VS、Eclipse 等熟悉的 IDE 環境中就能立即著手編寫智慧合約。這使得智慧合約的學習成本大大降低,可以建立豐富的 NeoContract 智慧合約生態。

NeoContract 可以在執行智慧合約之前,就通過靜態分析來建立智慧合約的呼叫樹。通過確定性的呼叫樹,NEO 節點可以對智慧合約進行動態分片,實現理論上無限的擴充套件,克服了其他區塊鏈系統的靜態分片導致的“鬧市擁堵效應”。

跨鏈互操作協議:NeoX

NeoX 是實現跨鏈互操作的協議。NeoX 分為兩個部分:“跨鏈資產交換協議”和“跨鏈分散式事務協議”。

跨鏈資產交換協議:

NeoX 在已有的雙鏈原子資產交換協議上進行了擴充套件,可以讓多個參與者在不同的區塊鏈上進行資產交換,並保證整個交易過程中的所有步驟全都成功或全都失敗。為了實現這個功能,我們需要利用 NeoContract 的功能,為每一個參與者建立一個合約賬戶。對於其它的區塊鏈,如果它不相容 NeoContract,但是隻要能夠提供簡單的智慧合約功能,也能夠與 NeoX 相相容。

跨鏈分散式事務協議:

跨鏈分散式事務是指,事務的多個步驟分散在不同的區塊鏈上執行,且保證整個事務的一致性。這是對跨鏈資產交換的一種擴充套件,將資產交換的行為擴充套件成任意行為。通俗的說,NeoX 使得跨鏈智慧合約成為了可能,一個智慧合約可以在多個不同的區塊鏈上執行不同的部分,要麼全部執行完畢,要麼全部退回執行前的狀態。這賦予了跨鏈協作極大的想象力,我們正在探索跨鏈智慧合約的應用場景。

分散式儲存協議:NeoFS

NeoFS 是一套利用了 Distributed Hash Table 技術的分散式儲存協議。NeoFS 通過檔案內容(Hash)而非檔案路徑(URI)來對資料進行索引。大檔案將被分割為固定大小的資料塊分散式地儲存在眾多節點中。

該類系統的主要問題是需要在冗餘度和可靠性之間尋找平衡點。NeoFS 計劃通過代幣激勵機制和建立骨幹節點的方式來解決這一矛盾。使用者可以選擇檔案的可靠性要求,低可靠性的檔案可以免費或幾乎免費的被儲存和訪問,高可靠性的檔案將由骨幹節點提供穩定可靠的服務。

NeoFS 將作為 NeoContract 體系下的 InteropService 互操作服務之一,使得智慧合約可以在區塊鏈上存放大型檔案,併為這些檔案設定訪問許可權。此外,NeoFS 可以與數字身份相結合,使記錄數字身份的數字證照可以點對點簽發、傳送、吊銷,而無需中心化伺服器來管理。未來可以將陳舊的區塊資料存放在 NeoFS 中,使得大部分的全節點可以釋放舊資料,獲得更高的擴充套件性,並保證歷史資料的完整性。

抗量子密碼學機制:NeoQS

量子計算機的出現將對基於 RSA 和 ECC 的密碼學機制產生重大挑戰。量子計算機能夠在極短的時間內解決 RSA 所依賴的大數分解問題和 ECC 所依賴的橢圓曲線離散對數問題。NeoQS 是一種基於格的密碼學機制,QS 是 Quantum Safe 的縮寫。目前,量子計算機尚無快速解決最短向量問題(SVP)和最近向量問題(CVP)的能力,格密碼學被認為是抵禦量子計算機的最可靠演算法。

總結

NEO 是一種結合數字資產、數字身份和智慧合約的分散式網路。NEO 系統還將使用 DBFT、NeoX、NeoFS、NeoQS 等多項原創技術,成為未來智慧經濟的基礎架構。

原文連結:docs.neo.org/zh-cn/white…


相關文章