基于區(qū)塊鏈技術和5G通訊方案的UCOT智能物聯(lián)網(wǎng)平臺介紹
區(qū)塊鏈是一個去中心化的分布式帳本,包括在公共或?qū)S镁W(wǎng)絡上可以共享 的記錄狀態(tài)變化和交易的數(shù)字日志。 區(qū)塊鏈分布式帳本的更新和維護由網(wǎng)絡節(jié)點(Nodes)完成,每個節(jié)點執(zhí)行并記錄相同 的歷史。區(qū)塊鏈上一段特定時間內(nèi)的交易會被打上時間戳并集合成一個區(qū)塊,其中每 個區(qū)塊通過基于密碼學的哈希算法生成唯一的哈希值以供識別和驗證。區(qū)塊形成線性 序列,其中每個塊引用先前塊的哈希值,結(jié)構上形成一個鏈條,因此被稱為區(qū)塊鏈。 如下圖所示:
區(qū)塊鏈的一下特性能夠重塑物聯(lián)網(wǎng)生態(tài)系統(tǒng):
? 分布式賬本和去中心化的點對點網(wǎng)絡可以消除單點故障的發(fā)生;
? 交易需要網(wǎng)絡中節(jié)點的共同驗證,可以解決中央集權問題;
? 交易記錄一經(jīng)產(chǎn)生,存在于不可篡改偽造的區(qū)塊鏈上,隨時可以進行審核;
? 對供應鏈上的產(chǎn)品溯源的自動化;
? 為物聯(lián)網(wǎng)內(nèi)跨物理設備傳輸?shù)臄?shù)據(jù)提供更好的保護;
? 標準化數(shù)據(jù)信息由區(qū)塊鏈上的代碼不可變的智能合約控制
優(yōu)物鏈生態(tài)系統(tǒng)
UCOT 是一個結(jié)構化的生態(tài)系統(tǒng),結(jié)合了最新的區(qū)塊鏈技術和 5G 通訊方案,專為下一代智能物聯(lián)網(wǎng)平臺而設計,解決了供應鏈與物聯(lián)網(wǎng)中的認證、安全和互操作性方面的關 鍵問題,可以幫助企業(yè)應對設備驗證和授權方面的挑戰(zhàn), 有助于保護網(wǎng)絡同時消除對 中心化管理的依賴。UCOT 可以使同一供應鏈上的不同企業(yè)和用戶提高供應鏈節(jié)點之間 的防篡改,互操作性來提高效率,降低運營成本,加強認證,保護數(shù)據(jù)隱私。
在 UCOT 生態(tài)系統(tǒng)中創(chuàng)建的大量實時數(shù)據(jù)也將被各種 UCOT 應用程序所使用。
UCOT 團隊的愿景是構建最佳的生態(tài)系統(tǒng),使供應鏈管理和智能物聯(lián)網(wǎng)系統(tǒng)具備自動化 的價值轉(zhuǎn)移以及實現(xiàn)設備與設備之間控制的最有效過程。
系統(tǒng)架構
UCOT 系統(tǒng)技術架構從下至上由三層組成,物聯(lián)層,區(qū)塊鏈層和服務層,如圖所示。
1.物聯(lián)層
安全的物聯(lián)網(wǎng)平臺是物聯(lián)層的核心部分,包括如下設備:
a. 在整個供應鏈中連接到貨物性能受限的嵌入式跟蹤設備
b. 固定式高功率節(jié)點,例如視頻監(jiān)控攝像機
c. 安裝了供應鏈應用的移動設備
物聯(lián)網(wǎng)平臺可實現(xiàn)供應鏈跟蹤和產(chǎn)品溯源。在物聯(lián)層中,如上圖所示,在輕量級嵌入 式設備和移動設備上運行的應用程序盡可能簡單,從而能夠運行于資源有限的設備。 輕量級嵌入式設備和移動設備通過網(wǎng)關將數(shù)據(jù)上傳到區(qū)塊鏈網(wǎng)絡。具體來說,輕量級 嵌入式設備上的應用程序可以自動識別環(huán)境并上傳數(shù)據(jù),而輕量級移動設備上的應用 程序提供手動更新界面。 應用程序使用驗證算法非對稱加密來對收集的數(shù)據(jù)進行簽名 以確保防篡改。
物聯(lián)層中的網(wǎng)關如上圖所示,負責協(xié)議轉(zhuǎn)換,帳戶管理,設備管理及其安全性。
a. 網(wǎng)關提供了將不同種類的通信協(xié)議(例如 NB-IoT 設備中的 UDP 和 CoAP)通過發(fā)送交易轉(zhuǎn)換到區(qū)塊鏈網(wǎng)絡的接口。
b. 網(wǎng)關需要實現(xiàn)帳戶和設備的管理。在設備管理中,輕量級設備需要首先得到授權才能將數(shù)據(jù)上傳到區(qū)塊鏈網(wǎng)絡。 該組件專為在特定用戶使用區(qū)塊鏈系統(tǒng)中的帳戶配置終端設備的情況設計。 配置過程也記錄在區(qū)塊鏈系統(tǒng)中。終端設備的身份標志對應于區(qū)塊鏈中的賬戶。系統(tǒng)以賬戶進行管理,而非終端設備管理。帳戶管理是針對在區(qū)塊鏈網(wǎng)絡中擁有帳戶的設備。這些設備能夠直接將數(shù)據(jù)以交易的形式上傳到區(qū)塊鏈網(wǎng)絡。
c. 同時網(wǎng)關確保安全性,抵御拒絕服務,遠程入侵等攻擊。 在網(wǎng)關的幫助下,系統(tǒng)可以支持新的設備和協(xié)議,而不影響區(qū)塊鏈核心網(wǎng)絡。
2.區(qū)塊鏈層
區(qū)塊鏈層為供應鏈中的所有參與方提供安全可訪問的數(shù)字賬本,并執(zhí)行智能合約和完成支付。我們將建立一個區(qū)塊鏈驅(qū)動的 IoT 平臺,徹底改變整個供應鏈。建立在平臺之上的智能合約將實現(xiàn)與供應鏈流動相關的快捷支付。
將區(qū)塊鏈與 IoT 相結(jié)合,將徹底改變供應鏈和應用的整個生命周期,為進一步發(fā)展做出貢獻。例如溫度,光傳感器可以利用私人/聯(lián)盟鏈來確保商品或食品的實時狀態(tài); 使用智能合約交換保險和維護服務可以對任何產(chǎn)品提供實時信息。
設計原則
基于區(qū)塊鏈的分布式帳本技術解決了 IoT 的五個關鍵缺陷:
a. 在典型情況下,基于區(qū)塊鏈的分布式帳本可以為物聯(lián)網(wǎng)提供可信的一致性網(wǎng)絡,支持所有權記錄,透明化信息以及通信服務。
b. 通過相對集中的服務器收集和存儲數(shù)據(jù)作為采礦節(jié)點的物聯(lián)網(wǎng)的架構可以將信息寫入本地分類帳,并與其他本地分類帳同步,以確保事實的安全性和唯一性。
c. 區(qū)塊鏈為每個交易信息添加不能篡改的時間戳,以供將來使用。
d. 具有高端加密技術的區(qū)塊鏈可以解決物聯(lián)網(wǎng)的關鍵缺陷,即不一致的安全標準。
e. 區(qū)塊鏈最重要的創(chuàng)新之一是數(shù)字協(xié)議或智能合約,區(qū)塊鏈數(shù)據(jù)可以應用于物聯(lián)網(wǎng)領域,來實現(xiàn)商業(yè)合約。
區(qū)塊鏈架構
我們先利用 Ethereum(以太坊)作為基于 Blockchain 的 IoT 網(wǎng)絡的內(nèi)核架構。 以太坊是有“圖靈完備”編程語言的平臺,可使開發(fā)人員構建和發(fā)布下一代去中心化的應用程序。與兼容以太坊的好處是為將來與在以太坊平臺上運行的眾多智能合約之間的互操作打下基礎。
首先,我們來了解以太坊中的狀態(tài)定義。以太坊是一個基于帳戶的區(qū)塊鏈,由兩個重要部分組成:
? 交易:表示狀態(tài)轉(zhuǎn)換函數(shù)
? 函數(shù)的結(jié)果可以存儲
“歸檔/完整”節(jié)點利用 Google LevelDB 存儲本地數(shù)據(jù),存儲區(qū)中包含所有區(qū)塊對應的所有交易和交易結(jié)果。 這包括所有歷史狀態(tài),即使那些不再有效或無價值的狀態(tài)。 這允許客戶端在過去的任何時間查詢區(qū)塊鏈的狀態(tài),而無需從頭開始重新計算所有內(nèi)容。由于這需要非常大量的磁盤存儲,因為它不是嚴格必要的。理論上,區(qū)塊鏈數(shù)據(jù)包含:
a. 鏈數(shù)據(jù)。 它是形成鏈的區(qū)塊列表,意味著該數(shù)據(jù)存儲在鏈上。 以太坊區(qū)塊鏈中包含狀態(tài)根,它存儲區(qū)塊生成時代表系統(tǒng)狀態(tài)的哈希樹的根哈希,通常稱為狀態(tài)根。
b. 狀態(tài)數(shù)據(jù)。這是每個交易的狀態(tài)轉(zhuǎn)換的結(jié)果,它是存儲在鏈下,即在每個完整/歸檔節(jié)點的硬盤驅(qū)動器上。 它通常被視為本地數(shù)據(jù)庫。 它是一個 MerklePatricia 樹 ,稱為通用狀態(tài),包括存儲在鏈接數(shù)據(jù)中的從帳戶地址到狀態(tài)根的映射,其中這些狀態(tài)根源是從個人帳戶余額,帳戶隨機數(shù),合同代碼和存儲根源計算得出的。 請注意,存儲根是 Merkle Patricia 樹的根哈希值,樹葉片通過當前的合同代碼存儲數(shù)據(jù)。
雖然需要所有鏈式數(shù)據(jù)來確保加密鏈管理,并且沒有任何東西被篡改,舊的狀態(tài)數(shù)據(jù)可以被丟棄(稱為“修剪”)。 這是因為狀態(tài)數(shù)據(jù)是隱式數(shù)據(jù)。 也就是說,它的價值僅從計算而不是從傳達的實際信息中得知。 相比之下,鏈數(shù)據(jù)是顯式的,并且存儲即為區(qū)塊鏈本身。
一個“輕”節(jié)點只存儲鏈數(shù)據(jù),準確地說只有表頭被存儲。 它通過從其他可用的“完整/歸檔”節(jié)點查找包含在鏈接數(shù)據(jù)中的狀態(tài)根來查詢區(qū)塊鏈的當前狀態(tài)。 此外,其他信息,如區(qū)塊體,cost,bloom 同樣從其它可用的完整節(jié)點中獲取。 這樣可以在 IoT傳感器,智能手機和任何嵌入式設備等上面輕松實現(xiàn)以太坊區(qū)塊鏈。請注意,在任何IoT 設備上實現(xiàn)的是輕型客戶端節(jié)點,而非完整客戶端。
開發(fā)工具和方法
A. 開發(fā)工具
a. 運行環(huán)境 - 以太坊虛擬機
b. 運行語言 - Golang/Nodejs/ Solidity
c. 命令行界面(CLI) - Geth
d. 平臺 - Linux,Mac,Windows
e. 安裝 - 二進制或腳本
B. 開發(fā)方法
a. 平臺 - Windows 操作系統(tǒng)
b. 安裝 CLI(命令行界面)Geth
c. 在以太坊上創(chuàng)建一個私有鏈/ Testnet
d. 通過“chocolatey”(Windows 的軟件包管理器)安裝 Solidity 編譯器(SolC)
e. 在 geth 鏈接 SolC
f. 開發(fā)并執(zhí)行樣本合約
g. 制定物聯(lián)網(wǎng)支持的供應鏈管理所需的合約
h. 編寫合約代碼并進行測試
i. 接受令牌與合約
j. 建立與 API 的接口
智能合約
智能合約將建立在基于區(qū)塊鏈的 IoT 平臺之上。智能合約驗證貨物交付,并自動執(zhí)行供應鏈各方之間的令牌交換。智能合約不僅按照傳統(tǒng)合同的方式定義協(xié)議中的規(guī)則和處罰,而且還自動執(zhí)行這些義務。 與傳統(tǒng)系統(tǒng)相比,這些智能合約,無疑更快,更便宜和更安全。
在供應鏈的情況中,智能合約是一種 BoL(提單),即一張通過托運人/貨物概述產(chǎn)品從制造商(賣方)經(jīng)過承運人根據(jù)特定條款和條件,到批發(fā)商(買方)的過程票據(jù),智能合約自動實現(xiàn)合同的這些條款和條件,并且能夠執(zhí)行供應鏈物流里的令牌交換。
客戶可見的商品信息
圖6顯示了在交貨時顧客可獲得的關于他所訂購的肉類產(chǎn)品的信息模板樣例。
產(chǎn)品信息可根據(jù)供利益相關方的需求獲得
與用戶可見的信息相類似,供應商或收貨人也可能能夠查看關于正在出售/購買的產(chǎn)品的一些信息。 圖 7 顯示了供應商銷售的一批產(chǎn)品的信息模板。 供應商可以在運輸過程中監(jiān)控產(chǎn)品的當前位置和溫度。
智能代理(傳感器)更新操作實例
智能代理可以被激活并將相應傳感器數(shù)據(jù)發(fā)送到區(qū)塊鏈的可能事件/實例如下:
a. 承運人收到產(chǎn)品
b. 在過境中轉(zhuǎn)時,產(chǎn)品入庫和放在倉庫中
c. 到目的地時
d. 將產(chǎn)品交給收貨人
e. 當產(chǎn)品出售給零售
f. 當產(chǎn)品出售給最終用戶
g. 在指定的時間間隔內(nèi)
代幣
如果分布式商業(yè)生態(tài)系統(tǒng)是有機體,那么區(qū)塊鏈就是骨架,各種應用和服務是肌肉和器官。 然而,身體不能在沒有血液循環(huán)的情況下工作。 因此,“令牌”對于區(qū)塊鏈上的各方利益相關者/組件之間的任何價值轉(zhuǎn)移至關重要。 它的價值取決于使用場景,可能的使用場景包括
a. 令牌可用于控制訪問(相當于進入門票)
b. 在以太坊上創(chuàng)建一個令牌更加安全,由所有網(wǎng)絡的礦工提供安全保障
c. 通過在以太坊創(chuàng)建令牌,將兼容任何在以太坊上運行的其他合同UCOT 令牌的生成
所有相關方,服務提供商都需要 UBI 來啟動交易并執(zhí)行一個智能合約 。智能合約的管理如下:
a. 管理賬戶
b. 監(jiān)控和管理區(qū)塊鏈的可擴展性問題
c. 凍結(jié)帳戶
d. 監(jiān)控代理的電源問題和校準傳感器
使用型令牌(UBI)是 UCOT 生態(tài)中作為計量單位的令牌。 如果您想使用 UCOT 生態(tài)系統(tǒng)的服務,則需要通過 UCOT 的令牌(UBI)來執(zhí)行。請注意,這些只是使用型令牌,
不會在系統(tǒng)本身內(nèi)賦予持有人任何特定的權利或特權。令牌名稱為 UBI。最小單位為10-9 ,稱為“nUBI”。
開發(fā)方法與工具
a. 完成支付結(jié)構(即所有需要支付服務以及費用是多少?)
b. 創(chuàng)建令牌合約以生成所需數(shù)量的令牌。 該令牌將發(fā)給合約的創(chuàng)建人
c. 向所有利益相關者分配令牌(基于預定義的標準,比如誰獲得什么)
d. 在以太坊區(qū)塊鏈中設計和實施 UBI 和 nUBI 的使用。
e. 建立令牌與智能合約之間的接口
f. 建立令牌與 API 之間的接口管理問題:為了 UCOT 生態(tài)系統(tǒng)的安全性和效率,我們必須時刻監(jiān)控一些問題,包括:
e. 賬戶管理。
f. 對區(qū)塊鏈的可擴展性問題進行監(jiān)控和管理
g. 檢測并凍結(jié)有惡意活動的帳戶
h. 監(jiān)測智能代理的功率問題及傳感器校準。
i. 管理供應鏈中產(chǎn)品生命周期的智能合同。
3. 服務層
我們通過后端數(shù)據(jù)庫,前端 Web 界面和移動應用程序提供服務。 分布式數(shù)據(jù)庫可以被用來管理供應鏈數(shù)據(jù)。同時,我們會進行用戶帳戶管理和數(shù)據(jù)訪問控制,使得沿著供應鏈的數(shù)字信息以去信任的方式在所有參與者之間共享。
網(wǎng)站和移動設備上的應用程序通過用戶界面為企業(yè)和用戶提供服務。 這部分可以根據(jù)業(yè)務需要進行調(diào)整。 具體來說,服務層實現(xiàn)了分布式數(shù)據(jù)庫,身份(ID)管理服務,區(qū)塊鏈內(nèi)容訪問服務,令牌服務,數(shù)據(jù)請求服務,數(shù)據(jù)共享服務和跟蹤服務等。
該層提供了兩種具有不同類型訪問的數(shù)據(jù)類型:
a. 公共數(shù)據(jù)存儲:數(shù)據(jù)被完全記錄在公共區(qū)塊鏈中,例如用戶的配置/要求
b. 共享區(qū)塊鏈記錄:數(shù)據(jù)屬于特定的一組用戶,不向其他用戶開放。 需要特定的訪問控制。
服務層包括了兩種不同形式和來源的數(shù)據(jù)類型:
a. 物聯(lián)網(wǎng)相關數(shù)據(jù)。有兩種提供原始數(shù)據(jù)的設備:
1) 具有較弱計算/通信能力的輕設備上傳的數(shù)據(jù),例如之前提到的 NB-IoT 設備。數(shù)據(jù)會被自動收集并通過代理發(fā)送到區(qū)塊鏈。這些設備不運行區(qū)塊鏈應用程序。授權用戶管理這些終端設備,終端設備的配置過程由另一個基于區(qū)塊鏈的服務(設備管理服務)安全地記錄下來。雖然數(shù)據(jù)需要在被記錄在塊鏈中之前通過額外的保護過程(加密和認證)進行處理和保護,但它為專門為功率較低的設備設計,更加靈活。
2) 由高性能終端設備上傳的數(shù)據(jù)。這些設備能夠運行的區(qū)塊鏈程序,例如基于Wi-Fi 的樹莓派。在這類設備中,數(shù)據(jù)被收集并直接以交易的形式發(fā)送。
3) 我們將開發(fā)獨特的基于 ID 的標簽/設備。 這種標簽被附加到產(chǎn)品上,并將數(shù)據(jù)自動發(fā)送到區(qū)塊鏈網(wǎng)絡。 標簽連接到產(chǎn)品后,附加的動作將觸發(fā)自動記錄,并將隨機數(shù)分配給產(chǎn)品。 標簽一旦剝離產(chǎn)品,跟蹤記錄即可結(jié)束,標簽等待再次觸發(fā),直到下一次被附帶。 跟蹤記錄記錄在區(qū)塊鏈網(wǎng)絡中。
標簽的 ID 在區(qū)塊鏈網(wǎng)絡中是永久的和唯一的,隨機數(shù)用于每個跟蹤過程。
(b)用戶任意形式的數(shù)據(jù)。 用戶可以訪問系統(tǒng)并將數(shù)據(jù)上傳到區(qū)塊鏈。 數(shù)據(jù)與用戶綁定。 數(shù)據(jù)形式更加靈活,并不局限于感應器數(shù)據(jù)。 數(shù)據(jù)可以是明文也可以是密文。
*數(shù)據(jù)可以以原始數(shù)據(jù)(加密或不加密)的形式直接記錄,并可以以后轉(zhuǎn)移到交易中,或直接記錄在交易中。