區塊鏈中的數位簽章(Digital Signature)
從先前的文中我們知道了一個帳戶中有兩把鑰匙分別為公鑰與私鑰,那我們要如何使用它呢?這就要來聊聊區塊鏈中的數位簽章機制了,首先我們為何需要數位簽章機制呢?使用了有什麼功用呢?
數位簽章(Digital Signature)
數位簽章主要功能在於接收資料的一方,其實並不能確定收到的資料是否就是原發送人傳送的,透過數位簽章的機制,可以保證收到資料的正確性,有效防止被中途攔截並竄改資料的情形。數位簽章的流程如下圖,圖中兩位使用者Alice與Bob分別式資料的發送方與接收方,數位簽章有兩個主要的動作分別為,簽署(Sign)與驗證(verify):
簽署(Sign):
Alice將想送給Bob的資料做一次Hash,得到了Hash值後再使用Alice的私鑰進行加密,最後將得到的加密訊息與傳給Bob的資料一起送給Bob。
驗證(verify):
Bob將收到的明文資料與經過Alice的簽章,為了確認Alice傳送來的值是否相同,驗證方式即是將明文取Hash值,並利用Alice的公鑰解密得出的Hash值相比,即可證明資料確切是由Alice所傳送,並且沒有在傳送的途中遭到竄改。
為何這麼做呢?主要利用了Hash Function的特性,只要Alice的訊息遭到竄改時,Hash值將會完全不同,便能清楚發現資料遭竄改。
了解數位簽章的意思之後,下個部分,我們將會介紹區塊鏈中革命性的部分DAY10 Consensus Protocols共識協議,歡迎大家追蹤我們!
如果喜歡看更多與區塊鏈技術、應用、科技新知相關的內容,記得留下您的Email並追蹤我們的粉專,那麼新文章上線時,我們將在第一時間通知您,不用再擔心錯過最新消息。