如何在區(qū)塊鏈中通過數(shù)據(jù)加密來保護(hù)資料
隱私限制
在處理或交換業(yè)務(wù)文件時,貿(mào)易伙伴可能需要某些隱私因素。
(1)交易數(shù)據(jù)的隱私性: 交易數(shù)據(jù)僅供交易雙方閱讀。
(2)交易數(shù)量和交易對手的身份保密: 公司及其交易對手的交易數(shù)量是競爭信息,不得泄露。
(3)時間可見性: 員工加入競爭對手,因此仍然可以訪問系統(tǒng),不應(yīng)該看到舊交易。
(4)部分可視性: 并非所有當(dāng)事人都能看到相同的信息。例如,買方和賣方可以看到交易的所有字段,但是貨運(yùn)公司應(yīng)該只能訪問送貨地址,而不能訪問價格。
(5)添加/刪除交易對手方: 可能需要能夠在交易過程中添加或刪除交易對手方,并允許它們訪問相關(guān)文件。
使用公共區(qū)塊鏈存儲和交換交易數(shù)據(jù)會造成主要的隱私障礙:默認(rèn)情況下,分類帳中輸入的所有數(shù)據(jù)都是清晰的。由于每個節(jié)點都有一個完整的分類賬副本,因此無法保存數(shù)據(jù)的機(jī)密性。
通過加密保護(hù)資料
數(shù)據(jù)加密保護(hù)了交易數(shù)據(jù)的隱私,但網(wǎng)絡(luò)中交易方的多樣性和環(huán)境的不可信任性需要特定的算法。本算法的主要步驟如下:
所有網(wǎng)絡(luò)涉眾都發(fā)出一個非對稱密鑰對,并在網(wǎng)絡(luò)之外交換它們的公鑰。
然后,在交換信息時:
· 生成一個隨機(jī)數(shù)
· 一個對稱的AES 256密鑰是由這個數(shù)字生成的
· 發(fā)送方使用其私鑰簽署AES密鑰(=》“簽名”)
· 消息使用AES密鑰加密(=》“加密消息”)
· 對于每個接收方,AES密鑰都使用接收方的公鑰加密(=》“加密密鑰”)因此,分類賬中記錄了以下內(nèi)容:簽名/加密信息/加密密鑰
接收方收到信息時:
· AES 256密鑰使用接收方的私鑰解密
· AES 256密鑰通過使用發(fā)送方的公鑰驗證簽名來控制
· 內(nèi)容使用AES 256密鑰解密
這種加密算法在多大程度上保證了隱私限制?
該算法提供了安全性和不可抵賴性,它還通過只寫一次(加密的)內(nèi)容來最小化分類賬中的存儲需求。因此它尊重隱私限制。
此外,對稱加密密鑰稍后可以與控制器共享,因此隱私限制得到了尊重。
離開公司的員工將不能再使用對稱密鑰,也不能再看到過去交易的內(nèi)容:因此尊重了隱私限制。
最后,同一個交易可以使用多個對稱密鑰加密交易的不同字段,并與涉眾共享密鑰,從而只公開他們感興趣的信息:因此尊重了隱私限制。
但這種算法的缺點是需要在網(wǎng)絡(luò)之外交換密鑰。最重要的是,它不隱藏交易中涉及的各方,因此不尊重隱私限制。
加密是業(yè)務(wù)邏輯的障礙?
回顧過去對隱私的需要,加密數(shù)據(jù)還對區(qū)塊鏈中的智能合約的范圍和使用造成了嚴(yán)重的限制,因為它們只能對記錄在分類賬中的數(shù)據(jù)進(jìn)行操作,因此每個人都可以看到這些數(shù)據(jù)。
這帶來了一系列新的挑戰(zhàn):如何以符合隱私限制的方式加密數(shù)據(jù),同時讓“可信”業(yè)務(wù)邏輯操作這些數(shù)據(jù)?許多研究人員已經(jīng)在研究這個主題,看看這個主題是如何演變的將會很有趣。