Wallet
“分層確定性錢包”如何運作?
我正在閱讀比特幣和加密貨幣技術。這本書討論了“分層確定性錢包”是如何工作的:
這裡它說私鑰生成需要“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
即可計算出子私鑰。