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