1. 程式人生 > >區塊鏈地址的產生方式

區塊鏈地址的產生方式

在理解區塊鏈地址產生方法之前,先來簡單地理解一下公鑰私鑰的加密原理:

1. 公鑰是對外公開的,而私鑰是保密的。當A想要把內容傳送給B時,A會用他的私鑰對內容加密,然後傳送給B。B會用A的公鑰來解密。

2. 公鑰是通過私鑰產生的,這個過程是無法逆轉的。

3. 當B需要驗證A的身份(數字簽名)時,B可以用公鑰驗證這個數字簽名是否是用A的私鑰產生的。

當建立比特幣的賬戶時,使用者會在本地生成一個私鑰,系統會根據這個私鑰通過一定的演算法,產生該使用者的地址。

1. 計算公鑰的SHA-256雜湊值

2. 通過RIPEMD160函式對第一步的值做加密,生成fingerprint

3. 生成校驗位:對fingerprint連續做兩次SHA256雜湊運算,取前4個位元組

4. 0x00位版本字首,通過對版本字首+fingerprint+checksume做Base58編碼,得到最後的字串

關於base58:

Base58的計算方式和Base64類似,只是Base58不只用數字0,大寫字母,大寫I,小寫i,還有+和/