區(qū)塊鏈行業(yè)老人肯定記得2018年春節(jié)前后,三點(diǎn)鐘社群的瘋狂,討論內(nèi)容大都湊熱鬧,玄學(xué)無(wú)比。但其中,蔡文勝大佬,說(shuō)了一句很經(jīng)典的話:
區(qū)塊鏈底層是數(shù)學(xué),中層是哲學(xué),最高層是神學(xué)
區(qū)塊鏈用數(shù)字來(lái)作為區(qū)塊鏈的底層,確實(shí)是堅(jiān)實(shí)無(wú)比。其中的數(shù)學(xué),指的就是密碼學(xué)。
談及密碼學(xué),一般人最直接想到的就是各種賬戶密碼,碼農(nóng)最直接的反應(yīng)就是加密解密這些。光有這些粗淺的認(rèn)知很難把密碼學(xué)運(yùn)用到實(shí)際遇到的問(wèn)題上。所以,很有必要先談?wù)劽艽a學(xué)的基本目標(biāo)和認(rèn)知。
密碼學(xué)的四個(gè)目標(biāo)
1 機(jī)密性(隱私性)
這個(gè)符合我們對(duì)密碼學(xué)最基本的認(rèn)知。也是自古以來(lái)密碼學(xué)最廣泛的運(yùn)用,在各種通信中對(duì)信息進(jìn)行加密,防止信息的泄漏。
2 完整性
在簽訂合同的時(shí)候,作為一份嚴(yán)謹(jǐn)?shù)暮贤?,?jīng)常被要求蓋一個(gè)騎縫章,它的作用是啥?就是要保證合同的完整性。
所以,在信息的傳遞過(guò)程中,我們?cè)趺茨芘袛噙@個(gè)信息是完整的呢?是沒(méi)有被篡改的呢?這也是密碼學(xué)重要研究范疇。
3 身份驗(yàn)證
網(wǎng)絡(luò)上各種釣魚網(wǎng)站屢見不鮮。犯罪分子,做一個(gè)跟淘寶一模一樣的網(wǎng)站,換個(gè)域名部署上,然后引誘用戶登陸,盜取用戶的賬戶信息。對(duì)于這種問(wèn)題,可以采用密碼學(xué)中的數(shù)字簽名技術(shù),解決身份認(rèn)證問(wèn)題。
4 不可抵賴性
舉個(gè)例子,A向B借錢,并寫了張借條,但B希望A還錢的時(shí)候,A抵賴說(shuō)這種借條不是他寫的,理由是有人冒充他寫了這張借條,A的行為可以抵賴。在密碼學(xué)中,數(shù)字簽名技術(shù)可以解決這個(gè)問(wèn)題。
密碼學(xué)的認(rèn)知
1 密碼學(xué)是科學(xué),而且是公開的理論
密碼學(xué)是科學(xué),有著嚴(yán)格的規(guī)范。涉及密碼學(xué)算法需要具備深厚的數(shù)學(xué)知識(shí)。而且目前的實(shí)現(xiàn)原理大都是公開的。
2 密碼學(xué)的算法是相對(duì)安全的
摩爾定律決定計(jì)算機(jī)的性能不斷提升。隨著計(jì)算機(jī)處理速度的提升,有些以前安全的算法收到挑戰(zhàn)。比如,量子計(jì)算之后,現(xiàn)有一些區(qū)塊鏈的密碼算法就很不安全的。所以,在運(yùn)用密碼學(xué)算法的時(shí),需要確保采用的算法在當(dāng)前是安全的。應(yīng)用者應(yīng)該長(zhǎng)期關(guān)注這個(gè)領(lǐng)域技術(shù)發(fā)展的動(dòng)態(tài),及時(shí)更新算法。
3 密碼學(xué)的攻擊方法是多樣化的
一個(gè)大規(guī)模的應(yīng)用一旦上線,特別是涉及交易或者重要數(shù)據(jù)時(shí),肯定有很多人來(lái)攻擊系統(tǒng)以獲得收益,各種攻擊手段是層出不窮,完全無(wú)法預(yù)料到的。
4 不具備很強(qiáng)的數(shù)學(xué)知識(shí)也能掌握密碼學(xué)
密碼學(xué)的設(shè)計(jì)雖然需要深厚的計(jì)算機(jī)知識(shí),但對(duì)于應(yīng)用者來(lái)說(shuō),我們只需要理解算法解決何種問(wèn)題,其應(yīng)用場(chǎng)景是什么,在根據(jù)標(biāo)準(zhǔn)正確使用密碼學(xué)算法就可以。
5 解決特定問(wèn)題的密碼學(xué)算法
世界不存在一種密碼學(xué)算法能解決所有的問(wèn)題。針對(duì)某個(gè)特定的問(wèn)題,經(jīng)常是具體問(wèn)題具體分析,把各種密碼學(xué)知識(shí)組合起來(lái),解決問(wèn)題。
對(duì)密碼學(xué)有一個(gè)更高的認(rèn)知之后,我們?cè)诨剡^(guò)頭來(lái)看密碼學(xué)和區(qū)塊鏈的關(guān)系。
了解比特幣發(fā)展歷史的人(可見文章:比特幣前傳),都知道,比特幣誕生于密碼朋克社區(qū)。這個(gè)社區(qū)最核心的目標(biāo)是要解決隱私問(wèn)題,包括個(gè)人信息,通信,交易,財(cái)產(chǎn)等各個(gè)方面。這些都需要運(yùn)用密碼學(xué)知識(shí)設(shè)計(jì)相應(yīng)的軟件給用戶使用,比如:匿名郵件系統(tǒng)、點(diǎn)對(duì)點(diǎn)的加密聊天工具,
比特幣解決的是匿名支付問(wèn)題。當(dāng)然隨著區(qū)塊鏈技術(shù)的演進(jìn),可以看到隱私保護(hù)能力更強(qiáng)的門羅和ZCash之類的項(xiàng)目。
密碼學(xué)知識(shí)如何運(yùn)用在區(qū)塊鏈之中去解決一個(gè)個(gè)實(shí)際的問(wèn)題呢?這是一個(gè)很有意思的話題,本系列文章為圍繞這些話題展開,目前能想到的主題如下:
- 用Hash算法來(lái)做工作量證明
- 基于非對(duì)稱加密的數(shù)據(jù)身份
- 用橢圓曲線來(lái)簽名
- 用Base58來(lái)顯示地址信息
- 量子計(jì)算下的區(qū)塊鏈技術(shù)更新
- 隨機(jī)之源,門羅的啟動(dòng)
- 國(guó)密算法運(yùn)用在區(qū)塊鏈之中
- 零知識(shí)證明和阿里巴巴謎語(yǔ)
- 同態(tài)加密和多方安全計(jì)算
歡迎大家持續(xù)關(guān)注。
