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