Private-Key

主公鑰/私鑰和公鑰/私鑰之間的區別?

  • August 25, 2019
  1. 主公鑰(MPK)和公鑰有什麼區別?
  2. 主私鑰和私鑰有什麼區別?
  3. 生成地址或公鑰時應該使用主公鑰 (MPK) 嗎?

使用**“主公鑰”**,您可能指的是 bip32 之後的確定性密鑰派生。

正確的術語是**“主擴展私鑰”(首字母縮寫詞xpriv**)和**“主擴展公鑰”(首字母縮寫詞xpub**)。

首字母縮略詞是“xpriv”和“xpub”,因為 base58 檢查前綴會導致這 4 個字元用於主網擴展的 pub/priv 密鑰。

擴展公鑰和普通公鑰的區別在於它還包含有關 bip32 鏈(確定性鏈/層次結構)的資訊。

它包含了:

  • 層次結構的深度(主節點為 1 字節 0x00,1 級派生密鑰為 0x01,……)
  • 指紋(4 個字節,可能的標識符)
  • 鏈碼(32 字節,= 用於層次結構的連結)
  • 子索引(目前層次結構級別的鍵的“編號” )
  • 私鑰或公鑰(私鑰 32 字節,公鑰 33 字節)

普通的私鑰或公鑰只包含最後一個元素(32/33byte [public|private]key)。

如何生成地址的(簡化)範例:

  1. 取擴展主私鑰 ( m/)
  2. 派生賬戶擴展私鑰 ( m/0')
  3. 獲取該帳戶擴展私鑰 ( m/0') 並在下一層 ( ) 上派生第一個擴展私鑰m/0'/0
  4. 使用( m/0'/0)的擴展私鑰生成擴展公鑰,取出“普通公鑰”(33字節),編碼出P2PKH地址(或P2WPKH、multisig等)。

引用自:https://bitcoin.stackexchange.com/questions/50028