隱私計(jì)算與區(qū)塊鏈結(jié)合的好處是什么
隱私計(jì)算主要解決區(qū)塊鏈在面臨復(fù)雜業(yè)務(wù)場(chǎng)景中,對(duì)原始數(shù)據(jù)外發(fā)進(jìn)行可用不可見的隱私保護(hù),當(dāng)前隱私計(jì)算主要包含可信執(zhí)行環(huán)境(TEE)、同態(tài)加密(HE)、安全多方計(jì)算(MPC)和零知識(shí)證明(ZKP)四種技術(shù)方案。
隱私計(jì)算與區(qū)塊鏈的結(jié)合,不但能夠提供數(shù)據(jù)隱私保護(hù),還能解決區(qū)塊鏈性能瓶頸,已經(jīng)成為區(qū)塊鏈落地商用的重點(diǎn)研究方向,在未來(lái)隱私計(jì)算也將同區(qū)塊鏈一樣成為通用的信息基礎(chǔ)設(shè)施。
Trias中的隱私賬戶設(shè)計(jì)
Trias的隱私賬戶在設(shè)計(jì)上采用了面向賬戶和UTXO兩種模式,以賬戶制為核心實(shí)現(xiàn)復(fù)雜業(yè)務(wù)的需求,以UTXO支持更高的隱私需求和潛在的擴(kuò)展性需求。
當(dāng)前很多主流的區(qū)塊鏈項(xiàng)目賬戶在具體使用的時(shí)候,都會(huì)強(qiáng)調(diào)自己的交易非常安全,但實(shí)際上每個(gè)賬號(hào)的具體操作和使用全世界的鏈上參與者都能看見,這就給鏈上交易帶來(lái)一定的隱患。
Trias在實(shí)現(xiàn)目標(biāo)的時(shí)候不但能很好的體驗(yàn)到區(qū)塊鏈上去中心化匿名應(yīng)用的好處,也能最大限度的保護(hù)使用者的隱私,不讓與本次交易無(wú)關(guān)的人覺察自己資產(chǎn)的動(dòng)向。
1. 兼容兩種賬戶
這里簡(jiǎn)要介紹一下賬戶(Account)和UTXO兩種模型的區(qū)別。
賬戶模型很容易理解,我們?nèi)粘J褂玫你y行卡、支付寶、微信錢包等支付方式都是基于賬戶模型設(shè)計(jì)的。每人的賬戶中都有一個(gè)余額作為狀態(tài),即當(dāng)前余額是記錄在某個(gè)地方的,這種設(shè)計(jì)即被稱為賬戶模型,比如我們的銀行卡余額就被記錄在銀行的數(shù)據(jù)庫(kù)中。
UTXO模型是比特幣獨(dú)創(chuàng)的價(jià)值轉(zhuǎn)移基本單元。其核心設(shè)計(jì)思路是無(wú)狀態(tài),即只記錄交易變更事件,而不記錄交易的最終狀態(tài)。區(qū)塊鏈系統(tǒng)只處理交易,而清算余額等過程,則交由節(jié)點(diǎn)自行處理。
綜合來(lái)看,兩種機(jī)制各有優(yōu)劣。目前比特幣采用UTXO,以太坊選用的是Account。
UTXO:原理簡(jiǎn)單、易于擴(kuò)展、高度并行、隱匿性強(qiáng)。
Account:易于理解、節(jié)省空間、易于實(shí)現(xiàn)、模式成熟。
涉及到賬戶相關(guān)的各種操作,如賬戶注冊(cè)、管理秘鑰、權(quán)限變化等,每個(gè)賬戶有三套秘鑰,一套支持面向賬戶機(jī)制的操作,一套面向UTXO機(jī)制使用,一套用于表明賬戶所屬,極端情況下可用于賬戶找回(冷備份)。
2. 交易隱私支持
Trias支持采用UTXO的方式進(jìn)行轉(zhuǎn)賬交易,同時(shí)支持采用隱藏地址和零知識(shí)證明的方法進(jìn)行匿名轉(zhuǎn)賬。
我們先說(shuō)隱藏地址。在UTXO的工作模式下,假如A賬戶向B賬戶進(jìn)行轉(zhuǎn)賬。A賬戶會(huì)通過B賬戶的公鑰產(chǎn)生一個(gè)臨時(shí)地址,并把資產(chǎn)轉(zhuǎn)移到對(duì)應(yīng)的臨時(shí)地址中去。在收款的過程中,B賬戶需要?dú)v遍所有的有效交易,并通過私鑰和交易隨機(jī)數(shù)來(lái)判斷收款人是否是自身。
其過程如下:A賬戶向B賬戶轉(zhuǎn)賬,B賬戶有兩對(duì)橢圓曲線算法公私鑰對(duì),(m,M),(n,N),其指定橢圓曲線的公共參數(shù)為G:
通過上述流程計(jì)算出臨時(shí)地址P,A轉(zhuǎn)賬至P中并公開R。而B賬戶通過R計(jì)算出對(duì)應(yīng)的隱藏收款中的私鑰。如此,既實(shí)現(xiàn)了轉(zhuǎn)賬收款的全過程,有保護(hù)了A賬戶的隱私信息。
而零知識(shí)證明作為近年來(lái)頗為火熱的技術(shù),受到了國(guó)內(nèi)外學(xué)術(shù)界的廣泛探討和研究。什么是零知識(shí)證明呢?舉一個(gè)例子,有一個(gè)環(huán)形走廊,出口與入口在一個(gè)位置,中間被一道上了鎖的門隔斷, B聲稱他有鑰匙,那么A如何在不拿到鑰匙的情況下知道B真的有鑰匙。這時(shí),A只需要看到B從入口進(jìn)入,并從出口走出,這樣A便可以相信B持有門的鑰匙這一事實(shí)。
零知識(shí)證明指的是一方向另一方陳述一件事是正確的,而不透露出該陳述之外的任何信息。證明者不直接告訴你答案,而是采用另一種表達(dá)方式來(lái)讓向你證明,直到你認(rèn)為對(duì)方確實(shí)知道答案為止。在Trias中,零知識(shí)證明主要由zkSNARK算法所實(shí)現(xiàn)。