區塊鏈知識之私鑰、公鑰、地址(一)

買賣虛擬貨幣

自從知道了比特幣,區塊鏈,不可避免會經常遇到私鑰、公鑰、地址這一些專業名詞,私鑰是最關鍵也是最基礎的,我們先來了解一下私鑰。

私鑰必知

私鑰本質上是隨機數,由32個byte組成的陣列,1個byte等於8位二進位制,一個二進位制只有兩個值0或者1。所以私鑰的總數是將近2的(8*32)次方=2的256次方個。

既然是隨機生成的,那私鑰會不會重複?

難?非常難,幾乎不可能!

把私鑰個數轉換成10進位制,就是10的76次方,要知道,地球的年齡到目前為止是,5×10的17次方秒,可以看出來,私鑰的個數比地球的年齡還高出很多個數量級,理論上想要遍歷所有的私鑰,耗盡整個人類的能量也是不可能的。

私鑰可以用扔硬幣的方法比喻一下,硬幣的正反面相當於二進位制中的1和0。

每扔一次記錄一次結果,需要扔32×8=256次,得出一個256位的二進位制字串,這個字串就是最原始的私鑰形式。

私鑰轉換

但是我們看到的私鑰確這樣的:

5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss

這是怎麼回事呢?

我們可以想象一下,如果直接寫成二進位制的話,256位是一個比較長的字串,不但識別度不高,而且使用非常不方便,所以我們見到的私鑰是對原始的隨機數進行了Base58的轉換。

Base58簡介

在說Base58編碼之前,我們先來介紹一下Base64編碼。

Base64編碼會把3位元組的二進位制資料編碼為4位元組的文字資料,長度增加為原來的4/3

10個數字,26個大寫字母,26個小寫字母,1個+,一個 / 剛好64個字元,這種演算法相當於一種對稱加密的過程,每一個編號對應一個字元。

而Base58是為了避免混淆,將其中容易書寫辨識出錯的字元去掉,即去掉了數字0,大寫字母I,大寫字母O,小寫字母i,加號+,除號/

這樣就形成了Base58編碼,Base58演算法和Base64演算法思路一樣,只不過兩種編碼字元有所不同。

Base58編碼表如下

Base58的原理是什麼?

二進位制:0和1

十進位制:0到9

十六進位制:十進位制的基礎上加上了A-F 六個字母

而Base58我們可以看成是58進位制。

這樣,私鑰從原始256位的字串轉換成現在的樣子就可以看成是2進位制,轉換成58進位制,當然,具體人工計算的話還有湊數結尾等特殊處理。

為了加深一下印象,我們舉個例子。

私鑰的原始字串是這樣子的。

1 1 1 0 1 1 0 1 0 0 0 1 0 0 1 0 0 1 1 1 1 0 1 1 0 1 0 0 0 1 0 0 1 0 0 1 1 1 1 0 1 1 0 1 0 0 0 1 0 0 1 0 0 1 1 1 1 0 1 1 0 1 0 0 1 1 0 0 1 0 0 1 1 0 1 0 1 1 0 1 0 0 0 1 0 0 1 0 0 1 1 1 1 0 1 1 0 1 0 0 0 1 0 0 1 0 0 1 1 1 1 0 1 1 0 1 0 0 0 1 0 0 1 0 0 1 1 1 1 0 1 0 0 1 0 0 0 1 0 0 1 0 1 1 1 1 1 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 1 1 0 1 1 0 1 0 0 0 1 0 0 1 0 0 1 1 1 1 0 1 1 0 1 0 0 0 1 0 1 1 0 0 1 1 1 1 0 1 1 0 1 0 0 0 1 0 0 1 0 0 1 1 1 1 0 1 1 0 1 0 0 0 1 0 0 1 0 0 1 1 1 1 0 1 1 0 1 0 0 0 1 0 0 1 0 0 1 1 1 1 0

就是由256個0或者1組成,看起來是不是很麻煩。

透過Base58轉換後是這樣子的

J3mBbAH58CpQ3Y5RNJpUKPE62SQ5tfcvU2JpbnkeyhfsYB1Jcn

由於計算比較耗時,這個私鑰不是上面的字串生產的,這裡只是展示一下長度。

感興趣的老鐵可以自行轉換一下。參考下圖,我們可以看到轉換的方式和思路。

1、將3個8位元組的轉化成4個6位元組的

2、將6個位元組二進位制數轉化成10進位制,

010011就是1+2+0+0+16+0=19,

010110就是0+2+4+0+16+0=22,

000101就是1+0+4+0+0++0=5,

101110就是0+2+4+8+0+32=46

3、透過Base64表找出對應的字元就是T、W、F、u。

透過Base58表找出對應的字元是L、P、6、o

總結:

1、私鑰是一個隨機數,而這個隨機數足夠大,以至於沒有重複的可能

2、原始字串為256位的的二進位制,透過Base58轉化,變成比較短的字串,也可以理解為,將二進位制的私鑰轉化成了58進位制的私鑰。

後面我們繼續分享學習公鑰、地址的相關知識,私鑰是最關鍵,最重要的金鑰,誰掌握私鑰誰才是財產的真正的主人。

免責聲明:

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

推荐阅读

;