當前位置:
首頁 > 最新 > 揭開區塊鏈中密碼學的神秘面紗 沒你想像的那麼難懂

揭開區塊鏈中密碼學的神秘面紗 沒你想像的那麼難懂

密碼學是區塊鏈的基石。

密碼學技術的綜合運用,為區塊鏈記錄不可篡改、數據隱私保護等提供了強大保障。探討區塊鏈中密碼學技術的專業文章已有很多,但對於普通人來說著實有些晦澀難懂。矩陣君就嘗試用簡單通俗地語言,來解釋下區塊鏈中常用的密碼學概念。

1、哈希演算法

哈希演算法可以說是區塊鏈中必不可少的一種演算法,它能把任意長度的輸入變換成固定長度的輸出,該輸出叫Hash值。其特點是:正向計算速度很快,但逆向計算十分困難,並且輸入內容一旦變化Hash值會跟著變化。

舉個例子:

「今天天氣很晴朗」使用哈希演算法後會變6283725acf07139bc08db741bc78dc60078,如果改了其中一個字,比如把「今」改成「明」,使用哈希演算法後就變成了

348a04eb8a62ace1e8883231f3e6b0674f04。

再舉個不太恰當但是更直觀的例子:

假設五個數相加,其結果就是Hash值,如:3+3+3+3+3=15,只要修改任何一加數,算出來的結果都不對,比如把「3」改成「2」,就變成了2+3+3+3+3=14。

逆向計算困難的意思就是,現在給你數字15,你能告訴我原來是哪些數之和嗎?

2、非對稱加密

非對稱加密是區塊鏈中最重要的一種加密演算法,非對稱加密包括一對密鑰:公鑰和私鑰,私鑰自己持有,公鑰可以公布出來。首先要知道的是,用公鑰加密後的內容,只有私鑰能解密;用私鑰加密的內容,只有公鑰能解密。

用公鑰加密、私鑰解密這個過程,就好比你手握的信箱鑰匙(私鑰),任何人都可以從信箱的投遞口給你寄信,但是只有你能打開信箱看到內容。

用私鑰加密、公鑰解密這個過程,就好像紙鈔的防偽,只有國家擁有給紙鈔防偽的技術(私鑰),但是其他人卻可以通過這些防偽辦法(公鑰)來辨別真偽。

拿比特幣舉一個例子:

在 0—2^256 之間隨機選擇一個數當成私鑰,私鑰通過橢圓曲線演算法可以算出公鑰,公鑰再通過一層Hash演算法就得到了比特幣地址。

流程可以總結為:私鑰→公鑰→地址,而且都是不可逆的,可以使用官方提供的程序來產生,當然如果你數學足夠好,甚至可以在紙上完成計算。

區塊鏈採用哈希演算法和非對稱加密技術來保證區塊鏈賬本的完整性和網路傳輸安全。哈希演算法的主要作用是保證數據的不可變更,非對稱加密主要應用在數字簽名上,保證數據的安全性、完整性和匿名性。

隨著區塊鏈技術的進步和應用的日益廣泛,運用哈希演算法和非對稱加密的原生區塊鏈系統難以滿足人們在不同應用場景中對隱私保護的更高要求。業內開始探索用零知識證明、同態加密、安全多方計算(MPC)等來綜合解決隱私保護的問題。

1、零知識證明

零知識證明(Zero—Knowledge Proof),是由S.Goldwasser、S.Micali及C.Rackoff在20世紀80年代初提出的,指的是證明者能夠在不向驗證者提供任何有用的信息的情況下,使驗證者相信某個論斷是正確的。

舉個例子:

A要向B證明自己擁有某個房間的鑰匙,假設該房間只能用鑰匙打開鎖,而其他任何方法都打不開。這時有2個方法:

①A把鑰匙出示給B,B用這把鑰匙打開該房間的鎖,從而證明A擁有該房間的正確鑰匙。

②B確定該房間內有某一物體,A用自己擁有的鑰匙打開該房間的門,然後把物體拿出來出示給B,證明自己確實擁有該房間的鑰匙。

後面的②方法屬於零知識證明。它的好處在於,在整個證明的過程中,B始終不能看到鑰匙的樣子,從而避免了鑰匙的泄露。

2、同態加密

同態加密提供了一種對加密數據進行處理的功能。即,其他人可以在不會泄露任何原始內容情況下對加密數據進行處理,擁有密鑰的用戶對處理過的數據進行解密後,得到的正好是處理後的結果。

舉個例子:

Alice買了一大塊金子,想讓工人把這塊金子打造成一個項鏈。但是工人在打造的過程中有可能會偷金子啊,能不能有一種方法,讓工人可以對金塊進行加工但是不能得到任何金子?當然有辦法啦,Alice可以這麼做:

Alice將金子鎖在一個密閉的盒子裡面,這個盒子安裝了一個手套。工人可以帶著這個手套,對盒子內部的金子進行處理。但是盒子是鎖著的,所以工人不僅拿不到金塊,連處理過程中掉下的任何金子都拿不到。加工完成後。Alice拿回這個盒子,把鎖打開,就得到了金子。

3、安全多方計算(MPC)

安全多方計算研究由圖靈獎獲得者、中國科學院院士姚期智教授在1982年提出,姚教授以著名的百萬富翁問題來說明安全多方計算。百萬富翁問題指的是,在沒有可信第三方的前提下,兩個百萬富翁如何不泄露自己的真實財產狀況來比較誰更有錢。

安全多方計算旨在解決一組互不信任的參與方之間保護隱私的協同計算問題,為數據需求方提供不泄露原始數據前提下的多方協同計算能力。在整個計算協議執行過程中,用戶對個人數據始終擁有控制權,只有計算邏輯是公開的。計算參與方只需參與計算協議,無需依賴第三方就能完成數據計算,並且參與各方拿到計算結果後也無法推斷出原始數據。

密碼學為區塊鏈提供了可靠的解決問題思路和方法,區塊鏈同時也推動了密碼學的持續研究和發展。未來,兩者結合迸發的能量,可能會超出我們的想像。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 矩陣元技術 的精彩文章:

區塊鏈中如何保護數據隱私?

TAG:矩陣元技術 |