UNI無感硬加密特性 跨鏈支援 Dapp 獨佔鰲頭

買賣虛擬貨幣

2019年,連線各大公鏈、解決其價值孤島問題的跨鏈技術,成為區塊鏈行業發展的焦點,備受追捧熱議的跨鏈明星專案 Cosmos、Polkadot 正是在其開闢的道路方向一馬當先。無獨有偶,UNI以符合其生態的 Raft 共識演算法、TPoS 分叉解決機制、分級資料管理等技術創新構建無感化跨鏈生態平臺,專注於大幅降低去中心化應用(Dapp)使用門檻、提升使用者價值和體驗,推動區塊鏈技術為普羅大眾所用。

一. Raft 共識演算法

所有公鏈的最大技術關鍵當屬共識演算法:從 PoW(工作量證明)到 PoS(權益證明),再從  PoS的改良演算法DPoS(委託權益證明)到 PBFT(實用拜占庭容錯),似乎沒有一種能夠完美解決區塊鏈不可能三角(即不可能同時兼具去中心化、可擴充套件性、安全的特點)的終結演算法。

著眼於大幅提升 Dapp 使用者體驗的目標,UNI選擇了基於 Paxos 的 Raft 共識演算法。在 Raft 演算法出現之前,Paxos 演算法幾乎成為分散式共識演算法的唯一標準,但它的複雜程度廣為人知,幾乎無人能懂。

為此,斯坦福大學的研究人員在2016年研究了很多方法來簡化 Paxos,最終透過問題拆分、狀態空間降維等方式簡化產生了Raft 演算法。

一個 Raft 叢集由若干個節點組成。節點可能處於以下三種角色的其中之一:Leader (領導者)、Follower(追隨者) 或 Candidate(候選者),其職責分別如下:

Leader :負責從客戶端處接收新的日誌記錄,備份到其他伺服器上,並在日誌安全備份後通知其他伺服器將該日誌記錄應用到位於其上層的狀態機上;

Follower :總是處於被動狀態,接收來自 Leader 和 Candidate 的請求,而自身不會發出任何請求;

Candidate :會在 Leader 選舉時負責投票選出 Leader。

Raft 實現共識的方法是:首先選出一個伺服器作為 Leader,讓 Leader 來全權負責日誌備份的管理。 Leader 從客戶端接收日誌條目,複製到其他伺服器,並且告訴其他伺服器什麼時候將日誌應用到狀態機上才是安全的。資料流動的方向只會是從 Leader 流向其他伺服器。 Leader 在決定將日誌條目放在日誌的哪個位置的時候,不需要和其他伺服器商議。

有了在系統中使用 Leader 這一前提,Raft 將共識達成問題分解為三個方面: 

1,Leader election (領導者選舉)

簡單舉例說明 Raft 的 Leader 選舉過程,其實跟現實世界的選舉極為類似。眾多節點,僅由一個Leader 跟 N 個 Follower 組成,Leader 在自己的任期(Term)內,負責不停的向所有 Follower 發出 AppendEntries RPC(心跳資訊)並接收這些 Follower 的迴應,而 Follower 只是響應 Leader 發出來的請求。

如果 Follower 得不到來自 Leader 的請求了(上一任Leader任期結束),最先完成自己他就自動變成 Candidate(候選人狀態)。然後這個 Candidate 將自己的任期(Term)加 1,並廣播 Vote 請求,發起新一輪選舉,開始向 Follower 節點傳送 AppendEntries RPC,如果得到大多數 Follower 迴應投票,他就自動成為 Leader,開始自己的任期(Term);若在等待投票結果時,Candidate 收到其他 Candidate 傳送的 AppendEntries RPC 並檢查得知對方任期比自己的大,則放棄 Candidate 狀態,自己變成Follower。這就是個完整的Leader選舉流程。

下圖簡單演示了Leader由S4變成S2的過程

2,Log replication (日誌備份)

在選舉出一個 Leader 後,Leader 便能夠開始響應來自客戶端的請求了。客戶端請求由需要狀態機執行的命令所組成:Leader 會將接收到的命令以日誌記錄的形式追加到自己的記錄裡,並透過 AppendEntries RPC 備份到其他節點上;當日志記錄被安全備份後,Leader 就會將該命令應用於位於自己上層的狀態機,並向客戶端返回響應;無論 Leader 已響應客戶端與否,Leader 都會不斷重試 AppendEntries RPC 呼叫,直到所有節點都持有該日誌記錄的備份。

日誌由若干日誌記錄組成:每條記錄中都包含一個需要在狀態機上執行的命令,以及其對應的 index 值;除外,日誌記錄還會記錄自己所屬的 Term ID。

3,Safety(leader變更時的安全性)

Raft 主要透過如下機制確保安全性

Election safety:在一個 term下,最多隻有一個 Leader。

Leader Append-Only:一個Leader只能追加新的entries,不能重寫和刪除。

EntriesLog Matching:叢集中各個節點的日誌都是相同一致的。

Leader Completeness:如果一個日誌錄入被建立了,則這個錄入一定會出現在 Leader 的日誌裡。

State Machine Safety:如果一個節點伺服器的狀態機執行了一個某個日誌錄入命令,則其他節點伺服器,也會執行這個日誌錄入命令,不會再執行其他命令。

綜上所述,Raft 演算法更強調保證各個節點內共享相同的日誌資料狀態,這無疑正是 UNI所需要的;同時 與其他共識演算法相比,Raft 可以調整日誌資料更新週期時間,這使得 Raft 可以針對不同應用場景可以調整不同的 TPS,而這也正是 UNI 能夠應對不同遊戲和應用場景需要加以靈活調整。

二. TPoS分叉解決機制

由於網路分叉或者其他節點失效等原因,Raft 共識出塊可能產生分叉。對於出塊分叉,UNI 提出的解決方案是 TPoS 樹形塊簽名方案(Tree-like Proof of Stake)。簡單來說,假設存在一組固定的驗證人和一個建議機制(例如熟悉的工作提議機制證明),它產生現有塊的子塊,形成一個不斷增長的塊樹。樹的根部通常被稱為“生成塊”。在正常情況下,預計提案機制通常會在連結列表中一個接一個地提出塊(即,每個“父”塊具有恰好一個“子”塊)。但是,在網路延遲或存在惡意攻擊的情況下,提案機制將不可避免地會產生同一父母的多個子女。TPoS 的工作是從每個父母中選擇一個孩子,從而從分塊樹中選擇一個規範鏈。為了提高效率,TPoS 只考慮構成檢查點樹的檢查點的子樹,而不是處理完整的塊樹。生成塊是一個檢查點,並且塊樹(或塊編號)中的高度為 H 的倍數的每個塊也是檢查點。塊高度為 H*k 的塊的 “檢查點高度” 簡單地稱為 k,檢查點 c 的高度 h(c) 是檢查點鏈中從父節點一直延伸到父節點的元素的數量(如下圖所示)。

檢查點樹,實線表示檢查點之間的 H 個塊,檢查點由圓角矩形表示,樹的根用 “r” 表示。

舉例說明:每個驗證人首先都有一筆存款,兌換成UNI代幣加入到區塊鏈中,每位驗證人的存款將隨著獎勵和處罰而升降。驗證人可以廣播如下表所示的包含四條資訊的投票訊息:兩個檢查點 s 和 t 連同他們的高度 h(s) 和 h(t)。UNI要求 s 是檢查點樹中的t的祖先,否則投票將被視為無效。如果驗證人 ν 的公鑰不在驗證人集中,則考慮投票無效。

三.分級資料管理

資料安全在 UNI平臺設計中地位非常重要,資料按照私密等級,被分為上圖中的三類。UNI按此分類層級對資料進行相應的加密操作,保證使用者的資料安全。區塊鏈使用者應該對他們的資料有完全的掌控權,可以自主分享、修改和刪除自己的資料。具體而言,UNI使用者可以給服務提供商分享敏感度低的行為資料從而得到更好的定製化服務,使用者可以跟朋友加密分享較為敏感的資訊建立交際圈,同時,像加密錢包秘鑰這樣的資料則需要用最先進的技術加密,不應該與任何人分享。上圖正是從這三個層級將資料分級儲存在 UNI平臺上。

實現技術具體介紹如下

第一層級資料儲存:IPFS

Protocol Labs 建立的星際檔案系統(InterPlanetary File System,IPFS)是一種點對點協議,每個節點都儲存一組雜湊檔案。想要檢索任何檔案的客戶端可以訪問一個抽象層,這個抽象層允許客戶端使用它想要訪問檔案的雜湊值來找到該檔案,然後IPFS將透過節點路由向客戶端提供該檔案。

第二層級資料儲存:非對稱加密IPFS

這一部分資料,UNI採用非對稱加密演算法進行加密,加密金鑰由 UNI根據使用者 ID 和生成金鑰的時間隨機生成的,金鑰被金鑰密碼和手機驗證保護,金鑰和使用者賬戶相關聯,只有能夠訪問特定賬戶,並且能夠驗證金鑰密碼和手機驗證的使用者,才能透過使用金鑰解密檢視這一層級的資料。

第三層級資料儲存:硬體級同態加密 SGX

SGX加密是 Intel Software Guard Extensions (Intel® SGX) 保護選定的程式碼和資料不被洩露和修改的一種解決方案。開發者可以把應用程式劃分到 CPU 強化的 encalve(飛地)中或者記憶體中可執行的保護區域,即使在受攻擊的平臺中也能提高安全性。使用這種新的應用層可信執行環境,開發者能夠啟用身份和記錄隱私、安全瀏覽和數字管理保護(DRM)或者任何需要安全儲存機密或者保護資料的高保障安全應用場景中。

UNI的資料分級管理中,第三層資料是最重要的,資料被儲存在 UNI 超級節點共同維護的加密伺服器上(提供加密伺服器是加入 UNI超級節點的一個必要條件),而不是儲存在去中心化的 IPFS 儲存中。為了保證資料的絕對安全,UNI對於這一層級的資料進行最嚴格的加密,因為這一層級的資料一般為區塊鏈錢包秘鑰,不應該和第三方分享。但是為了提供無感化跨鏈服務,UNI在跨鏈時,需要訪問這些秘鑰。眾所周知,同態加密是滿足這個目標的最佳選擇,但是迄今這項技術還不成熟,它要麼限制可以對資料集執行的操作型別,要麼導致系統效能顯著下降。因此,UNI選擇採用更先進的 SGX 加密技術,允許 UNI在處理資料同也保護使用者資料的隱私性。

四.UNI的無感化跨鏈框架

眼下,區塊鏈應用開發難度大、使用者體驗差,極大地禁錮了區塊鏈技術發展。UNI致力於為使用者打造無感化跨鏈互動的平臺,除了上述 Raft 共識演算法、TPoS 分叉解決機制、分級資料管理等技術設計,還開發了跨連結口平臺 Phoenix。Phoenix 由資產層、圖層、協議層三層架構構成,透過 RPC(遠端呼叫協議)可以呼叫主鏈服務來實現跨鏈交易等操作。UNI也開發了一個開放的元件庫和基礎架構 Unicorn Framework,適用於開發者開發 Dapp。開發者可直接使用 UNI 提供最佳化後的智慧合約庫、元件庫 SDK 來降低開發具有跨鏈服務 DApp 的難度。

UNI提供的這一整套開發框架工具和服務希望實現這樣的場景:對於開發者,利用 UNI的SDK 和 API,實現各種介面實現跨鏈,讓區塊鏈應用開發更加輕鬆簡便;對於普通使用者,不用學習瞭解複雜的區塊鏈技術,非常方便、無感的透過 UNI 的應用一鍵使用各種 Dapp,自動進行錢包結算、互動。 

UNI的跨鏈互動協議(Cross chain Interaction Protocol)基於共識演算法(RAFT+TPoS)和數字資產安全(SDA)演算法構建。CIP 的任務是在網路上執行跨鏈交易。當涉及的資產在兩個或多個不同的區塊鏈網路上定位/執行時,跨鏈互動協議(CIP)是在分佈環境中交換數字資產的過程之間的互動的原始版本。

五.UNI的跨鏈治理

UNI沒有挖礦機制,參與交易的節點透過下列過程獲得佣金:

節點透過簽名來確認交易。隨著它的簽名,該節點在 RAFT+TPoS 協議下規定了報酬。

一旦交易被網路接受,該節點就會自動獲得報酬。

節點的質押被解鎖,並且由於偽造而未被阻擋的代幣數量增加 ——新代幣的數量與節點的評級成正比。

如果節點確認更誠實的交易並提出更大的押注,節點將獲得更多的利潤。

下面是 UNI參與跨鏈的節點型別及其功能:

普通節點:組合成一個扁平的點對點網路,確保平臺的功能和分佈化。

完整節點:提供檢視完整交易歷史的功能,額外的平臺保護。

主節點:支援執行SDA層和應用層演算法的應用層子網的功能。

橋:將交易傳輸到外部區塊鏈網路。

服務節點:執行應用任務以確保網路功能。

跨鏈互動協議(CIP)中使用的每種技術都代表了一種獨立的業務邏輯形式,併為 UNI的執行提供了不同的技術可能性和功能。不同技術的結合使得可以完成各種支付任務並執行廣泛的不同財務操作。跨鏈互動協議(CIP)將擁有一個開放的 API,允許第三方開發者在外部服務和應用中使用 UNI技術。

相比於 Cosmos、Polkadot,UNI在跨鏈實現上有其獨特的地方:

透過上圖對比,可以看到 UNI 的硬體級的同態加密,可以讓跨鏈資料處理的時候,對加密的資訊進行操作與建模,把參與到跨鏈的專案或者說節點,無需對 UNI有任何信任,因為資料不用被解密也能被應用,而這卻是 Cosmos、Polkadot 等跨鏈專案所沒有的。UNI專案的資料分層管理,除了更進一步的提升安全性,也方便社群管理以及其他擴充套件模組,而在區塊鏈跨鏈專案中,目前只有UNI設計了資料分層管理。對開發者而言,UNI的跨鏈模組會實現封裝,對比Cosmos SDK目前只支援go語言開發,以及Polkadot使用的WebAssembly跟Rust語言,UNI採用API介面進行開發,將會支援更多種開發者熟悉的語言,使得開發跨鏈專案,成為更輕鬆更無感的過程。

六.UNI應用生態初長成

UNI的無感化跨鏈平臺底層建設正在攻克跨連結口,而建基於上的應用案例卻已初長成

UNI多鏈遊戲平臺:全球首個無感化暢玩多鏈遊戲平臺。平臺降低遊戲門檻讓遊戲開發商可以無縫連結,讓更多玩家使用者在公平、公正、公開的環境下,暢玩、討論和創作遊戲。平臺目前已上線 EOSJOB、EOSBAC 兩款遊戲,使用者可直接登陸 DAPPX、TokenPocket、Meetone EOSToken、Dappbirds、MORE Wallet、Dappreview 等任一錢包及應用商城或者登陸 UNI官方網址  unicorn.bi 即可暢玩遊戲。

Unicorn Wallet:透過 RPC 計算機通訊協議實現的跨鏈錢包,可以讓使用者在 Unicorn 賬號上管理多個區塊鏈資產,並且可以進行實時幣幣兌換和應用消費。

Unicorn-HOME:全球首家基於區塊鏈去中心化旅行民宿服務平臺。透過去中心化的區塊鏈網路直接連結家有空房出租的房主和消費者,在為使用者提供多樣的住宿資訊的同時,構建信任、激勵、零佣金的未來旅行服務生態。

校萌鏈:利用區塊鏈技術解決現實留學難題,將學生學歷上鍊來解決第三方信任問題和打擊造假學歷,以及利用大資料與人工智慧技術做一對一的留學分析。

據瞭解,UNI將於 2020 年第四季度實現主網上線,接下來將把重點放在以下幾個方面:

跨鏈/公鏈:研發RAFT、UPOS共識、研發UDFS與IPFS分散式儲存,研發SGX硬體同態加密計劃,研發跨鏈閃兌,研發釣魚驗證機制

測試網內測,主網上線1.0,研發跨連結口平臺元件(投票、資產管理、資源系統、交易系統元件等),Phoenix跨連結口平臺1.0

平臺化:開放平臺多鏈錢包API對接文件,引入Dapp開發者;啟動遊戲引擎計劃、推出一鍵跨Dapp渠道釋出;推出遊戲一體化編輯器、推出常用的工具元件

應用:多條鏈上的JOB、輪盤、DICE、BACCARAT、SICBO等遊戲,跨鏈閃兌等應用。

就在不久前,8 月 14  日,UNI與CITEX交易所達成戰略合作,雙方將在共同開發CTT區塊鏈應用、推進無感化鏈應用落地、建設Staking生態等多個方面做出努力,並且UNI 通證即將於8月19日首發上線CITEX CIC交易所開放申購,也是CITEX首個IEO專案。UNI 將為區塊鏈行業、開發者和使用者帶來怎樣更安全好用的價值和體驗,值得拭目以待。

參考文件:

Raft code&paper   https://raft.github.io/   https://raft.github.io/raft.pdf

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;