新手入門

如何使用加密貨幣?

誰適合:未擁有過加密貨幣者

所需時間:30分鐘

網路世界的簽名—數位簽章是什麼?雜湊函數 SHA256是什麼?

你是否好奇區塊鏈的運作方式、挖礦是在「挖」什麼「礦」、比特幣與以太幣的差別、什麼是 POW、POS、什麼又是信標鏈呢?不論你是幣圈新手還是想再精進老手,跟著 Crypto 101 的腳步,我們會用最容易理解的方式,讓大家一窺加密貨幣的奧秘!

上一篇文章,我們介紹了區塊鏈最核心的原理,但是,若想在實際生活中運用,仍有許多要克服的難關。本文,我們將會遇到第一個問題—如何驗證交易人身分,並介紹對應的解決方案—數位簽章。

看完這篇文章,你/妳將會學到:
1. 如何驗證交易人身分?
2. 什麼是數位簽章?
3. 什麼是雜湊函數?
4. 什麼是 SHA256?

更多人參加的區塊鏈

前一篇文章提到,大雄邀請全校所有同學一同參加區塊鏈的計畫,他們決定捨棄傳統的紙本帳本,改把帳目儲存在各自電腦裡的一個文字檔中。而目前的運作方式是:假設 A 要付給 B 100 元,A 就在自己電腦上的帳本記下,並透過網路將這一條帳目發送給所有參與區塊鏈計畫的同學。

此時每個人都是網路上的一個節點(node),我們會用廣播(broadcast)來形容將訊息傳送給其他人的動作,當其他人接收到(或者說「聽」到)這一條帳目後,就在自己的帳本上加入這條帳目。如此一來,一項交易就完成了對吧?

錯!假設大雄某一天聽到了一則訊息:

大雄並無法判斷這是不是由靜香本人所發出的訊息,小夫完全有可能向大家發送假訊息,讓其他人誤以為靜香要付給小夫 100 元。此時,就輪到這集的主角—數位簽章出場啦,透過數位簽章,大雄就能很容易地判斷這則訊息是否是靜香本人所發送的,就像在一則訊息的最後簽名一樣。

什麼是數位簽章

在現實生活中,簽名的作用就是確認是否為本人,而數位簽章也是一樣的功用,甚至相比於傳統簽名還有過之而無不及之處,這項優點我們之後會提到。

概念上,靜香需要在她發送的訊息最後加讓她的個人簽名,像是這樣:

但很快就能發現,有心人只要複製這張圖片(或是一串代碼),就能輕易偽裝成本人。所以密碼學家們提出了「非對稱式加密」(Asymmetric Cryptography)來避免上述的狀況。

然而,為了理解非對稱式加密的原理,首先我們必須先了解什麼是「雜湊函數」(Hash Function)。

什麼是雜湊函數

所謂「雜湊函數」(Hash Function),是將不定長度訊息的輸入,演算成固定長度雜湊值的輸出,且所計算出來的雜湊值必須符合兩個主要條件:
(1) 由雜湊值是無法反推出原來的訊息
(2) 雜湊值必須隨明文改變而改變
白話來說,就是當使用者輸入一段訊息後,函數會產生出一組看似毫無規則、隨機產生的數列

SHA256

SHA256 是一種雜湊函數,也是比特幣所使用的雜湊函數。它的功能是:當使用者輸入一段後,產生一組由 256 個 0 和 1 所組成的字串。

這 256 個 0 或 1 可以產生 2256 種組合,2256 是個非常、非常、非常大的數字!如果用天文數字來比喻的話反而太高估「天文」了。以下是幾個簡單的比較:

以上這兩個看似龐大的數量根本連 2256 的零頭都算不上,可見這個數字有多大了。即使將全地球的電腦集合起來,到宇宙毀滅之前,還是沒辦法算完所有的值!同時,以現有的科技,也沒辦法從輸出的內容逆推回輸入的資訊。而就是這樣的一個函數,能夠在非對稱式加密中,起到關鍵的作用。

總結

在這篇文章中,我們瞭解到當參與區塊鏈的人數一多,就必須要有更有效的方式來辨認訊息的真偽,也就是透過數位簽章的方式。數位簽章是一種非對稱式加密,在我們深入理解非對稱式加密前,必須先認識雜湊函數,而 SHA256 就是一種雜湊函數,並被運用在比特幣的區塊鏈中。有了這些先備知識,接下來就能很好地理解數位簽章與非對稱式加密了。

接下來,我們會介紹非對稱式加密的原理,以及在區塊鏈上的應用!

單元導讀

回到頂端