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