區塊鏈中的密碼學 1 提公升密碼學的認知

2021-10-02 07:34:54 字數 1306 閱讀 3219

區塊鏈行業老人肯定記得2023年春節前後,三點鐘社群的瘋狂,討論內容大都湊熱鬧,玄學無比。但其中,蔡文勝大佬,說了一句很經典的話:

區塊鏈底層是數學,中層是哲學,最高層是神學

區塊鏈用數字來作為區塊鏈的底層,確實是堅實無比。其中的數學,指的就是密碼學。

談及密碼學,一般人最直接想到的就是各種賬戶密碼,碼農最直接的反應就是加密解密這些。光有這些粗淺的認知很難把密碼**用到實際遇到的問題上。所以,很有必要先談談密碼學的基本目標和認知。

這個符合我們對密碼學最基本的認知。也是自古以來密碼學最廣泛的運用,在各種通訊中對資訊進行加密,防止資訊的洩漏。

在簽訂合同的時候,作為乙份嚴謹的合同,經常被要求蓋乙個騎縫章,它的作用是啥?就是要保證合同的完整性。

所以,在資訊的傳遞過程中,我們怎麼能判斷這個資訊是完整的呢?是沒有被篡改的呢?這也是密碼學重要研究範疇。

網路上各種釣魚**屢見不鮮。犯罪分子,做乙個跟**一模一樣的**,換個網域名稱部署上,然後引誘使用者登陸,盜取使用者的賬戶資訊。對於這種問題,可以採用密碼學中的數字簽名技術,解決身份認證問題。

舉個例子,a向b借錢,並寫了張借條,但b希望a還錢的時候,a抵賴說這種借條不是他寫的,理由是有人冒充他寫了這張借條,a的行為可以抵賴。在密碼學中,數字簽名技術可以解決這個問題。

密碼學是科學,有著嚴格的規範。涉及密碼學演算法需要具備深厚的數學知識。而且目前的實現原理大都是公開的。

摩爾定律決定計算機的效能不斷提公升。隨著計算機處理速度的提公升,有些以前安全的演算法收到挑戰。比如,量子計算之後,現有一些區塊鏈的密碼演算法就很不安全的。所以,在運用密碼學演算法的時,需要確保採用的演算法在當前是安全的。應用者應該長期關注這個領域技術發展的動態,及時更新演算法。

乙個大規模的應用一旦上線,特別是涉及交易或者重要資料時,肯定有很多人來攻擊系統以獲得收益,各種攻擊手段是層出不窮,完全無法預料到的。

密碼學的設計雖然需要深厚的計算機知識,但對於應用者來說,我們只需要理解演算法解決何種問題,其應用場景是什麼,在根據標準正確使用密碼學演算法就可以。

世界不存在一種密碼學演算法能解決所有的問題。針對某個特定的問題,經常是具體問題具體分析,把各種密碼學知識組合起來,解決問題。

對密碼學有乙個更高的認知之後,我們在回過頭來看密碼學和區塊鏈的關係。

了解位元幣發展歷史的人(可見文章:位元幣前傳),都知道,位元幣誕生於密碼朋克社群。這個社群最核心的目標是要解決隱私問題,包括個人資訊,通訊,交易,財產等各個方面。這些都需要運用密碼學知識設計相應的軟體給使用者使用,比如:匿名郵件系統、點對點的加密聊天工具,

位元幣解決的是匿名支付問題。當然隨著區塊鏈技術的演進,可以看到隱私保護能力更強的門羅和zcash之類的專案。

區塊鏈技術 密碼學

1 對稱加密 用相同金鑰對原文進行加密和解密 加密過程 金鑰 原文 密文 解密過程 密文 金鑰 原文 缺點 無法確保金鑰被安全傳遞 2 非對稱加密 公鑰 私鑰,ras演算法 公鑰用於加密,私鑰用於解密。私鑰簽名,公鑰解簽名。公鑰由私鑰生產,私鑰可以推導出公鑰 從公鑰無法推導出私鑰 優點 解決了金鑰傳...

區塊鏈與密碼學

在學完大概了密碼學的知識,其實也只是看完了dan boneh的那本密碼學的書,現在開始密碼學與區塊鏈的結合學習,因為我自己是主要針對密碼學和區塊鏈的,但是去學習密碼學在區塊鏈上面的一些應用,就可以使得對密碼學有更深刻的了解,因為密碼學擁有很龐大的體系,所以我只能這樣去慢慢摸索。因為我有很多學習的內容...

區塊鏈的密碼學基礎

1 雜湊函式的三個重要的性質 a.collision resistance 什麼是collision?當x y但h x h y 這時就稱為乙個collision。什麼是collision resistance?比方說有個x1,他的雜湊值是h x1 但我們很難找出乙個x2來,使他的h x2 h x1 ...