讓我們仔細看看比特幣中的密碼學金鑰

買賣虛擬貨幣
在開始密碼學金鑰之前,讓我們花一分鐘來回顧一下上一篇文章中關於密碼學和比特幣之間關係的討論。
密碼學是比特幣的核心。它包括加密錢包的金鑰和連線區塊鏈中的交易(或塊)的能力。我們討論了使用私鑰和公鑰對訊息進行加密和解密的非對稱(或公鑰)加密技術,並簡要介紹了採用任意大小的訊息並將其轉換為固定位長度雜湊值函式。在這篇文章中,讓我們更深入地探討比特幣使用的金鑰。這種材料可以很快變得非常技術性,所以我們可以深入地研究一些部分。我將在最後提供連結,以便您可以做更多的研究。我們將把雜湊值函式留到後面的文章中,這樣我們就可以真正花一些時間來理解正在發生的事情——請繼續關注!比特幣金鑰讓我們從比特幣金鑰生成開始(你也可能會聽到一個金鑰被稱為“地址”;我將解釋為什麼)。私鑰是計算機上某個函式的隨機資料的256位表示。這些函式可以是偽隨機數生成器(prng),也可以是來自自然界的隨機源。(大氣噪音,熔岩燈,甚至鐳射都被用來獲取隨機資料!)
公鑰是一個512位的隨機資料表示。為了獲得一個正式的比特幣地址,公鑰被輸入到幾個函式中,以獲得一個base58數字作為金鑰的特定表示。(有各種各樣的演算法可以使用,所以長度可能略有不同)。對於那些沒有base58的人來說,這意味著一個地址可以用英語字母表中的大部分大寫字母和小寫字母以及數字1 - 9來表示。私鑰和公鑰使用橢圓曲線數字簽名演算法(ECDSA),底層金鑰對(私有金鑰對和公共金鑰對)不可避免地連線在一起。這意味著,即使公鑰的外觀稍有變化,兩個金鑰仍然在數學上繫結在一起。您可能會想,“如果它們是連結的,那麼我如何知道攻擊者不能僅對公鑰進行反向工程,然後使用我的私鑰竊取我的錢包資金呢?”幸運的是,由於公鑰加密的工作方式,這實際上是不可能的。我這樣說是因為計算密碼學領域的任何東西最終都可能被破解。儘管如此,使用世界上最快的超級計算機破解像比特幣金鑰這樣的東西需要數十億年的時間。私鑰的重要性好了,現在我們已經奠定了金鑰理論的基礎,讓我們討論一下如何在現實世界中使用金鑰。首先,一個公共服務公告:您的私鑰需要保持100%的私密性。如果有人發現了你的私鑰,他們將能夠立即將你的比特幣傳送到他們選擇的錢包中。這會很快耗盡你的錢包。
為什麼?私鑰用於告訴全世界您正在授權向另一個地址為abc123的方支付比特幣。您可以在這個交易上簽名,因為您的私鑰與您的公鑰相連結,任何人都可以檢查發現您公鑰的賬簿,並確保您是批准這個傳輸的人。正如我們剛才提到的,私鑰用於對交易進行簽名。這將驗證您是否啟動了從您的錢包中釋放代幣並將它們傳送到其他人的錢包中。交易中包含相當多的資訊,但現在我們只討論與私鑰相關的內容。還記得我們上次討論的雜湊值嗎?稍後我們將更深入地研究雜湊值。現在,知道交易本身是用私鑰雜湊值和簽名的就足夠了。因為私鑰/公鑰連結是永久的,比特幣社羣中的任何人都可以使用您的公鑰來解碼交易,閱讀交易的所有細節,並確認發生了轉移。公鑰的目的我們已經詳細討論過私鑰;那麼公鑰呢?請記住,在比特幣的世界中,公鑰通常是一個由26-35個字元組成的base58表示式。(這是一個25位元組的二進位制地址,base58編碼為可變字串長度)這是某人傳送付款的地址,就像接收郵件的街道地址。你不會被一個或兩個公共地址所困擾。但是,您可以使用任意多的地址,只要您能跟上後端上的私鑰。這意味著,如果您有隱私意識,您可以在每次希望接收商品或服務的付款時建立一個新的公鑰,以將多個付款的連結保持在最低限度。這可能會有點冒險時,我們可以在另一篇文章中討論這個問題。
兩個人可以有相同的比特幣地址嗎?如何確保不意外地以與另一個使用者相同的地址結束?這將是一個大麻煩,因為有人可能會試圖用1萬比特幣買2個披薩,但這些錢可能會意外地落入別人的錢包。讓我們看看這件事的基本事實。256位私鑰意味著您的金鑰是2^256個可能值中的1個。用數字表示,你有1 / 1.157×10^77的機會擁有和別人一樣的私人地址。記住,公共地址是512位長。如果你為這些數字感到頭暈目眩,那麼就證明了你不是一個人。這種情況發生的可能性非常小,我們可以說這幾乎是不可能的。希望你能理解什麼是私鑰和公鑰以及它們是如何被比特幣使用的。在下一篇文章中,我們將探索更多關於雜湊值的內容。它是什麼,為什麼它有用,以及比特幣如何使用它。

免責聲明:

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

推荐阅读

;