如何基於區塊鏈實現高質量協同?

買賣虛擬貨幣

目前我們所看到的區塊鏈落地應用,無論是公有鏈還是所謂的“聯盟鏈”,在區塊鏈系統底層的資料視角來看,所有使用者都是單一型別使用者,節點具有高度的同一性。區塊鏈系統對節點的區分,更多是從區塊鏈系統運維的角度,而不是從業務邏輯執行的角度。

區塊鏈系統基於單一型別使用者和同一性質的節點實現的資料真實全網可驗證,對於降低資訊不透明、建設可信體系具有重要意義;對於最佳化業務流程、降低運營成本、提升協同效率,具有重大的革命性意義。

但現實社會中,大部分業務場景中的使用者並非單一型別。最佳化業務流程、提升協同效率,一定是角色定位不同的雙方或多方之間的事情,而不是同一型別使用者內部的事情。那麼,如何基於區塊鏈實現高質量協同呢?

一種解決方案是在區塊鏈系統底層技術架構不變的情況下,透過應用層的智慧合約,在應用層對使用者進行角色定義和行為檢驗,一旦使用者角色和行為觸發智慧合約約定的條件,就執行智慧合約規定的動作。

節點使用者在系統底層不存在功能和定位上的差別,在應用層又被定義為不同的角色並執行不同的功能,這極有可能給系統架構設計帶來邏輯的難以自恰,進而導致程式設計邏輯上的諸多困難,甚至有一些業務邏輯難以在區塊鏈系統上建立起來。

協同的產生,意味著不同型別使用者在業務邏輯定位方面存在差異。業務邏輯定位差異,一是體現在不同型別使用者在業務流程中的位置不同,也就是時序方面的差異,這是業務邏輯層面或應用層面需要解決的。二是體現在不同型別使用者在許可權方面的差異。許可權方面的差異首先源於使用者所在的型別定義,其次是基於其型別定義之上的可執行動作集合或功能集合的差異。

使用者型別定義和功能集合可以在應用層進行定義並執行,但如果使用者型別較多、功能較豐富,其定義就會有相當大的難度,同時又涉及到使用者許可權的安全和系統的可靠性問題。如果能夠在區塊鏈系統底層就實現對使用者業務角色的定義和區分,透過底層業務角色的定義支撐應用層業務角色功能的實現,則既能做到使用者角色定義的安全和系統的可靠,又可以省去在應用層再對使用者型別定義進行編碼。

基於安全多方計算實現的金鑰分片技術,是可以在區塊鏈系統底層實現使用者角色定義的基礎性技術。傳統的非對稱密碼演算法要求一個私鑰對應一個公鑰,這對於定義個人身份以及許可權是可行的,但難以處理多方協同問題。

比如透過單一私鑰來管理集體數字資產,將面臨極大的風險。通常的解決辦法是將這個私鑰進行拆分,由多個人分別保管其中一個或幾個私鑰分片,在規定門限數量基礎之上,可以實現集體數字資產的集體管理。但其弊端在於完整的私鑰必須事先已經存在,否則無法進行私鑰的拆分。由於完整的私鑰已經存在,因此就無法保證該私鑰沒有被洩露,也就是無法解決源頭信任的問題。

基於安全多方計算實現的金鑰分片技術,是參與方分別獨自生成自己的私鑰分片,在所有參與方獨自生成各自私鑰分片的基礎之上,由系統程式碼運算生成與這些私鑰分片集合對應的公鑰。在這個過程中,任何參與方都不會向其他人完整呈現自己的私鑰分片,系統運算任何一個環節也不會出現任何參與方的私鑰分片,當然更不會出現任何形式的完整私鑰,從而在理論上和工程上保證了系統的安全。

傳統區塊鏈系統是用單一金鑰對(私鑰+公鑰)來標識使用者的身份,且這種標識貫穿於該區塊鏈所有應用場景。基於安全多方計算實現的金鑰分片技術,代之由一個私鑰分片或一個私鑰分片組來標識特定使用者身份,且該使用者身份僅存在於由該節點私鑰分片所對應的公鑰所標識的特定業務應用場景中。

這種身份標識是所有交易發生的前提,是對交易內容所有權的確認基礎,由此實現了使用者身份與場景的結合,而不是像傳統的區塊鏈系統,使用者身份與應用場景是分離的。

此外,依據不同節點的使用者身份和掌握的私鑰分片數量,在應用層還可以定義該節點使用者在特定業務場景中的許可權和可執行的功能集合,以及該使用者節點在特定業務流程中的每一個時刻的功能子集合,這樣就可以高效、完整地實現相關節點在特定業務場景和業務環節下的業務協同了。

由以上分析,我們認為,基於安全多方計算的金鑰分片技術實現,是區塊鏈系統實現高質量業務協同的底層核心基礎設施元件。

免責聲明:

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

推荐阅读

;