一、非對稱加密技術是構建區塊鏈應用的基石
非對稱加密技術在信息化系統中始終扮演著關鍵角色,成為構建信息化系統諸多核心功能的基礎。
在區塊鏈系統中,非對稱加密技術除了用于用戶標識、操作權限校驗,還用于數字資產地址的生成、資產所有權的標識和數字資產的流轉。
如圖1所示,具體來說,基于非對稱加密技術的數字簽名可以構建公私鑰對以標識用戶身份;
可以基于公鑰生成加密資產地址,以公私鑰對檢驗資產所有權;可以用私鑰對操作簽名,用公鑰校驗用戶的操作權限;
還可以用接收方公鑰對傳輸數據加密,接收方用私鑰解密并讀取數據。
區塊鏈中的“人”、“財”、“權”和“數據”都依靠非對稱加密技術來標識,相應的職能和權限也需要依靠非對稱加密技術來保障和實現,因此可以說,非對稱加密技術是構建區塊鏈應用并促進其發展的基石。
二、傳統的非對稱加密技術無法有效實現對分布式和去中心化系統的支持
分布式和去中心化信任是區塊鏈系統的重要特征,這些特征保障了區塊鏈系統在多方參與的環境下能降低信任門檻,達到更高的系統效率。
但非對稱加密本身的設計和實現卻是中心化的,無法有效實現對分布式和去中心化系統的支持。
目前區塊鏈系統使用的非對稱加密算法,從私鑰到公鑰的計算使用的都是中心化的算法,公私鑰對的生成都需要基于完整的私鑰,即私鑰和公鑰之間的關系是1對1的,而無法有效實現N對1的關系。
因此,非對稱加密技術不能有效支持同一事務在多方參與下的業務協同,不能對區塊鏈中的“人”、“財”、“權”和“數據”實現原生的分布式管理。
目前對資產所有權的分布式管理、對資產的有效鎖定和托管,基本都是在位于Level 2的應用層基于多重簽名和智能合約編程實現,對操作權限的審批也需要通過合約來實現。
但這兩種方式并非所有的區塊鏈都支持,或者支持能力有限。
例如BTC不支持智能合約,在多重簽名上最多只支持5個多重簽名和3/5的門限;而ETH不支持多重簽名,需要編寫智能合約來實現類似的功能。
另一個方面,從安全角度,在上層完成的功能實現除了需要考慮自身業務邏輯的完備性,還需要考慮來自系統底層的攻擊,系統底層的漏洞也會給上層應用的安全帶來更大的影響。
三、分布式密鑰技術可以實現對分布式系統的原生支持
如果我們將中心化的非對稱加密算法改造為分布式的非對稱加密算法,即本文所稱的分布式密鑰技術,。
如圖2所示,將現有一個用戶生成完整私鑰改造為由多個節點獨立生成各自私鑰分片,將現有的中心化計算過程改造為分布式的計算過程。
將1個私鑰與1個公鑰的對應關系改造為1組私鑰集合與1個公鑰的對應關系,那么原來基于單一私鑰的公鑰生成、簽名、驗簽以及數據加密等過程就都可以改造為在1組私鑰的基礎上完成公鑰生成、簽名、驗簽和數據解密的過程,資產托管、審批等原來全部位于Level 2,由智能合約完成的業務就可以通過調用位于Level 1的底層分布式密鑰部件實現,并且這樣的分布式密鑰部件的功能是原子性的,具有同等的密碼安全強度。
分布式密鑰技術與基于秘密分享技術生成私鑰分片的方案存在本質上的不同。秘密分享的方案是先生成完整的私鑰,再對私鑰進行拆分,形成若干個私鑰分片交給多方分別保存。
由于出現過完整私鑰,無論是技術上還是管理上都難以保證完整的私鑰沒有泄露過。
而分布式密鑰方式直接由各個參與者獨立生成各自的私鑰分片,在整個過程中沒有出現過完整私鑰,也不存在參與者之間傳遞和分享各自生成的私鑰分片,因此也就不存在泄露完整私鑰的問題。
圖3是利用現有的非對稱加密算法實現數據加解密與利用分布式密鑰算法實現加解密的對比示意圖。
在現有方式下,Bob給Alice發一份秘密信息,Bob用 Alice的公鑰PK對信息加密,Alice收到后,用自己的私鑰 SK對信息解密。
在分布式密鑰算法情況下,Bob給群組Group發一份秘密信息,Bob用群組 Group的公鑰PK對信息加密,群組收到加密信息后,需要用群組中不同人的私鑰,包括Alice、 Carl 和David等人每個人的 SK共同對信息解密。
通過以上對現有中心化方式下的非對稱密碼算法進行的分布式背景下的改造,可以實現基于區塊鏈以及其他分布式應用對“人”、“財”、“權”和“數據”的原生的分布式支持,從而可以實現更加豐富的上層分布式應用。
在分布式密鑰技術基礎上,配合跨鏈互操作方案,還可以實現對來自不同區塊鏈系統或者傳統信息化系統中“人”、“財”、“權”和“數據”的遠程管理,如圖4所示,從而構建起一種立足于分布式密鑰算法的跨鏈方案。
四、非對稱加密技術的分布式實現是推動區塊鏈技術與應用治理的實質性突破
在現有的區塊鏈系統以及信息化系統中,私鑰就是用戶在系統中的通行證,即使在異常情況下也沒有人可以對其行為施加影響。
在這種情況下,我們只能依靠KYC,依靠對數據進行分析以發現異常,并且依賴于異常情況下的事后處置。
這種情況的出現主要是因為缺少合適、有效的監管工具和監管手段。在現有數據采集和數據分析基礎上,我們應該賦予區塊鏈應用以事前的審批能力,對外部區塊鏈應用的跨鏈插針式的監管能力,以及在某些特定情況下對資產控制權的接管能力。
而這些能力需要依賴于非對稱加密算法的分布式實現的突破。如圖5所示,通過分布式身份管理協議實現對“人”的分布式管理,通過分布式資產協議實現對“財”的分布式管理,通過分布式權限管理協議實現對“財”的分布式管理,通過分布式數據管理協議實現對“數據”的管理,以及基于分布式密鑰的跨鏈實現方案共同構建區塊鏈所需的監管能力。
因此,非對稱密碼技術的分布式實現是推動區塊鏈技術與應用治理實現實質性結合,是推動區塊鏈產業發展與推廣的必要的技術基礎。
五、分布式密鑰可以實現豐富的業務邏輯組合
1. 實現用戶身份的分布式管理
基于分布式密鑰算法,用戶可以通過多種方式,實現自身與這個分布式生成的私鑰集合綁定,從而實現將易讀性和保存困難的私鑰托管給非中心化的分布式系統,進而實現用戶身份在這個分布式系統中的托管。
這種綁定的安全性也是數學可證明的。由于每一個分布式私鑰都不能獨立地生成有效簽名,因此這樣的托管是安全的。
用戶實現與分布式私鑰集合形成綁定關系的方式可以有以下幾種。
(1)用戶在受托的分布式系統中生成托管賬戶
用戶可以在受托的分布式系統中生成一個托管賬戶,托管賬戶也是以非對稱密鑰算法來實現的,相當于在受托系統中完成注冊。
如圖6所示,賬戶生成完成之后,用戶可以要求由受托的分布式系統生成在第三方系統中的用戶身份。
用戶身份生成時就完成了該托管身份與用戶在受托的分布式系統賬戶間的綁定,也同時完成了用戶身份的托管,從而用戶就可以用自己在受托的分布式系統中的同一個賬戶管理多個第三方系統中的用戶身份。
在該方案中,用戶的身份是完全托管在受托的分布式系統中的。用戶持有證明自己在該系統中對應的賬戶,從而擁有賬戶下綁定的所有托管的用戶身份。
這樣的綁定關系依賴于受托的分布式系統的對應記錄。
它的優勢在于托管身份對應的分布式私鑰集合完全存在于分布式系統中,用戶不用關心它的安全。
同時,在使用過程中,用戶只要發起操作請求,分布式系統在接受請求后完成后續的操作,不需要用戶的全程參與。
(2)用戶持有分布式私鑰集合中的一個或若干個私鑰
另一種實現方式是由用戶持有分布式私鑰集合中的一個或多個私鑰。在該方式中,用戶既是身份托管的委托方,也是身份托管的受托方之一。
用戶與某個托管身份的綁定關系是由密碼算法保證的,這是一種數學可證明的綁定關系。
可以通過對算法的參數進行設置以實現分布式私鑰功能。
例如在簽名過程中,如果需要用戶所持有的分布式私鑰的參與,則可以形成如圖7所示的更加豐富的邏輯功能。
該方案的優勢在于提供了更高的身份托管的安全性。但在簽名使用中,需要用戶全程的參與。
2. 實現隱私和監管
用戶在應用系統中的某些行為,需要實現隱私保護。用戶身份托管可以為現實世界中的用戶提供可靠的隱私身份。
通過分布式密鑰系統,可以搭建一個去中心化的分布式用戶身份托管平臺,分布式的算法和去中心化的特點保障了并沒有一個實體第三方可以獲得與受托用戶身份對應的現實世界中的用戶真實信息。
同時,在當前的現實世界中,政府對一些行業和一些特定的應用又有明確的監管需求,例如金融、進出口和海關等。
監管在于能夠了解宏觀數據,進行適時的調控,或者在出現特殊情況的時候,能夠有有效的審查手段定位問題的根源。這就在隱私和監管之間提出了分層管理的要求,也就是在日常的使用中,用戶在系統中的行為應該得到隱私保護,而又能夠在一個小范圍內提供可監管和審計的能力。
在具有監管功能的應用系統中,如圖8所示,用戶在生成身份托管系統賬戶前,可以接入對應的KYC系統,按照所在地法律法規的要求完成所需的身份認證。
這些KYC數據將不會出現在身份托管系統或應用系統中,從而保障其在應用系統中的隱私行為,同時這些數據在KYC中進行加密保存并向特定部分授權訪問,從而滿足監管和審計的需求。
3. 實現用戶權限的分布式管理
分布式密鑰算法可以進一步結合門限簽名等密碼技術,在分布式私鑰之間構建起更加豐富的邏輯關系。
基礎的邏輯關系包括:
(1)分布式私鑰間對等的“與”關系
在不設置門限的情況下,一個分布式私鑰集合中各個私鑰所具有的權力是均等的。在完成相應的操作時需要所有分布式私鑰的全體參與,所以表現出分布式私鑰間“與”的邏輯關系,如下所示:
(2)門限構建的分布式私鑰間的“與或”關系
在設置門限t/n, t≤n的情況下,一個分布式私鑰集合中各個私鑰是對等的。但完成相應的操作時需要超過t個分布式私鑰的共同參與,所以表現出分布式私鑰間與或的關系。如下所示:
(3)指定某個分布式私鑰的“與或”關系
在門限的情況下,指定完成簽名操作時,其中某個分布式私鑰必須參與,則被指定的分布式私鑰與其他參與的分布式私鑰之間就具有對結果與的關系。
在使用分布式私鑰構建權限關系的時候,這組分布式私鑰并不是對應于一個用戶,而是將分布式私鑰中的各個分布式私鑰分別對應到實際業務應用中的多個參與者身上,從而由上述的邏輯關系構建參與者之間在業務應用中相對的權限關系。
(4)對等分布式私鑰“與”的關系
分布式私鑰集合中私鑰數量與應用參與者數量1:1,如圖9和圖10所示,每個應用參與者持有集合中的1個分布式私鑰,于是就在這些參與方之間構建起對等的決策關系。
這在業務層面的邏輯上就意味著所有的操作都需要得到全體參與者的一致同意才能完成。
(5)門限構建的分布式私鑰間“與或”的關系
分布式私鑰集合中私鑰分片數量與業務中參與者數量1:1,每個參與者持有其中的1個私鑰分片,但由于門限的存在構建起少數服從多數的決策關系,超出門限部分的參與者意見,如圖11和圖12所示,不會影響最終的決策結果。
分布式私鑰集合中私鑰數量與應用參與者數量1:n(n≥1),則不同參與者持有數量不等的分布式私鑰數量,如圖13所示,持有分布式私鑰數量的多少,對應了不同參與者在意見表達中不同的權重。
例如,股東會中不同股東擁有不同表決權的應用場景。
(6)指定某個分布式私鑰“與或”關系
在這個情況下,最終結果必須得到持有該分布式私鑰的參與者的支持,相當于持有該分布式私鑰參與者對決策具有一票否決權,如圖14所示。
六、基于分布式密鑰技術實現有效監管
1. 操作實時審批
通過歷史記錄數據評價系統運行狀況,檢查業務應用是否符合規范,發現其中有無違規異常操作并提示相關風險,是事后監管和事后糾錯方式。
對于核心、關鍵業務應用,需要賦予業務監管者以事前審批能力。
傳統的方式是通過業務流轉的方式實現不同權限對于一個業務請求的審批操作,但其存在如下不足:
(1)業務流轉的審批方式依賴于代碼對業務邏輯實現的準確性,有存在邏輯漏洞的可能性;
(2)業務流轉的審批方式不能形成對決策過程的有效憑證,審批流程和最終系統中提交的指令不構成嚴密的相關性,形成不了可追溯并且不可篡改的邏輯關系。
分布式密鑰技術可以實現有監管者參與的分布式簽名,賦予監管者對用戶操作的實時審批能力。如圖15所示。
具體流程如下:
(1)操作指令執行者(一方或多方)和監管者(一方或多方)各自獨立掌握自己的私鑰分片;
(2)對于執行者提交的操作,如果需要監管者審批,則采用分布式的方式由監管者對操作指令完成有效的簽名,該簽名可以被第三方以傳統的公鑰方式校驗;
(3)簽名的過程是交互式的,監管者在收到執行者提交的操作指令時,以及在簽名過程中,都可以終止該交易的簽名,拒絕形成有效的交易指令。
基于分布式密鑰技術的分布式簽名是一個數學可證明的過程,分布式形成的簽名是一個對審批決策流程可追溯,并且不可篡改的有效數字憑證。
同時,被監管的對象和鏈上資產都可能參與到第三方區塊鏈系統的業務應用中。由此,通過分布式密鑰技術可以實現對監管對象和鏈上資產在其他區塊鏈系統中的用戶身份、賬戶地址和操作指令的分布式控制,也可以實現如圖16所示的對跨鏈系統的插針式監管,對第三方系統中的用戶、資產和操作提供實時的審批能力。
2. 異常處理
對于事后審計發現的異常情況,例如對于某些監管對象的違規操作行為和相關賬戶資產的接管,需要賦予監管者以不需要被監管對象參與的異常處理能力。
通過分布式密鑰技術采用門限閾值設置,可以賦予監管者達到閾值設置的私鑰分片,從而實現在特殊情況下,對于特定資產的緊急處理能力。
如圖17所示,在這個過程中,監管者可以在需要的時候利用達到門限閾值的私鑰分片,完成對特定監管賬戶中資產的轉移,從而鎖定相關資產,避免后續違規操作的持續發生。
責任編輯;zl
評論
查看更多