區塊鏈的發展為未來世界帶來無限可能,然而由于應用以及技術的局限性,物理世界和鏈上數字世界還相對隔離,鏈外的實物資產和數字資產很難上鏈,這是區塊鏈的 First Mile 難題。
NUChain 創新性地提出了區塊鏈新五層架構,定義了區塊鏈通用網絡協議(BNP),結合互聯網、物聯網和區塊鏈的技術,基于 TCP/IP 協議,詳細設計了 BNP 協議的框架、協議、內容等技術標準,有望成為區塊鏈網絡傳輸的通用協議。同時,NUChain 設計了支持 BNP 協議的 NUCBox、NUCRouter、NUCSDK等區塊鏈硬件產品,能夠實現鏈外資產上鏈,從而解決區塊鏈的 First Mile 難題。另外,NUChain 獨創的 PoC 共識機制更加公平合理,保障普通節點的權益, PoSt云挖礦和 AI 數據價值發現模型讓數據的提供者有了直接獲益的方法,實現了數據的民主。
實體經濟中的各個傳統企業,基于 NUChain 能較好地實現區塊鏈轉型,將實體資產成功上鏈,成為加密數字資產在全世界各地交易。NUChain 逐步完成實體的自由映射、數據的自由交易、價值的自由流通,進而形成一個分布式數字資產生態。
鏈外資產上鏈機制
鏈外資產包括鏈外的實物資產和數據資產,本章重點介紹鏈外資產分類、身份管理、資產識別與認證、資產確權與交易、資產登記與共識記賬、資產安全等。
鏈外資產上鏈的基礎框架如下:
鏈外資產上鏈的基本流程如下:
1. 鏈外資產分類
AOB(Assets Off Block chain)鏈外資產,是指還未上鏈的物理世界的實物資產和數字世界(網絡及應用系統)的數字資產。
· 實物資產:物理世界的所有實物都可以稱之為實物資產,包括物聯網設備、智能電子設備、智能操作終端、智能家用電器設備等等,也包括工業機器和工業機器人。實物資產上鏈的前提條件是具有物理感知層,能夠被感知,比如物聯網設備和工業 4.0 設備都具備這個特性。
· 數字資產:數字世界的所有數據都可以稱之為數字資產。按照當下主要的應用數據分類,包括 SQL、NO SQL、Big Data、App 等各種系統數據、網絡數據和用戶終端數據。
2. 身份認證
2.1 身份標識
NUChain 為每個接入層設備都標識了 Device ID,同時為每個設備安裝一個硬件芯片(包含硬錢包與私鑰),Device ID 即為設備的身份標識。
身份標識將采用 EPC(Electronic Product Code 產品電子代碼)編碼體系進行編碼,由一個版本號加上另外三段數據(域名管理者、對象分類、序列號)組成的一組數字。EPC 碼采用 96 位(二進制)編碼,可以為“2.68 億個公司*1600 萬個種類*680 億的獨立產品”進行編碼,形象的說可以為地球上的每一粒大米賦一個唯一的編碼。EPC 編碼體系足夠支撐未來海量設備接入,每個設備都可以賦予一個全球唯一編碼。
2.2 身份驗證
當接入層設備注冊激活時,生成一對密鑰,綁定設備 Device ID 及注冊信息,然后用自己的私鑰進行簽名,并同時公布對應的公鑰,其他節點根據該設備公布的公鑰對簽名進行驗證,通過后驗證完成,即可上鏈。未來設備向鏈上發送或者更新數據時,只需驗證私鑰簽名即可。
3. 資產識別
鏈外資產可以通過物理層進行標識,通過接入層感知設備識讀數據。常用的物理層包括二維碼、RFID 標簽、攝像頭、GPS、傳感器、M2M 終端、生物識別等,感知設備包括手持機、識讀器、平板、手機、智能終端、檢測設備等。
接入層感知設備主要通過 RFID 射頻識別技術、傳感器技術、二維碼技術、紅外感應技術、GPS 定位技術、聲音及視覺識別技術、生物特征識別技術等,實現鏈外資產的資產識別與信息采集。以 RFID 資產識別為例,如下圖:
4. 資產確權
對于鏈外的資產,需要進行確權認證。需要證明在某節點登記的資產,歸屬權屬于該節點身份 Device ID。只有確權的資產,在節點登記并存儲,才具備進行權屬交易的資格。
NUChain 將采用零知識證明機制,對上鏈前的鏈外資產進行確權。
設 Hash 函數H滿足隨機預言機,其輸出值長度為n,統計零知識的證明成立,資產確權。
當資產進行交易,權屬轉移時,采用非交互零知識證明。即通過利用一個雙方共享的公用隨機串(比如第三方支付、第三方物流、保險等)來實現零知識證明,確定權屬轉移完成,資產重新確權,綁定收貨方。
5. 資產登記---節點登記
已經確權的資產,可以在節點進行登記。
登記的信息包括時間戳、內容索引、關聯信息、存儲地址等,以及對應的節點Device ID、確權信息等。完成確權并登記的資產,存儲在節點設備中。
6. 共識記賬---鏈上登記
鏈外資產在確權完成后,隨即在全網廣播,通過相應的共識機制進行記賬,將該資產的信息基于 BNP 協議的數據格式,在公鏈全網記賬。賬本不記錄資產的全部數據,主要記錄資產的權屬信息、內容索引、身份 ID、存儲地址等。
BNP 協議并不指定共識機制,而是根據設備安裝的挖礦軟件所采用的共識機制進行記賬,并在達成共識后將數據上鏈。
7. 權屬交易
鏈外資產完成確權和上鏈登記后,可以進行資產交易。資產交易的本質是權屬的轉換,買賣雙方發起一個資產交易的智能合約,買方支付資產購買的代幣費用,賣方將資產權屬轉給買方,系統自動完成交易。
資產權屬轉移的過程,就是將經過確權的資產賬本,解除原來的賣方身份 ID綁定,重新綁定買方的身份 ID。同時存儲在賣方節點的數字資產數據,點對點傳輸至買方的節點設備,如果是 IPFS 存儲的數據,則無需轉移。
對于實物資產,需要完成實物資產交付的智能合約,再完成購買資產的代幣支付合約。資產權屬的轉移需要對資產重新進行確權,我們在資產權屬轉移的過程中采用非交互零知識證明,引入來自于可信第三方的公共參考串(比如第三方物流),完成資產的重新確權。
8. 資產安全
鏈外資產上鏈的另一個核心問題,是資產的安全問題。
NUChain 在最新提出的五層架構設計中,在物理層、接入層、網絡傳輸層、數據層及應用層每一層都結合最新的安全技術,從身份識別、訪問控制、代碼審計、智能合約編程安全、錢包安全、防 Ddos 攻擊、數據加密、多重簽名、私鑰管理、防火墻、標識防偽等各個方面進行安全防護,如下圖:
在此基礎上,為了確保鏈外資產上鏈的安全,NUChain 從身份認證、資產確權、加密驗證、記賬驗證、安全機制等方面,全方位的確保資產在認證、確權、登記、權屬轉移、記賬等整個上鏈過程中的資產安全。主要的安全防范措施包括:
9. 應用范例
我們以一個應用場景為例,來介紹鏈外資產上鏈并交易的過程:
1) 身份認證:Ailice 購買了一個可以上鏈的行車記錄儀(支持 BNP、PoC), 首先激活記錄儀,生成一對密鑰綁定記錄儀的 Device ID,同時在鏈上認證。
2) 資產識別、確權登記、共識記賬:Ailice 將一段時間行車記錄儀的數據通過云存儲技術存儲在云盤上。同時,Ailice 發出上鏈記賬申請,在行車記錄儀對數據確權并登記以后,數據上鏈達成 PoC 共識后記賬,礦工獲得挖礦獎勵。 由于 Ailice 是數據的提供者,她成為礦工出塊的幾率最高。
3) 權屬交易:當某個數據的使用者,比如保險公司,想調用此類數據的時候,智能合約自動匹配交易,通過 AI 數據價值發現模型函數計算交易費用,交易完成后保險公司獲得了數據確權,Ailice 獲得了數據使用的收益。
鏈外資產上鏈通用協議 BNP
為了實現數據的身份、地址、安全、格式、價值上鏈,解決制約區塊鏈發展的 First Mile 問題,我們提出了 BNP(Block chain Network Protocol)區塊鏈通用網絡協議。
TCP/IP 協議定義了網絡終端如何接入互聯網以及數據如何在設備之間傳輸的標準,而我們提出的 BNP 區塊鏈通用網絡協議定義了區塊鏈生態中鏈外資產如何上鏈以及數據如何在節點之間傳輸的標準。上鏈的關鍵是標識實物產品的身份,通過 BNP 通用協議,把鏈外資產的唯一屬性寫進通訊包,明確其身份幫助鏈外資產上鏈。實物上鏈之后,提供大量數據,后續的應用才能開展。
BNP 協議是一個通用的二進制代碼級別的應用級網絡通訊協議,BNP 基于TCP/IP 并在二進制代碼級別定義通用區塊鏈的 TCP/IP 數據包結構,區塊鏈賬本數據結構,區塊鏈賬本共識算法及其交易安全。BNP 協議層支持服務尋址、共識計算、加密驗證、分布式存儲以及通用協議包括 TCP/IP 協議、P2P 通訊協議、物聯網通訊協議、數字錢包協議、數據標準協議等。BNP 協議具備三種功能:一是創建進程到進程的通信,而是在傳輸層提供控制機制,三是負責為應用程序提供連接機制。
物聯網設備發送或更新的數據需要通過傳輸層上傳到鏈上,網絡傳輸層把這些數據打包,按照 BNP 格式進行封裝,按照獨特格式比如 TCP 或 UTP 格式傳輸,向鏈內廣播達成共識,登記確權記賬。如果該資產發生交易,需要修改鏈外資產信息,是通過接入層設備將交易時間戳和交易信息等寫入,如果是 RFID,該設備會更新 RFID 標簽內信息。
1. BNP 協議架構
1.1 BNP 之傳輸協議
物聯網既然是一個網絡,那自然需要一個統一的協議基礎,就像是互聯網需要 TCP/IP 一樣。在核心層面,由于物聯網是互聯網的延伸,同樣基于 TCP/IP;在接入層面,協議有很多類別,基本由三大部分組成:
· 內網協議 RFID、NB-IoT、LORA、eMTC、Zigbee、Bluetooth;
· 支持邊緣計算網絡的 TSN、SDN、NFV 等網絡控制協議。
1.2 BNP 之 IP 協議架構
BNP 的 IP 協議主要功能是提供尋址和路由、傳遞服務和數據包的分片和重組。它的構成由固定部分、可變部分和 BNP 數據部分組成,如下圖所示:
IP 版本:如果為 4(0100)則為 IPv4;如果為 6(0110)則為 IPv6
其固定部分與可變部分的解釋可參照標準 TCP/IP 協議。關于 BNP 數據部分的解釋可參照“數據報格式”部分。
1.3 BNP 之加密與驗證
利用橢圓曲線加密算法生成密鑰對,密鑰對包括一個私鑰和由其衍生出的公鑰。私鑰用于發送數據時的數字簽名,公鑰用于驗證數據的來源。數字簽名保證了鏈上、鏈下數據的一致性,防止數據被惡意篡改。
當內置了私鑰的物聯網設備,向鏈上發送或者更新數據時,用自己的私鑰對數據進行簽名,并同時公布對應的公鑰。其他節點根據發送或者更新的數據以及該設備公布的公鑰對簽名進行驗證。只有擁有能產生這種公鑰的私鑰擁有者才能對要發送的信息生成特定簽名。從而可以驗證數據由某個設備發出,并且該設備無法篡改已發送的信息。
1.4 BNP之分布式服務
BNP分布式服務模型充分體現“物聯網+區塊鏈”的特點,它的事實標準其實就是一一個分布式服務系統。BNP讓上鏈的任意多個節點通過所定義的數據報中所包含的Hash值,簽名及錢包ID具備了ACID (Atomicity, Consistency, Isolation,Durability) 特性。上鏈的節點不可定位且由不同用戶維護,我們并不能保證每次訪問NUChain都能獲得數據,所以它同時具備BASE理念( Basically Available,Soft-state, Eventual Consistency)。
分布式日志(Distributed Log)作為BNP去中心化日志系統使用。其構架如下:
1.5節點端的鏈路拓撲類型
節點端的鏈路拓撲基本分為二種不同類型:星型拓撲和點對點拓撲,如下圖:
星型拓撲結構由一個叫做 PAN 主協調器的中央控制器和多個從設備組成。主協調器必須為一個具有完整功能的設備,從設備既可為完整功能設備也可為簡化功能設備。在實際應用中根據具體情況,采用不同功能的設備,合理地構造通信網絡。在網絡通信中,通常將這些設備分為起始設備或者終端設備,PAN 主協調器既可以作為起始設備、終端設備,也可以作為路由器,是 PAN 網絡的主控制器。在任何一個拓撲網絡上,所有設備都有一個唯一的 64 位長地址碼,該地址可以在 PAN 中用于直接通信,或者當設備之間已經存在連接時,可以將其轉變為 16 位短地址碼分配給設備。PAN 主協調器是主要的耗電設備,而其他從設備經常采用電池供電。星型拓撲結構通常在家庭自動化、PC 外圍設備、玩具、游戲以及個人健康檢查方面得到應用。
在點對點拓撲網絡結構中,同樣也存在一個 PAN 主設備,但該網絡不同于星型拓撲網絡結構,該網絡中的任何一個設備都可以與其通信范圍內的其他設備進行通信。點對點拓撲網絡結構能夠構成較為復雜的網絡結構,例如網狀拓撲網絡結構。這種點對點拓撲網絡結構在工業監測和控制,無線傳感器網絡、供應物資跟蹤、農業智能化以及安全監控等方面都有廣泛的應用。一個點對點網絡路由協議可以是基于 Ad Hoc 技術,也可以是自組織式的和自恢復式的。并且,在網絡中各個設備之間發送消息時,可通過多個中間設備中繼的傳輸方式進行傳輸,即通常稱為多跳的傳輸方式。每個獨立的 PAN 都有一個唯一的標識符,利用 PAN標識符,可以使用短位地址進行網絡設備間的通信,并且可激活 PAN 網絡設備之間的通信。
2.BNP 協議技術
設計 BNP 的目的是使網絡不受任何單一網絡的限制,更安全高效的通信。其基本思維基于互聯網 TCP/IP 協議,同時 BNP 主要以 IEEE802.15.4 為重點。
2.1 鏈路層傳輸規約
2.1.1 鏈路層服務模型
對于鏈路層的要求,BNP 是非常適度的。其基本要求是單節點可以發送一個有限大小的數據報到其通信范圍內的另一個節點(即一個單播包)。考慮到數據報在低功耗無線鏈路上傳輸的不可靠性,BNP 沒有對可靠性的期望,對可達性也沒有一個明確定義的界限。在有線網絡中,節點的插入以及是否接入某個鏈路都是很清楚的,通常在以太網上的所有節點都可以相互通信。在低功耗無線網絡中,節點 A 和節點 C 都可以與節點 B 通信,但是節點 A 與節點 C 未必就能通信。
BNP 對于鏈路的要求可以放寬到一個假設,即節點 A 在一段時間內,有一組節點可能是 A 可達到的。這組節點為 A 的單跳鄰居。另一方面節點 A 可以向本地廣播數據報,這些數據報可能會被節點 A 的單跳鄰居中的所有節點所接收。
對于 IEEE802.15.4MAC 層定義的四種類型的幀(數據幀,確認幀,MAC 層命令幀,信標幀,BNP 只關心其數據幀,用于攜帶 BNP 適配層定義的協議數據單元(PDU), 其 PDU 又包含嵌入式的 IPv6 數據報(或其中的一部分)。
2.1.2 鏈路層編址
鏈路層必須對全球唯一編址有一定的概念。一個地址唯一標識一個節點的事實,并不意味著它能全球定位某個節點,即鏈路層地址是不可路由的,它本身并不用于確定一個節點是在相同或不同的網路中。數據幀包含源地址和目的地址。接收器根據目的地址來決定該幀是否當被該節點接收,或者應該路由到另一個不同節點。源地址主要用于查找有關鏈路層安全的密鑰信息,同時在數據報轉發中也可能發揮作用。BNP 節點擁有 8B 的 EUI-64 標識符。
2.1.3 鏈路層管理和操作
BNP 對數據的機密性和完整性有極高的要求,強大的鏈路層安全機制是 BNP協議的一個重要組成部分。為此提供用于加密包括密鑰標識在內的消息完整性檢查機制可以在每一個數據幀中消耗 30B 的額外空間。至于 IEEE802.15.4MAC 層其他的強大功能,BNP 努力保持中立立場。BNP 允許使用 IEEE802.15.4 的信標使能網絡。
BNP 運行在無信標模式下,通過 IEEE802.15.4 基于競爭的信道接入方式執行無線介質訪問控制,IEEE802.15.4 稱此為非時隙的 CSMA/CA。
2.2 BNP 基本格式
BNP 基本格式如下圖:
不同的報頭按以下順序使用:
· 地址:網狀網絡報頭,攜帶 L2 初始源地址和目的地址以及跳數,其后是BNP 的 PDU。
· 逐跳處理:本質上是 L2 逐跳選項的報頭,其后是 BNP 的 PDU.
· 目的地處理:分段的報頭,攜帶片段,可能在已通過多個 L2 跳傳輸后,需要在目標節點重新組合成一個 BNP 的 PDU。
· 有效載荷:攜帶 L3 數據報的報頭。
BNP 在每一個 PDU 的開頭使用一個分派字節,以識別其自身的類型。PDU部分的報頭,需要定義組網的類型 3 個字節[0:2],共識模型[3:5],及區塊鏈的其他分派(如加密算法類型)[6:7])。
2.3 BNP 數據報格式
BNP 協議的數據報打包了 Token 擴展信息、目標地址、設備編碼、哈希頭、數據包、價值函數等數據,其中 Token 擴展信息包括哈希值、TCP/IP 數據包、簽名、錢包 ID、設備 ID、服務 ID、校驗碼等,如下圖:
2.4 BNP 編址
地址需要加密和驗證,加密采用私鑰簽名驗證的虎符驗證機制,參考 4.1.3。
一個 IP 適配層通常涉及至少兩種地址:鏈路層(L2)地址和 IP(L3)地址。
BNP 在鏈路層支持兩個地址格式:64 位的 EUI-64 地址和動態分配的 16 位短地址。
64 位的前綴和一個 64 位的 EUI-64 地址:
16 位短地址:
2.4 轉發和路由
數據報在 BNP 中的傳輸往往需要經過多次多級無線跳。這個過程必然涉及到:轉發和路由。這兩個過程都可以在 L2 或 L3 層被執行。路由通常涉及一個或多個路由協議,路由協議在每一個 BNP 節點上填寫路由信息庫(RIB)。通常 RIB可以被簡化為一個用于轉發數據報的轉發信息庫(FIB)。一些路由協議主動地填寫 FIB,即 FIB 應始終包含每個可被實際轉發的數據報的一個條目,而另一些路由協議只有在數據報到達時才填補 FIB 中的空白。
BNP 采用“單臂路由”如下圖所示:
當路由和轉發發生在第 2 層是,它們的執行是基于第 2 層地址的,也就是64 位 EUI-64 地址或者 16 位短地址。
L2 層轉發,ISA100 標準定義了一個這樣的路由協議,以及一些數據鏈路層的擴展,所以 L2 層上發生的路由和轉發對于 BNP 適配層基本上是透明的,如下圖所示:
如果鏈路轉發發生在 BNP 適配層(如下圖),我們則需要解決如下問題:鏈路層報頭描敘了當前 L2 層的跳的源地址和目的地址。為了將數據報轉發到其最終目的的節點的 L2,我們就需要知道最終目標地址。此外還需要知道源節點L2 的地址。
3. 存儲機制
鏈外資產上鏈主要包括兩種存儲方式,本地化存儲和云存儲。BNP 協議支持各種云存儲應用如 IPFS、DMFS 等分布式存儲技術。這些技術的主要特點是定義了文件在分布式系統中如何存儲、索引和傳輸,目標是通過一個文件系統將網絡中所有的設備連接起來。在傳統的 HTTP 協議中,文件資源通過資源標識符來索引,而在分布式文件系統中,文件將根據內容來進行索引。每個文件將會根據內容來進行哈希映射從而得到一個獨特的指紋,文件將根據這個指紋來進行索引。
4. 共識機制
BNP 協議支持共識熱插拔。
由于目前大部分區塊鏈之間的數據是不互通的,為了讓數據在各鏈之間流轉,BNP 協議支持多種共識記賬,比如 PoW、PoS、DPoS、PoC、PBFT、PoSt 等。鏈外資產通過這些共識機制,可以在不同的鏈上記賬。
5. 邊緣計算
接入層設備作為邊緣計算節點 ECN(Edge Computing Node),功能主要包括三層:基礎資源層、虛擬化層、邊緣虛擬服務層。功能如下圖:
邊緣計算的核心是異構計算 HC(Heterogeneous Computing),是邊緣側關鍵的計算硬件架構。邊緣設備既要處理結構化數據,同時也要處理非結構化的數據,因此采用異構計算,將不同類型指令集和不同體系架構的計算單元協同起來,以充分發揮各種計算單元的優勢,實現性能、成本、功耗、可移植性等方面的均衡。
NUChain 將采用 OpenCL 的 GPU 和多核 CPU 的異構計算。我們知道 CPU 和GPU 各有所長, CPU 擅長處理不規則數據結構和不可預測的存取模式,以及遞歸算法、分支密集型代碼和單線程程序,而 GPU 擅于處理規則數據結構和可預測存取模式。OpenCL 正是 GPU 和多核 CPU 融合與并行發展的連接橋梁。
鏈外資產上鏈共識機制
NUChain 采用獨創的 PoC(Proof Of Contribution)貢獻值證明共識機制。PoC貢獻值證明,通過計算貢獻值進行挖礦計算,用戶只需下載客戶端軟件,通過有效認證就有機會成為“礦工”。貢獻值包括提供有效數據、算法貢獻、以及活躍度、存儲資源、社區貢獻值(在線時間)等。通過 PoC 函數+加權計算達成共識,計算公式如下:
PoC 函數:有效 Data*25%+Algorithm*25%+存儲資源*20%+Activity*15%+Online Time*15%. ?
有效 Data:經過確權的數據資產,能夠驗證來源、真實性與有效性;
Algorithm:價值發現模型貢獻算法;
存儲資源:礦工當前存儲使用量占網絡中當前總存儲使用量的比例;
Activity:所提供的數據被使用的頻率作為活躍度的衡量;
OnlineTime:節點在線時長。
獎勵機制:當礦工發現了一個 PoC 區塊,出塊獎勵為 1000 個 NUC,每四年減半,直到出塊獎勵不足 1 個 NUC,按 1 個 NUC 計算,持續挖完。
PoC 共識機制是基于 AI 深度學習的機制,貢獻值越高的節點,擁有更高的挖礦概率。
· 基于 PoC 機制用 AI 深度學習方法實現節點共識,即:AI’s Law;
· 數據使用者發出請求并廣播,數據提供者將數據上鏈,通過 AI 深度學習進行匹配交易,實現有效數據貢獻。即:AI 數據價值發現,AI’s Rulebase。
鏈外資產上鏈應用生態
鏈外資產上鏈以后,通過應用體現其資產價值。應用與實體經濟的行業需求相結合,包括各種智能化場景、DApps 和商城,類似于我們日常使用的各種網站、App,比如有社交娛樂、電商購物、新聞瀏覽等各種不同的應用場景,未來的可編程金融和可編程社會也將搭建在應用層。應用的大致流程如下:
當數據使用者通過 DApps 發出應用請求并廣播,數據的提供者通過對應的智能合約進行匹配交易,達成共識后記賬。交易的函數是 AI 數據價值發現模型:
· 通過 AI 深度學習將數據進行清洗之后進行訓練,定期進行一次學習得到最新的 AI 數據價值發現模型;
· 模型進行數據清洗、訓練、之后得到價值發現模型,進行模型推斷、價值挖掘,最終形成 AI 價值指數。
DApps 部署、發布需要 NUC 幣,每次被調用資源需要支付 NUC 手續費。調用資源需要支付 NUC,價值互換通過 NUC 來結算。第一代產品應用例子:食品安全溯源 QS360.com、供應鏈金融錢到到 Caimomo.com.cn、農產品 B2B 集采通平臺 91nongye.com、農業物聯網 suniot.com。NUChain 將在近期推出區塊鏈智能手機 NUCPhone,DApps 上線后計劃推出第二代產品:食品安全鏈 FSC,綠歷商城 Greenmarket。
未來 DApps 應用將包括綠歷商城、供應鏈金融、健康管理、智能家居管理、質量安全溯源、區塊鏈餐廳、區塊鏈溯源等等應用生態,可無限擴展。
責任編輯;zl
電子發燒友App







評論