數字簽名是如何確認交易的?

買賣虛擬貨幣

我們都知道,在區塊鏈系統中的交易就是資料上的傳輸,在資料傳輸的過程中必須要保證資料安全,否則整個區塊鏈系統就會紊亂。

資料安全最起碼要做到的就是資料傳輸時不會洩露,資料傳輸過程中的完整性以及交易雙方身份的真實可靠。

那如何能保證區塊鏈系統中交易過程的安全,密碼學在其中的功勞就不可磨滅。

密碼學的核心就是加解密演算法,主要分為兩大型別:對稱加密演算法和非對稱加密演算法。

非對稱加密演算法與對稱加密演算法主要的區別在於加解密過程中用到的金鑰是不相同的,一個稱之為公鑰(Public Key),一個稱之為私鑰(Private Key)。私鑰都是需要自己妥善儲存的,公鑰是可以公開分享給別人的。

關於這兩個演算法詳細的區別,大家可以點選往期文章檢視:【非對稱加密】我的人,怎能容別人偷窺?

而數字簽名就是非對稱加密演算法的一種應用形式。

那到底什麼是數字簽名呢?

我們在生活中經常會看到簽名,以前的作業本簽名,後來的各類合同等簽名,其實數字簽名跟這些簽名差不多,都是對各自身份的認可。

我們在進行數字資產交易時,資產的轉出方在進行轉賬時,就會生成一段防偽的字串,這串字串就是數字簽名。主要用來驗證交易的發出方以及交易過程中資訊不被篡改,簡單理解就是我們銀行轉賬的交易流水。

數字簽名它的具體過程如下:

數字簽名透過數字摘要技術(Hash加密)把交易資訊縮短成固定長度的字串(雜湊值),然後透過私鑰對資訊加密,透過公鑰進行解密驗證。

注意:數字簽名加密的私鑰和解密的公鑰不一致,採用非對稱加密技術。

咱們舉例說明:

鐵柱要轉給翠花一筆比特幣,鐵柱首先要做的就是,將該筆交易的資訊進行數字摘要,也就是Hash加密,縮短為一段字串,也就是雜湊值,然後透過鐵柱自己的私鑰對摘要內容進行加密,形成數字簽名。

完成以上步驟後,鐵柱就需要叫交易資訊以及數字簽名一起廣播給記錄賬本的人(就是礦工)。

礦工收到資訊後,就會用鐵柱的公鑰進行驗證,這筆交易是不是鐵柱發出的,交易資訊正確嗎,有沒有被改,如果一切OK,礦工就會打包發出。

翠花收到交易後,用公鑰進行驗證這筆交易是不是鐵柱轉給他,然後也可以將資訊內容進行Hash運算得到一個雜湊值,再與鐵柱傳輸過來的摘要進行對比檢視交易資訊是否吻合,確保沒被篡改。

綜上我們可以看出整個交易過程並不是對整個交易資訊加密,而是對交易資訊的摘要用非對稱加密演算法進行運算從而生成了“數字簽名”。

以上內容說起來很複雜的樣子,但其實我們實際操作時,只需要輸入轉賬密碼,以上所有步驟都會瞬間完成,幫你驗證好。

這就像我們去銀行轉賬或者支付寶轉賬一樣,只需要輸入銀行卡密碼,錢就會轉出去,如果資訊不對,會給你退回來一樣的。

如果實在記不住,差不多瞭解以下7條步驟就行:

1、一段需傳送的資料經過Hash計算生成一份摘要;

2、摘要透過傳送者私鑰進行加密;

3、傳送者將使用私鑰加密後的摘要和整個資訊,生成一段待傳送的資料包,數字簽名則為經過私鑰加密後的加密摘要;

4、接收者使用之前一樣的Hash演算法對整個資訊計算得出摘要;

5、接收者再透過傳送者公鑰對兩個摘要進行加密計算;

6、接收者透過傳送者公鑰對數字簽名進行解密;

7、兩者進行比較即可驗證。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;