Wallet

“分層確定性錢包”如何運作?

  • December 12, 2021

我正在閱讀比特幣和加密貨幣技術。這本書討論了“分層確定性錢包”是如何工作的:

在此處輸入圖像描述

這裡它說私鑰生成需要“k,x,y”,但是等式中的x在哪裡?我的意思是,對於“y+H(k||i)”,它與“x”有什麼關係?

BIP-32中描述了分層確定性 (HD) 錢包。這有許多技術方面,因此為了簡單起見,我將只討論使用非強化派生從父私鑰派生子私鑰。

為了使語法與您的螢幕截圖相似,請y設為父私鑰,即g^y父公鑰。在BIP -32 HD 中,我們不只是使用y,我們還需要. 他們稱其為隨機值,但實際上它是以確定性的方式計算的,以便以後可以檢索到。讓我們稱之為,因為螢幕截圖中的目的似乎相似。y``k

為了導出 child i,我們計算(簡化):

I = HMAC-SHA512(k, g^y || i).

其中k用作計算 HMAC 函式的秘密。在螢幕截圖中,他們只是將兩者雜湊在一起,這不是最佳實踐,但可能更容易理解。他們也忽略了g^y,所以我們也忽略它。

我們計算的這個值I是 512 位長。將其分成兩半,並呼叫左側 256 位L和右側 256 位R

  • R是子鏈碼(如果你願意,你可以忽略它),用於派生這個孩子的孩子並繼續鏈。
  • 子密鑰是y + L.

因為你的截圖只是簡單地計算一個雜湊,你可以把它想像成L在這裡直接計算而不計算R。可以肯定地說這x是一個錯字。HD推導只需要鏈碼k和私鑰y即可計算出子私鑰。

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