剖析區塊鏈(六):核心技術之數字簽名

我們都知道區塊鏈是公開透明的,那麼有人會有這樣的疑問,我們什麼時候和誰交易了多少錢,都會記在大家的賬本上,豈不是沒有了隱私?其實區塊鏈對於我們的身份信息是有所保護的,在發送和驗證交易的時候,並不需要我們的真實身份(文末解答關於匿名性的問題,下圖對於比特幣匿名性簡直詮釋得淋漓盡致,相信看過千與千尋的人都知道這個無臉男,阿深第一眼看到此圖差點沒笑噴出來)。但如果是匿名的,系統怎麼能確定是我發送的交易呢?萬一別人偽裝成我的身份呢?又或者篡改了我的交易信息呢?不同的區塊鏈系統對於這方面所做的措施又不盡相同,具體又是怎麼做的,這就是今天的主題--數字簽名。

剖析區塊鏈(六):核心技術之數字簽名

1. 概念

數字簽名(又稱公鑰數字簽名、電子簽章)是一種類似寫在紙上的普通的物理簽名,使用了公鑰加密領域的技術實現,用於鑑別數字信息的方法。就是隻有信息的發送者才能產生的別人無法偽造的一段數字串,這段數字串同時也是對信息的發送者發送信息真實性的一個有效證明,主要用於數據更改的簽名者身份識別以及抗抵賴。數字簽名是非對稱密鑰加密技術數字摘要技術的應用。

這裡再科普一下非對稱加密技術,非對稱加密算法是一種密鑰的保密方法,需要兩個密鑰:公鑰和私鑰。公鑰與私鑰是一對,如果用公鑰對數據進行加密,只有用對應的私鑰才能

解密,從而獲取對應的數據價值;如果用私鑰對數據進行簽名,那麼只有用對應的公鑰才能驗證簽名,驗證信息的發出者是私鑰持有者。因為加密和解密使用的是兩個不同的密鑰,所以叫非對稱加密。至於數字摘要技術,請看阿深的上一篇文章“核心技術之merkle樹”。

2. 原理

發送報文時,發送者用一個哈希函數從報文文本中生成摘要信息,將摘要信息用發送者的私鑰加密,加密後的摘要信息將作為報文的數字簽名與報文一起發送給接收者。接收者先用與發送者一樣的哈希函數對收到的原文計算,產生一個摘要信息1,然後用發送者的公鑰來解密被加密的數字簽名(摘要信息)得到解密後的摘要信息2,這兩個摘要信息(1和2)如果相同,那麼接收者就能確認該數字簽名是發送者的。也說明收到的信息是完整的,在傳輸過程中沒有被修改。

下圖中A是發送者,B是接收者。

剖析區塊鏈(六):核心技術之數字簽名

舉個例子,小明發起了一筆比特幣轉賬,系統先將該交易進行數字摘要生成,然後用小明的私鑰對摘要進行加密,形成數字簽名。完成後,系統將原文(交易信息)與數字簽名一起廣播給礦工,礦工用小明的公鑰進行驗證,如果驗證成功,則說明該交易確實是小明發出的,且信息未被更改。在這個過程中,小明身為用戶僅僅做了轉賬時輸入了私鑰就好了。

總結一下數字簽名就是發送者用私鑰進行簽名,接收者就只能用發送者的公鑰進行驗證該信息的發送者就是私鑰的持有者

3. 特點

(1)數字簽名需要和具體的數字文檔綁定,就好比現實中籤名應該和紙質媒介綁定;(2)數字簽名不可偽造;(3)能證明消息確實是由信息發送方簽名併發出來的,並且確定消息的完整性。

最後,回答一下最開始關於匿名性的問題,還是以比特幣為例。首先我們購買比特幣的時候,都有一個錢包地址

,這個地址也就是我們的數字身份,掩蓋了現實中的身份,驗證身份就用上文中的數字簽名。

但是發送和接收比特幣就像作者用筆名發表作品一樣,如果一個作者的化名和他們的身份聯繫在一起,他們曾經寫下的任何東西都會與他們聯繫在一起。對於比特幣來說,涉及你錢包地址的每一項交易都永久、公開的保存在該區塊鏈中,任何人都能看到。舉個例子:某個用戶在線下進行消費,並通過比特幣進行支付,那麼商家事實上建立了對用戶的線上(比特幣地址)線下(用戶身份)關聯。

剖析區塊鏈(六):核心技術之數字簽名

如果你在每個交易所的地址能夠和你的身份關聯起來,那麼就能夠知道每一筆和你有關的交易數據,不僅知道你的所有,還可能會有攻擊你隱私數據的不法分子。這份身份情報可能會來源於網絡統計信息、流量監視或者谷歌搜索,這些數據會成為你的背景知識,攻擊者可以利用連續發佈的大量數據來挖掘出關聯規則作為背景知識來推測你的敏感信息,對個人隱私進行攻擊,這就是背景知識攻擊,這都是有一定可能性的,就看他掌握你的背景知識的多與少了。

比特幣系統還在開發中,也存在各種機制來保護。還有就是人類鑽空子找方法的本領一直是所有物種中最強的,現在已有很多方法來避免以上不安全的攻擊,例如每筆交易換個地址、現金購買、交易所隨機地址發送給你提幣,包括針對這種現象出現的很多服務,具體不細說了。要提的是門羅幣,門羅幣在數字簽名這方面用了一次性的環簽名技術。主要就是將發送者的私鑰和任意多個

其他成員的公鑰(也包括混合了自己公鑰)為發送者的原文生成簽名,接收者根據環簽名和原文驗證簽名是否為環中成員所籤。其中成員無法冒充真實簽名者的簽名。這樣攻擊者無法確定簽名是由環中哪個成員生成的,確保了交易的隱蔽性。


分享到:


相關文章: