NEO 白皮書

一種智能經濟分佈式網絡html

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…