如何用區(qū)塊鏈進(jìn)行存在性證明
前一段傳聞以太坊創(chuàng)世人VB車禍身亡的謠言,VB用一種區(qū)塊鏈高度塊的證明方式很有意思的回應(yīng)了他還存在的證明,這是一種典型的存在性證明方式,今天聊聊如何用區(qū)塊鏈進(jìn)行存在性證明
如果了解區(qū)塊鏈原理后,你可以很輕松的理解如何用區(qū)塊鏈進(jìn)行存在性證明,上圖VB手拿最新以太坊區(qū)塊鏈高度和地址,再配以他的圖片很好的證明了他于區(qū)塊生成后的那個(gè)時(shí)點(diǎn)的存活證明,其實(shí)這并不新鮮,以往我們很多時(shí)候用的是發(fā)行量大的報(bào)紙和真人照片進(jìn)行存在性證明。
其實(shí)區(qū)塊鏈和報(bào)紙?jiān)诖嬖谛宰C明上有很多相似之處,主要有三點(diǎn):
首先是數(shù)據(jù)篡改困難,如果把當(dāng)日的報(bào)紙看成一個(gè)節(jié)點(diǎn),那么區(qū)塊鏈和報(bào)紙一樣有著巨大的數(shù)量,如果要篡改需要重新發(fā)行巨大的數(shù)量的節(jié)點(diǎn)(這點(diǎn)和修改所有節(jié)點(diǎn)區(qū)塊數(shù)據(jù)一樣具有很大的難度);
其次,報(bào)紙和區(qū)塊鏈一樣具有天然的時(shí)序性,報(bào)紙都會(huì)有當(dāng)天的發(fā)行時(shí)間,區(qū)塊鏈一樣具有時(shí)序性,區(qū)塊的生成時(shí)間會(huì)被記錄;
第三,具有公開驗(yàn)證方式,你可以買一張當(dāng)日的報(bào)紙進(jìn)行時(shí)間驗(yàn)證,區(qū)塊鏈可以通過瀏覽區(qū)塊信息進(jìn)行驗(yàn)證。
但是,秉承著深入探索的精神,你也會(huì)發(fā)現(xiàn)這種拍照方式的兩個(gè)存在性證明的主要限制:
1、真實(shí)性和存在性,首先照片中只能證明圖片中的人于區(qū)塊生成后的時(shí)間點(diǎn)存活,但是不能證明這就是VB本人;這張圖片是我在Twitter上的截屏,我們之所以相信這是VB本人,是因?yàn)樗盟馁~號(hào)發(fā)了這張圖,這是我們信任中心化用戶系統(tǒng)的結(jié)果。所以不應(yīng)割裂的看待真實(shí)性和存在性。
2、應(yīng)用范圍限制,這種拍照基于時(shí)序的點(diǎn)的證明方式只能證明時(shí)序點(diǎn)以后的情況,也就是常說的后向時(shí)間點(diǎn)、有時(shí)我們需要證明該時(shí)間點(diǎn)以前的事情,或者證明一個(gè)時(shí)間段內(nèi)的事情。
對(duì)于前項(xiàng)時(shí)間點(diǎn)證明有一個(gè)具體的例子,比如一項(xiàng)專利發(fā)明在保密期內(nèi),里面重要的數(shù)學(xué)公式處于保密狀態(tài)不便于公布,如果出現(xiàn)異議,雙方都可以找到創(chuàng)世區(qū)塊的時(shí)間點(diǎn)進(jìn)行證明,就無法判定了,一般來講我們需要標(biāo)記一個(gè)唯一的值,進(jìn)行前向時(shí)間點(diǎn)證明,簡(jiǎn)單來講就是我們可以把公式進(jìn)行hash,然后將其寫入?yún)^(qū)塊鏈一個(gè)特殊交易中并取得這個(gè)地址,那么就不怕這個(gè)公式泄露了,對(duì)于任何其他人公布的發(fā)明時(shí)間,我們都可以提出更早的時(shí)間點(diǎn)證明。
所以歸納一下關(guān)于時(shí)間點(diǎn)證明不外乎三個(gè)方式:
1、前向時(shí)間證明:證明更早的時(shí)間點(diǎn)擁有某些數(shù)據(jù)
2、后向時(shí)間證明:證明在某個(gè)時(shí)間點(diǎn)之后擁有數(shù)據(jù)
3、時(shí)間段證明:結(jié)合1,2兩點(diǎn)的方式完成時(shí)間段證明
具體是用區(qū)塊鏈的是現(xiàn)實(shí)方式比較簡(jiǎn)單,因?yàn)轭愃?u>比特幣、以太坊等都有一個(gè)block meta信息段,可以寫入少量的hash數(shù)據(jù),你可以構(gòu)造一個(gè)帶blockmeta的交易信息,將需要的證明hash永久寫入?yún)^(qū)塊進(jìn)行前向時(shí)間證明(以前的所謂比特幣刻字就是這個(gè)原理),當(dāng)然你也可以開下腦洞,通過hash值構(gòu)造特殊的私鑰,并通過私鑰產(chǎn)生公鑰地址,隨便往這個(gè)公鑰發(fā)送一個(gè)數(shù)據(jù),并公布這個(gè)公鑰的交易,需要證明時(shí),只需要使用私鑰進(jìn)行驗(yàn)證該公鑰地址,以證明那個(gè)時(shí)間點(diǎn)的數(shù)據(jù)。
其實(shí),今天我想討論的是第一個(gè)關(guān)于真實(shí)性和存在性的問題,通過剛才的介紹我們知道,區(qū)塊鏈實(shí)現(xiàn)時(shí)間點(diǎn)的存在性證明很容易。而基于時(shí)間點(diǎn)的存在性和真實(shí)性證明可以用于數(shù)字存證,進(jìn)行版權(quán)、專利、數(shù)據(jù)等的存證有重要商業(yè)意義,對(duì)于論文、圖片、音樂、視頻等數(shù)據(jù)可以通過SVD(奇異值分解)進(jìn)行數(shù)字水印,抽取數(shù)據(jù)特征值,哪怕是抄襲者修改了部分?jǐn)?shù)據(jù),也可以通過SVD進(jìn)行真實(shí)性驗(yàn)證。
而對(duì)于人的活體真實(shí)性證明是最有意思的,有一個(gè)典型的應(yīng)用場(chǎng)景,就是養(yǎng)老金的發(fā)放,現(xiàn)在廣泛采用的是讓老人與當(dāng)日?qǐng)?bào)紙拍照,然后進(jìn)行人工驗(yàn)證,這種方法效率比較低下,存在人工審核漏洞,所以存在有很多老人去世后,大量的持續(xù)冒領(lǐng)養(yǎng)老金的情況,這里面有造假、人員腐敗等多種問題。
我能想到的就是結(jié)合基于區(qū)塊鏈用戶系統(tǒng)并通過硬件采集活體指紋和虹膜的方式進(jìn)行電子化的活體真實(shí)性證明,目前活體指紋和虹膜識(shí)別技術(shù)比較成熟了是比較好的方式,而活體面部識(shí)別技術(shù)由于人的活動(dòng)可以枚舉,比如點(diǎn)頭、眨眼、張嘴、搖頭,只需要錄播這幾個(gè)過程就可以偽造,我自己拍攝過枚舉視頻通過另一部手機(jī)回放,成功騙過支付寶的視頻驗(yàn)證,造假成本非常低,這不是最好的方式。
我能想到的比較有限,還希望高人多指點(diǎn),相信結(jié)合去中心化的系統(tǒng)與硬件技術(shù)可以構(gòu)造一個(gè)比較理想的授信任的認(rèn)真實(shí)性和存在性證明系統(tǒng)