在這篇文章中,我們將進一步討論它是如何處理信息交換的。但是為了達到這一點,我們將從底部技術(shù)開始認識。那么,讓我們首先討論一下公鑰加密(也稱,非對稱加密)。
對稱加密:
在對稱加密中,我們使用相同的密鑰來加密密文和解密密文。
下圖說明了對稱加密的過程。
那么對稱加密,有什么問題嗎?問題是,你要把鑰匙寫在紙上,然后把它寄給另一個人。但是,這顯然不是一個有效的方法。因此,您可以在網(wǎng)絡(luò)上共享密鑰,但這里有一個陷阱,任何身份的人都可以侵入網(wǎng)絡(luò),并使用您的密鑰來解密該消息。
不對稱加密的拯救行動:
· 在不對稱加密體制中,我們生成一對密鑰,即私鑰和公鑰。
· 公鑰和私鑰在數(shù)學(xué)上是連接在一起的,但不能從另一個派生而來。
· 一個公鑰就像一個分配給你的假名,你和每個人分享它,而私鑰扮演的是“為你說話”的角色。
· 這就是它的工作原理。您獲取一個消息,用您的私鑰加密它并發(fā)送給接收者。現(xiàn)在,接收方可以使用您的公鑰解密它,并驗證消息是否來自合法的發(fā)送方。
· 所以,你一定在想,如果每個人都有我的公鑰,那么任何人都能看到這些信息。
· 現(xiàn)在假設(shè)Alice和Bob想在互聯(lián)網(wǎng)上共享一些信息。因此,它們就會生成自己的一組公鑰和私鑰。
· 他們都互相交換公鑰,并將私鑰保存在自己身上。Alice可以使用Bob的公鑰和Alice的私鑰向Bob發(fā)送加密消息。
· 那么,也就是說,當Bob收到消息時,他使用Alice的公鑰來確保消息來自Alice(只有Alice的公鑰可以解密使用Alice的私鑰加密的消息)的私鑰來確保消息是為他發(fā)送的。
讓我們討論一下數(shù)字簽名
· 你簽過支票賬單嗎?因此,您必須了解簽名的概念。它們可以作為你同意你簽署的文件的證明,它與特定的文件綁定在一起,不能復(fù)制粘貼到其他文件上。
根據(jù)維基百科: 數(shù)字簽名是一種數(shù)學(xué)方案,用來表示數(shù)字信息或文檔的真實性。有效的數(shù)字簽名使接收方有理由相信消息是由已知的發(fā)送方(身份驗證)創(chuàng)建的,發(fā)送方不能否認發(fā)送過得消息,并且消息在傳輸過程中要確保沒有被修改。因此,數(shù)字簽名涉及三個步驟:
· GenerateKeys :首先我們生成一對公共密鑰(pk)和私人秘鑰(sk)。私鑰用于簽名,公共密鑰用于驗證簽名者。
(sk,pk):=generateKeys(keysize in bits)
· 簽署消息:然后我們使用密鑰在消息上簽名。
isValid:=verify(pk,message,sig)==true
· 驗證:最后我們可以驗證發(fā)送方。
isValid:=verify(pk,message,sig)==true
數(shù)字簽名的優(yōu)點:
· 簽名不能偽造并用于其他消息。
· 密鑰不能從公鑰派生。
· 我們可以很容易地驗證消息在傳輸過程中是否發(fā)生了更改。
所以,現(xiàn)在我們終于到達了頂峰,有了足夠的知識來理解區(qū)塊鏈是如何把這些碎片拼在一起的。
公鑰加密和區(qū)塊鏈
· 錢包創(chuàng)建和事務(wù)簽名是任何區(qū)塊鏈系統(tǒng)的核心組件,它們嚴重依賴于公鑰加密。
· 公鑰與哈希值函數(shù)一起使用,以創(chuàng)建區(qū)塊鏈用戶用來接收和發(fā)送消息的公共地址。
· 私鑰是保密的,用于簽署數(shù)字事務(wù),以確保事務(wù)的起源是合法的。
數(shù)字簽名和區(qū)塊鏈
· 每個事務(wù)都有不同的數(shù)字簽名,這取決于用戶的私鑰。
· 給定消息、公鑰和用戶的簽名,驗證用戶的真實性非常容易。
· 一旦事務(wù)由用戶簽名,事務(wù)就會在內(nèi)存池中等待,在內(nèi)存池中,挖掘人員會挑選事務(wù)并使用用戶的公鑰驗證其上的數(shù)字簽名,這樣黑客就無法對事務(wù)進行更改。如果它是有效的,數(shù)字簽名就會驗證錢從一個錢包發(fā)送到另一個錢包,然后交易被添加到塊中。