iT邦幫忙

1

密碼學基礎複習:Hash、非對稱加密與數位簽章在區塊鏈的應用

  • 分享至 

  • xImage
  •  

在昨天我們提到,要在資源受限的環境下建構區塊鏈,必須捨棄沉重的現成框架從零開始。但無論架構再怎麼輕量,區塊鏈之所以被稱為「信任的機器」,完全是建立在幾項核心的密碼學技術之上。

今天我們就來複習三個建構區塊鏈最關鍵的密碼學基礎:Hash、非對稱加密與數位簽章。

  1. Hash 函數:區塊的指紋
    Hash 函數是一種將任意長度的資料輸入,轉換成「固定長度」輸出的數學演算法(例如比特幣使用的 SHA-256)。它有幾個在資安上非常重要的特性:
    單向性:你很容易從資料算出 Hash 值,但幾乎不可能從 Hash 值反推出原始資料。
    抗碰撞性:要找到兩筆不同的資料卻產生相同的 Hash 值,機率微乎其微。
    雪崩效應:只要原始資料更動了一個字元,算出來的 Hash 值就會面目全非。

在區塊鏈中的應用:
在我們規劃的物聯網架構中,感測器收集到的每一筆資料都可以視為一筆「交易」。區塊鏈會將這些交易打包成區塊,並計算出這個區塊的 Hash 值。最重要的是,每一個新區塊都會包含「前一個區塊的 Hash 值」。這樣一來,只要有惡意節點試圖竄改歷史資料,該區塊的 Hash 值就會改變,進而導致後續所有區塊的 Hash 值全部失效,輕易就能被網路中的其他節點識破。

  1. 非對稱加密:公鑰與私鑰的華爾滋
    傳統的對稱加密是雙方共用同一把鑰匙來加解密,這在去中心化的網路中要安全地交換鑰匙幾乎是不可能的任務。而非對稱加密則給了每個人一對鑰匙:公鑰與私鑰。
    公鑰:可以公開給所有人看,在區塊鏈中,它通常會被轉換成你的「錢包地址」或是「節點身分」。
    私鑰:絕對不能外洩的最高機密,代表著你對這個地址或資料的絕對控制權。
    規則很簡單:用公鑰加密的資料,只有對應的私鑰解得開;反之亦然。在多數區塊鏈中,最常使用的是橢圓曲線密碼學,因為它能以較短的金鑰長度提供極高的安全性,這點對於我們之後要實作輕量級架構來說非常有利。

  2. 數位簽章:證明「這真的是我發送的」
    有了 Hash 和非對稱加密,我們就能組合成區塊鏈交易中最核心的防護機制——數位簽章。
    想像一下,當一個水下感測節點要廣播一筆資料到網路上時,其他節點怎麼知道這筆資料真的是由該節點發出的,而不是駭客偽造的?
    運作流程如下:
    簽章產生:發送節點先將要傳送的「交易資料」透過 Hash 函數算出一組 Hash 值。接著,發送節點用自己的「私鑰」將這組 Hash 值加密,這個加密後的結果就是「數位簽章」。
    廣播:發送節點將「原始交易資料」加上「數位簽章」一起廣播到網路上。
    驗證:接收節點收到後,會做兩件事來進行比對:
    第一步:用發送節點公開的「公鑰」來解密數位簽章,還原出 Hash 值 A。
    第二步:自己把收到的「原始交易資料」丟進 Hash 函數,算出 Hash 值 B。
    如果 Hash A 等於 Hash B,就完美證明了這筆交易確實是由擁有該私鑰的節點所發出,且資料在傳輸過程中完全沒有被竄改。

小結
Hash 確保了資料的完整性與區塊的鏈接;非對稱加密確立了帳戶的控制權;數位簽章則保障了交易的真實性與不可否認性。把這三個武器組合在一起,我們就能在沒有中心化伺服器的環境下,建立起堅不可摧的信任網路。


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言