區(qū)塊鏈最核心的不可篡改和加密兩項(xiàng)技術(shù)均來自于密碼學(xué)的相關(guān)理論。
公鑰密碼技術(shù)和單向散列函數(shù)為比特幣及其后區(qū)塊鏈的發(fā)展奠定了條件陵刹。
—?密碼學(xué) 公私鑰 單向散列函數(shù)?—
我們知道現(xiàn)在互聯(lián)網(wǎng)除了信息的真實(shí)性之外迂求,存在一個(gè)很大的問題就是用戶產(chǎn)生增量數(shù)據(jù)的動(dòng)力不足碾盐,上篇文章提到的留言板缺乏有效數(shù)據(jù)的情況就屬于這種。
比如我們現(xiàn)在有很多網(wǎng)絡(luò)借貸的平臺(tái)揩局,用戶使用它們的服務(wù)時(shí)毫玖,在填寫了必要的性別、年齡凌盯、收入等數(shù)據(jù)之外付枫,如果平臺(tái)還希望獲得更多的輔助數(shù)據(jù)項(xiàng)進(jìn)行信用評價(jià),用戶往往是不愿意提供的驰怎。
有的平臺(tái)會(huì)采用獎(jiǎng)券阐滩、返點(diǎn)等激勵(lì)的方式驅(qū)動(dòng)這些額外數(shù)據(jù)的收集(激勵(lì)),或者進(jìn)行非常翔實(shí)的解釋工作(協(xié)調(diào)預(yù)期)县忌,但這樣做并不十分有效——部分對隱私不敏感掂榔,或者價(jià)格優(yōu)先型的客戶除外继效。原因就在于沒有可靠的加密技術(shù)的加持,用戶并不能對平臺(tái)完全信任装获,所以即使有了激勵(lì)的承諾瑞信,出于安全的考慮,很多人也還是不愿意配合提供這些數(shù)據(jù)饱溢。
在與加密技術(shù)結(jié)合之后喧伞,激勵(lì)與協(xié)調(diào)預(yù)期的方法才可以真正促進(jìn)數(shù)據(jù)的生產(chǎn)和流動(dòng)。由于數(shù)據(jù)權(quán)屬不會(huì)受到平臺(tái)方的威脅绩郎,而且產(chǎn)生的貢獻(xiàn)可以追蹤到個(gè)人,用戶就可以更放心的通過提供數(shù)據(jù)來獲得激勵(lì)翁逞。設(shè)想在剛才網(wǎng)絡(luò)借貸的場景肋杖,流程變更為產(chǎn)生的額外數(shù)據(jù)僅由用戶單獨(dú)保管,每一次用作借貸分析的需求都要用戶提供特別的簽名授權(quán)挖函,而后再把數(shù)據(jù)使用產(chǎn)生的收益分成返還……
在這種情況下状植,數(shù)字世界的協(xié)作將更易達(dá)成。伴隨個(gè)體加密技術(shù)的發(fā)展怨喘,將大大促進(jìn)用戶深度參與的熱情津畸,拓展我們現(xiàn)在社會(huì)的數(shù)據(jù)邊界。而這種新型加密結(jié)構(gòu)的搭建必怜,也將幫助人類突破大數(shù)據(jù)肉拓、AI技術(shù)目前遇到的主要瓶頸,即多維度的真實(shí)可靠的數(shù)據(jù)源梳庆,成為其下一輪快速增長的必要條件暖途。
不可篡改和加密技術(shù)的背后就是密碼學(xué),為了更清晰的說明這一點(diǎn)膏执,讓我們一起來了解一下這門學(xué)科驻售。由于密碼學(xué)的詳細(xì)內(nèi)容實(shí)在過于艱深復(fù)雜,涉及到大量的數(shù)學(xué)公式和邏輯推導(dǎo)更米,尤其是在與現(xiàn)代社會(huì)的計(jì)算機(jī)網(wǎng)絡(luò)欺栗、量子等技術(shù)結(jié)合后,愈發(fā)變得龐雜而隱晦征峦。因而在這里迟几,我們只能稍稍討論一些它的基本原理,并重點(diǎn)說明它和區(qū)塊鏈之間的聯(lián)系眶痰。
我們很多人都在有關(guān)戰(zhàn)爭的史料里見過一些涉及密碼的情形瘤旨。比如在古希臘城邦間的戰(zhàn)役中兩個(gè)戰(zhàn)場之間傳遞書信,為了擔(dān)心被截獲后被敵人了解到自己的戰(zhàn)略意圖竖伯,信的內(nèi)容往往會(huì)用雙方事先約定好的一套保密的規(guī)則來撰寫存哲。二戰(zhàn)的時(shí)候因宇,盟軍也正是通過破譯敵人的密碼,實(shí)現(xiàn)了著名的諾曼底登陸祟偷。事實(shí)上察滑,密碼學(xué)很多技術(shù)的進(jìn)步都是源自于戰(zhàn)爭的推動(dòng)。
到了網(wǎng)絡(luò)時(shí)代修肠,出于信息安全保障的需求贺辰,密碼學(xué)在商業(yè)實(shí)踐中變得重要起來。在信息社會(huì)嵌施,即便別人復(fù)制了我們的秘密信息饲化,我們也很難有所察覺,因?yàn)槭稚系男畔⒉]有丟失吗伤。由于數(shù)字文檔很容易被修改吃靠,所以我們的重要文件也存在被他人篡改的風(fēng)險(xiǎn)。此外足淆,如果有人將我們的秘密信息通過郵件發(fā)送給第三者或者公開發(fā)布在社交網(wǎng)站上巢块,也會(huì)給我們帶來很大的麻煩。
為了解決上述問題巧号,我們開發(fā)出形形色色的基于計(jì)算機(jī)網(wǎng)絡(luò)的密碼技術(shù)族奢,這就是現(xiàn)代密碼學(xué)存在的根源。本質(zhì)上丹鸿,它是我們?yōu)榉乐咕W(wǎng)絡(luò)信息不受控的被竊取越走、修訂或者擴(kuò)散而開發(fā)的安全風(fēng)控技術(shù)。為了大致了解密碼學(xué)的全貌卜高,我們需要知道一個(gè)叫做“密碼學(xué)家的工具箱”的東西弥姻。
在各個(gè)種類的密碼技術(shù)中,有六種發(fā)揮著尤其重要的作用掺涛,我們將這幾類技術(shù)統(tǒng)稱為密碼學(xué)家的工具箱庭敦,它們分別是:對稱密碼;公鑰密碼薪缆;單向散列函數(shù)(哈希函數(shù))秧廉;消息認(rèn)證碼;數(shù)字簽名拣帽;偽隨機(jī)數(shù)生成器疼电。
以上說法出自布魯斯·施奈爾的《網(wǎng)絡(luò)信息安全的真相》一書,我們可以用上面的圖示來說明它們在信息世界中發(fā)揮的作用减拭。講到這里蔽豺,我們當(dāng)中對于區(qū)塊鏈有所了解的人應(yīng)該能夠找到一些最近經(jīng)常會(huì)遇到的詞匯,接下來讓我們分別來加以說明拧粪。
第一個(gè)工具是對稱密碼技術(shù)修陡,簡單來說就是共享密鑰的密碼沧侥,這時(shí)候加密方和解密方使用相同的密鑰,采用這種方式的風(fēng)險(xiǎn)是需要解決密鑰配送的問題魄鸦。這就好比文件的加密密碼是123456宴杀,解密者需要打開文件,就需要也知道這個(gè)信息拾因,但是如何能夠讓解密者在絕對安全的狀態(tài)下獲知密碼是123456呢旺罢?
雖然可以通過事先了解的方式比如二人約定個(gè)見面地點(diǎn)交換信息,或者指定一個(gè)密鑰分配中心來分別告知雙方等绢记,以及采用類似Diffie-Hellman密鑰交換等更為復(fù)雜的方法扁达,但都存在一定的問題。密碼學(xué)的專家們因此發(fā)明了一種通過公鑰密碼來解決密鑰配送問題的技術(shù)并廣受歡迎庭惜,也就是我們常說的非對稱密碼罩驻。
這就是第二個(gè)工具公鑰密碼技術(shù),這種技術(shù)將密鑰分為加密密鑰和解密密鑰兩種护赊。其中加密密鑰一般是公開的,因此該密鑰被稱為公鑰砾跃;相對的骏啰,解密密鑰是絕對不能公開的,只能由你自己來使用抽高,因此被稱為私鑰判耕。
在公鑰密碼中,使用者需要生成一個(gè)包括公鑰和私鑰的密鑰對翘骂,其中公鑰會(huì)被發(fā)送給別人用于對信息加密壁熄,接收者僅需使用與之匹配的私鑰就可以解密信息。由于配送給對方的公鑰是公開的碳竟,這樣即使在過程中被竊取也沒有關(guān)系草丧,這就解決了對稱密碼中的密鑰配送的問題。
在公鑰密碼出現(xiàn)之后莹桅,其被廣泛應(yīng)用于各類信息加密領(lǐng)域昌执,我們還可以基于它構(gòu)建很多對稱密碼技術(shù)無法實(shí)現(xiàn)的密碼系統(tǒng),比如生成去中心化的身份賬戶诈泼、以及數(shù)字簽名技術(shù)等懂拾,我們將在后面的文章對此進(jìn)行詳細(xì)討論。
第三個(gè)工具是單向散列函數(shù)铐达,它有一個(gè)輸入值和一個(gè)輸出值岖赋,其中輸入被稱為消息,輸出被稱為散列值(音譯為哈希值)瓮孙。單向散列函數(shù)可以根據(jù)消息的內(nèi)容計(jì)算出散列值唐断,散列值也被用來檢查消息的完整性选脊。通過使用該函數(shù),即便是確認(rèn)幾百M(fèi)B大小的文件的完整性栗涂,也只要對比很短的散列值就可以了知牌。
在案件偵查中,辦案人員會(huì)用到指紋斤程。通過將某個(gè)特定人物的指紋與犯罪現(xiàn)場遺留的指紋進(jìn)行對比角寸,就能夠知道該任務(wù)是否與案件存在關(guān)聯(lián)。針對計(jì)算機(jī)網(wǎng)絡(luò)上的信息忿墅,我們也可以運(yùn)用到類似的“指紋”扁藕,當(dāng)需要比較兩條信息是否一致的時(shí)候,我們不必完整地對比消息本身的內(nèi)容疚脐,只要對比它們的“指紋”就可以了亿柑。散列值就是能夠反映這種信息關(guān)聯(lián)性的指紋。
單向散列函數(shù)有四個(gè)主要的屬性棍弄,首先是可以根據(jù)任意長度的消息計(jì)算出固定長度的散列值望薄,其次是能夠快速計(jì)算出散列值,再次是消息不同散列值也不同——兩個(gè)不同的消息產(chǎn)生同一個(gè)散列值的情況稱為碰撞呼畸,難以出現(xiàn)碰撞的性質(zhì)被稱為抗碰撞性痕支,密碼技術(shù)中所使用的單向散列函數(shù),都需要具備抗碰撞性蛮原。最后是必須具備單向性卧须,它指的是無法通過散列值反算出消息的性質(zhì)。
單向散列函數(shù)是密碼學(xué)非常核心的組成部分儒陨,我們可以使用它來確認(rèn)自己下載的軟件是否被篡改花嘶。比如現(xiàn)在很多互聯(lián)網(wǎng)軟件會(huì)把通過單向散列函數(shù)計(jì)算出的散列值公布在官網(wǎng)上,用戶在不同的渠道下載到軟件之后蹦漠,可以自行計(jì)算散列值椭员,然后與官網(wǎng)上公布的散列值進(jìn)行比對。
通過散列值津辩,用戶可以確認(rèn)自己所下載到的文件與軟件作者所提供的文件是否一致拆撼。此外,在構(gòu)造消息認(rèn)證碼喘沿、數(shù)字簽名和偽隨機(jī)數(shù)生成器的過程中闸度,也都需要用到該函數(shù)。通過在加密場景中使用單向散列函數(shù)蚜印,可以節(jié)約計(jì)算機(jī)處理的時(shí)間莺禁,也可以保證生成信息的不可預(yù)測性等等。
*文章為作者李凱龍?jiān)瓌?chuàng)獨(dú)立觀點(diǎn)窄赋。 未經(jīng)授權(quán)哟冬, 禁止擅自轉(zhuǎn)載楼熄。?
*李凱龍,數(shù)字機(jī)構(gòu)劫波科技創(chuàng)始人兼CEO浩峡。
李先生就讀于清華大學(xué)經(jīng)濟(jì)管理學(xué)院和法學(xué)院獲得碩士學(xué)位可岂,擁有香港中文大學(xué)mba及北京外國語大學(xué)語言文學(xué)學(xué)士文憑,并被公派到歐洲多個(gè)國家留學(xué)翰灾。李先生曾供職中美頂級(jí)的一/二級(jí)市場投資及基金缕粹;曾于騰訊從事研究與投資工作,期間在騰訊研究院擔(dān)任首席研究員纸淮;曾出任中國五百強(qiáng)佳兆業(yè)金融控股總裁助理職務(wù)平斩,負(fù)責(zé)戰(zhàn)略業(yè)務(wù)規(guī)劃及金融/科技/消費(fèi)板塊的投融資和運(yùn)營管理。李先生還是清華-伯克利深圳學(xué)院和香港中文大學(xué)博士及研究生課程講授學(xué)者咽块,并為清華大學(xué)院系校友會(huì)之理事绘面。