最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

當(dāng)前位置:主頁 > 區(qū)塊鏈 > 錢包知識 > 加密貨幣錢包助記詞

HD加密貨幣錢包助記詞所涉及的 BIP32、BIP44、BIP39介紹

2025-08-21 16:26:20 | 來源: | 作者:佚名
本文介紹了BIP32、BIP39和BIP44在加密貨幣錢包中的作用,BIP32提供了一種通過種子生成無限私鑰的分層確定性方法,BIP39通過助記詞簡化種子備份,BIP44則定義了多幣種錢包的路徑規(guī)范,使得管理不同加密貨幣變得更加便捷和安全

引言

錢包是很多人第一次接觸以太坊或其他虛擬貨幣的地方。無論是用手機還是瀏覽器的錢包,相信很多人都對一串陌生的單字感到好奇而且很重要還要備份。這是源于比特幣中錢包的設(shè)計,采用第三機制的錢包通常稱為HD錢包。

隨著比特幣區(qū)塊鏈的發(fā)展,人們已經(jīng)不滿足于,只有一個賬號的情況,有些人會有好幾個賬戶,但是這就出現(xiàn)一個問題,我有幾個賬號,就要保存幾個私鑰,這就特別麻煩和不友好,所以,就出現(xiàn)了bip32確定性算法,該算法可以讓你只有同一個種子,就可以生成無數(shù)個私鑰和地址,這就大大方便了用戶的使用。但是這個種子,也比較長,用戶使用起來也比較繁瑣,這就出現(xiàn)了bip39,它是使用助記詞的方式,生成種子的,這樣用戶只需要記住,12個單詞(3,6,9,12,15,18,21,24支持這些單詞數(shù),目前使用較廣泛的是12和24),這就有大大提高了用戶使用的便利性。又隨著區(qū)塊鏈發(fā)展,市面上出現(xiàn)了很多幣種,之前的確定性算法只是針對比特幣的,也就是說只支持一種幣種,用戶想用同一個種子,管理不同幣種,這就促使了bip44協(xié)議的出現(xiàn),它是基于bip32協(xié)議的,它給bip32的路徑,賦予了不同的意義,很好的解決了多幣種,多地址的問題。

協(xié)議官方鏈接如果想詳細(xì)的了解這些協(xié)議,請查看官方文檔(解析的最清楚)

big32:https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki

bip39:https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki

bip44:https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki

驗證網(wǎng)站:https://iancoleman.io/bip39/

數(shù)字錢包概念

錢包用來存錢的,在區(qū)塊鏈中,我們的數(shù)字資產(chǎn)都會對應(yīng)到一個賬戶地址上, 只有擁有賬戶的鑰匙(私鑰)才可以對資產(chǎn)進(jìn)行消費(用私鑰對消費交易簽名)。
私鑰和地址的關(guān)系如下:

一句話概括下就是:私鑰通過橢圓曲線生成公鑰, 公鑰通過哈希函數(shù)生成地址,這兩個過程都是單向的。

因此實際上,數(shù)字錢包實際是一個管理私鑰(生成、存儲、簽名)的工具,注意錢包并不保存資產(chǎn),資產(chǎn)是在鏈上的。

如何創(chuàng)建賬號

創(chuàng)建賬號關(guān)鍵是生成一個私鑰, 私鑰是一個32個字節(jié)的數(shù), 生成一個私鑰在本質(zhì)上在1到2^256之間選一個數(shù)字。
因此生成密鑰的第一步也是最重要的一步,是要找到足夠安全的熵源,即隨機性來源,只要選取的結(jié)果是不可預(yù)測或不可重復(fù)的,那么選取數(shù)字的具體方法并不重要。

比如可以擲硬幣256次,用紙和筆記錄正反面并轉(zhuǎn)換為0和1,隨機得到的256位二進(jìn)制數(shù)字可作為錢包的私鑰。

從編程的角度來看,一般是通過在一個密碼學(xué)安全的隨機源(不建議大家自己去寫一個隨機數(shù))中取出一長串隨機字節(jié),對其使用SHA256哈希算法進(jìn)行運算,這樣就可以方便地產(chǎn)生一個256位的數(shù)字。

實際過程需要比較下是否小于n-1(n = 1.158 * 10^77, 略小于2^256),我們就有了一個合適的私鑰。否則,我們就用另一個隨機數(shù)再重復(fù)一次。這樣得到的私鑰就可以根據(jù)上面的方法進(jìn)一步生成公鑰及地址。

BIP32、BIP39、BIP44

BIP全稱是Bitcoin Improvement Proposals,是提出比特幣的新功能或改進(jìn)措施的文件。盡管任何人提出,經(jīng)過審核后公布在bitcoin/bips上。BIP和比特幣的關(guān)系,就像是RFC之于互聯(lián)網(wǎng)。

而其中的BIP32、BIP39、BIP44共同定義了目前被廣泛使用的HD錢包,包含其設(shè)計動機和理念、實作方式、實例等。

BIP32:定義分層確定性錢包(簡稱“HD Wallet”),是一個系統(tǒng)可以從單個種子 生成一樹狀結(jié)構(gòu)存儲多組密鑰對(私鑰和公鑰)。好處是可以方便的備份、轉(zhuǎn)移到其他相容裝置因為(都只需要種子),以及分層的權(quán)限等。

BIP39:將種子用方便記憶和書寫的單字表示。一般由12個單字組成,稱為助記碼(詞組),中文稱為助記詞或助記碼。例如:

rose rocket invest real refuse margin festival danger anger border idle brow

BIP44:基于 BIP32 的系統(tǒng),賦予樹狀結(jié)構(gòu)中的各層特殊的意義。讓同一個種子可以支持多幣種、多賬戶等。各層定義如下:

m / purpose' / coin_type' / account' / change / address_index

其中的purporse'固定是44',代表使用BIP44。而coin_type'用來表示不同的幣種,例如Bitcoin就是0',Ethereum是60'。

BIP32

錢包也是一個私鑰的容器,按照上面的方法,我們可以生成一堆私鑰(一個人也有很多賬號的需求,可以更好保護(hù)隱私),而每個私鑰都需要備份就特別麻煩的。

最早期的比特幣錢包就是就是這樣,還有一個昵稱:“Just a Bunch Of Keys(一堆私鑰)“

為了解決這種麻煩,就有了BIP32 提議: 根據(jù)一個隨機數(shù)種子通過分層確定性推導(dǎo)的方式得到n個私鑰,這樣保存的時候,只需要保存一個種子就可以,私鑰可以推導(dǎo)出來,如圖:

 

(圖來自精通比特幣)

上圖中的孫秘鑰就可以用來簽發(fā)交易。

補充說明下 BIP: Bitcoin Improvement Proposals 比特幣改進(jìn)建議, bip32是第32個改進(jìn)建議。
BIP32提案的名字是:Hierarchical Deterministic Wallets, 就是我們所說的HD錢包。

來分析下這個分層推導(dǎo)的過程,第一步推導(dǎo)主秘鑰的過程:

 

根種子輸入到HMAC-SHA512算法中就可以得到一個可用來創(chuàng)造主私鑰(m) 和 一個主鏈編碼( a master chain code)這一步生成的秘鑰(由私鑰或公鑰)及主鏈編碼再加上一個索引號,將作為HMAC-SHA512算法的輸入繼續(xù)衍生出下一層的私鑰及鏈編碼,如下圖:

 

衍生推導(dǎo)的方案其實有兩個:一個用父私鑰推導(dǎo)(稱為強化衍生方程),一個用父公鑰推導(dǎo)。同時為了區(qū)分這兩種不同的衍生,在索引號也進(jìn)行了區(qū)分,索引號小于2^31用于常規(guī)衍生,而2^31到2^32-1之間用于強化衍生,為了方便表示索引號i’,表示2^31+i。

因此增加索引(水平擴(kuò)展)及 通過子秘鑰向下一層(深度擴(kuò)展)可以無限生成私鑰。

注意, 這個推導(dǎo)過程是確定(相同的輸入,總是有相同的輸出)也是單向的,子密鑰不能推導(dǎo)出同層級的兄弟密鑰,也不能推出父密鑰。如果沒有子鏈碼也不能推導(dǎo)出孫密鑰?,F(xiàn)在我們已經(jīng)對分層推導(dǎo)有了認(rèn)識。

一句話概括下BIP32就是:為了避免管理一堆私鑰的麻煩提出的分層推導(dǎo)方案。

秘鑰路徑及BIP44

通過這種分層(樹狀結(jié)構(gòu))推導(dǎo)出來的秘鑰,通常用路徑來表示,每個級別之間用斜杠 / 來表示,由主私鑰衍生出的私鑰起始以“m”打頭。因此,第一個母密鑰生成的子私鑰是m/0。第一個公共鑰匙是M/0。第一個子密鑰的子密鑰就是m/0/1,以此類推。

BIP44則是為這個路徑約定了一個規(guī)范的含義(也擴(kuò)展了對多幣種的支持),BIP0044指定了包含5個預(yù)定義樹狀層級的結(jié)構(gòu):
m / purpose' / coin' / account' / change / address_indexm是固定的, Purpose也是固定的,值為44(或者 0x8000002C)
Coin type這個代表的是幣種,0代表比特幣,1代表比特幣測試鏈,60代表以太坊完整的幣種列表地址:https://github.com/satoshilabs/slips/blob/master/slip-0044.mdAccount代表這個幣的賬戶索引,從0開始
Change常量0用于外部(收款地址),常量1用于內(nèi)部(也稱為找零地址)。外部用于在錢包外可見的地址(例如,用于接收付款)。內(nèi)部鏈用于在錢包外部不可見的地址,用于返回交易變更。 (所以一般使用0)
address_index這就是地址索引,從0開始,代表生成第幾個地址,官方建議,每個account下的address_index不要超過20

根據(jù) EIP85提議的討論以太坊錢包也遵循BIP44標(biāo)準(zhǔn),確定路徑是m/44'/60'/a'/0/na 表示帳號,n 是第 n 生成的地址,60 是在 SLIP44 提案中確定的以太坊的編碼。所以我們要開發(fā)以太坊錢包同樣需要對比特幣的錢包提案BIP32、BIP39有所了解。

一句話概括下BIP44就是:給BIP32的分層路徑定義規(guī)范

示例

coinaccountchangeaddresspath
Bitcoinfirstexternalfirstm / 44’ / 0’ / 0’ / 0 / 0
Bitcoinfirstexternalsecondm / 44’ / 0’ / 0’ / 0 / 1
Bitcoinfirstinternalsecondm / 44’ / 0’ / 0’ / 1 / 1
Bitcoin Testnetfirstexternalfirstm / 44’ / 1’ / 0’ / 0 / 0
Bitcoin Testnetsecondexternalfirstm / 44’ / 1’ / 1’ / 0 / 0

BIP39

BIP32 提案可以讓我們保存一個隨機數(shù)種子(通常16進(jìn)制數(shù)表示),而不是一堆秘鑰,確實方便一些,不過用戶使用起來(比如冷備份)也比較繁瑣,這就出現(xiàn)了BIP39,它是使用助記詞的方式,生成種子的,這樣用戶只需要記住12(或24)個單詞,單詞序列通過 PBKDF2 與 HMAC-SHA512 函數(shù)創(chuàng)建出隨機種子作為 BIP32 的種子。

可以簡單的做一個對比,下面那一種備份起來更友好:

// 隨機數(shù)種子
090ABCB3A6e1400e9345bC60c78a8BE7
// 助記詞種子
candy maple cake sugar pudding cream honey rich smooth crumble sweet treat

使用助記詞作為種子其實包含2個部分:助記詞生成及助記詞推導(dǎo)出隨機種子,下面分析下這個過程。

生成助記詞

助記詞生成的過程是這樣的:先生成一個128位隨機數(shù),再加上對隨機數(shù)做的校驗4位,得到132位的一個數(shù),然后按每11位做切分,這樣就有了12個二進(jìn)制數(shù),然后用每個數(shù)去查BIP39定義的單詞表,這樣就得到12個助記詞,這個過程圖示如下:

 

(圖來源于網(wǎng)絡(luò))

下面是使用bip39生成生成助記詞的一段代碼:

<strong>var</strong> bip39 = require('bip39')
// 生成助記詞
<strong>var</strong> mnemonic = bip39.<strong>generateMnemonic</strong>()
console.<strong>log</strong>(mnemonic)

助記詞推導(dǎo)出種子

這個過程使用密鑰拉伸(Key stretching)函數(shù),被用來增強弱密鑰的安全性,PBKDF2是常用的密鑰拉伸算法中的一種。
PBKDF2基本原理是通過一個為隨機函數(shù)(例如 HMAC 函數(shù)),把助記詞明文和鹽值作為輸入?yún)?shù),然后重復(fù)進(jìn)行運算最終產(chǎn)生生成一個更長的(512 位)密鑰種子。這個種子再構(gòu)建一個確定性錢包并派生出它的密鑰。

密鑰拉伸函數(shù)需要兩個參數(shù):助記詞和鹽。鹽可以提高暴力破解的難度。 鹽由常量字符串 “mnemonic” 及一個可選的密碼組成,注意使用不同密碼,則拉伸函數(shù)在使用同一個助記詞的情況下會產(chǎn)生一個不同的種子,這個過程圖示圖下:

 

(圖來源于網(wǎng)絡(luò))

同樣代碼來表示一下:

<strong>var</strong> hdkey = require('ethereumjs-wallet/hdkey')
<strong>var</strong> util = require('ethereumjs-util')
<strong>var</strong> seed = bip39.<strong>mnemonicToSeed</strong>(mnemonic, "pwd");
<strong>var</strong> hdWallet = hdkey.<strong>fromMasterSeed</strong>(seed);
<strong>var</strong> key1 = hdWallet.<strong>derivePath</strong>("m/44'/60'/0'/0/0");
console.<strong>log</strong>("私鑰:"+util.<strong>bufferToHex</strong>(key1._hdkey._privateKey));
<strong>var</strong> address1 = util.<strong>pubToAddress</strong>(key1._hdkey._publicKey, true);
console.<strong>log</strong>("地址:"+util.<strong>bufferToHex</strong>(address1));
console.<strong>log</strong>("校驗和地址:"+ util.<strong>toChecksumAddress</strong>(address1.<strong>toString</strong>('hex')));

校驗和地址是EIP-55中定義的對大小寫有要求的一種地址形式。

密碼可以作為一個額外的安全因子來保護(hù)種子,即使助記詞的備份被竊取,也可以保證錢包的安全(也要求密碼擁有足夠的復(fù)雜度和長度),不過另外一方面,如果我們忘記密碼,那么將無法恢復(fù)我們的數(shù)字資產(chǎn)。

一句話概括下BIP39就是:通過定義助記詞讓種子的備份更友好

小結(jié)

HD錢包(Hierarchical Deterministic Wallets)是在BIP32中提出的為了避免管理一堆私鑰的麻煩提出的分層推導(dǎo)方案。
而BIP44是給BIP32的分層增強了路徑定義規(guī)范,同時增加了對多幣種的支持。
BIP39則通過定義助記詞0讓種子的備份更友好。

目前我們的市面上單到的以太幣、比特幣錢包基本都遵循這些標(biāo)準(zhǔn)。

免責(zé)聲明:本文只為提供市場訊息,所有內(nèi)容及觀點僅供參考,不構(gòu)成投資建議,不代表本站觀點和立場。投資者應(yīng)自行決策與交易,對投資者交易形成的直接或間接損失,作者及本站將不承擔(dān)任何責(zé)任。!
Tag:BIP32   BIP44   BIP39  

你可能感興趣的文章

幣圈快訊

  • 三名iOS用戶因下載假冒SparrowWallet損失180萬美元比特幣起訴蘋果不作為

    2026-07-26 14:41
    據(jù)MacRumors報道,三位iOS用戶在美國加州聯(lián)邦法院起訴Apple,指控其于2025年5月至8月從AppStore下載假冒SparrowWallet應(yīng)用后,三人共損失約180萬美元的比特幣。訴訟稱,即使受害者舉報了欺詐行為,蘋果公司也往往很少或根本不采取任何行動,而且其他虛假的Sparrow應(yīng)用仍然留在AppStore中。SparrowWallet的開發(fā)者CraigRaw公開批評了蘋果公司對其應(yīng)用在AppStore中出現(xiàn)多個假冒版本反應(yīng)遲緩,未及時下架假App,甚至其他假版本目前仍存在。
  • 韓國養(yǎng)老金基金今年首次轉(zhuǎn)為KOSPI凈買入重倉SK海力士

    2026-07-26 14:28
    7月26日,韓國交易所數(shù)據(jù)顯示,包括韓國股市最大機構(gòu)投資者之一的國民年金公團(tuán)(NPS)在內(nèi)的養(yǎng)老金基金,本月首次在韓國股市轉(zhuǎn)為凈買入。韓國交易所數(shù)據(jù)顯示,截至7月24日,國民年金公團(tuán)及其他養(yǎng)老金基金今年7月以來累計凈買入韓國KOSPI指數(shù)成分股684億韓元(約4680萬美元)。這是養(yǎng)老金基金在連續(xù)6個月凈賣出后,今年首次實現(xiàn)單月凈買入。從具體個股來看,SK海力士是養(yǎng)老金基金7月以來買入最多的股票,凈買入金額達(dá)到4258億韓元。
  • 伊朗軍方稱已對可能發(fā)生的空襲或地面行動做好準(zhǔn)備

    2026-07-26 14:27
    7月26日,當(dāng)?shù)貢r間26日,伊朗武裝部隊發(fā)言人謝卡爾奇表示,當(dāng)前美國面臨的局勢混亂且對其不利,美方在霍爾木茲海峽以及削弱伊朗方面“均未能實現(xiàn)既定目標(biāo)”。謝卡爾奇稱,美方目前正在尋求新的戰(zhàn)略,不排除退出戰(zhàn)爭的可能,但這“將取決于以色列方面是否同意”。他還表示,隨著以色列總理內(nèi)塔尼亞胡訪問美國,未來伊朗可能會面對空襲或地面軍事行動等情景。然而在地面戰(zhàn)選項中,美國“將面臨更大的脆弱性”。謝卡爾奇表示,伊朗已為各種可能出現(xiàn)的情況做好充分準(zhǔn)備。(央視)
  • Robinhood生態(tài)代幣PONS市值短時突破5600萬美元創(chuàng)歷史新高

    2026-07-26 14:15
    據(jù)GMGN行情數(shù)據(jù),Robinhood生態(tài)代幣PONS市值上漲短時突破5600萬美元,創(chuàng)歷史新高,現(xiàn)報4980萬美元,日內(nèi)漲超24%該代幣價格波動劇烈,多受市場情緒及熱點事件驅(qū)動,缺乏實際價值支撐,投資者需注意風(fēng)險。
  • 薩爾瓦多加密貨幣匯款僅占總額0.7%但同比增長39.1%

    2026-07-26 14:06
    據(jù)News.bitcoin報道,薩爾瓦多中央銀行公布的數(shù)據(jù)顯示,2026年上半年,僅有3540萬美元的外部匯款是通過數(shù)字貨幣渠道匯入該國的。這一數(shù)字僅占2026年該國匯入資金總額(超過50億美元)的0.7%。即便如此,加密貨幣匯款的數(shù)量仍遠(yuǎn)高于2025年上半年的水平,當(dāng)時加密貨幣匯款額為2540萬美元,增長了39.1%。
  • 查看更多
更多

熱門幣種

  • 幣種
    最新價格
    24H漲跌幅
  • bitcoin BTC 比特幣

    BTC

    比特幣

    $ 64425.71¥ 436174.94
    +0.62%
  • ethereum ETH 以太坊

    ETH

    以太坊

    $ 1883.59¥ 12752.28
    +1.35%
  • tether USDT 泰達(dá)幣

    USDT

    泰達(dá)幣

    $ 0.999¥ 6.7634
    +0%
  • binance-coin BNB 幣安幣

    BNB

    幣安幣

    $ 571.37¥ 3868.28
    +1.11%
  • usdc USDC USD Coin

    USDC

    USD Coin

    $ 1.0008¥ 6.7756
    +0%
  • ripple XRP 瑞波幣

    XRP

    瑞波幣

    $ 1.0996¥ 7.4445
    +0.79%
  • solana SOL Solana

    SOL

    Solana

    $ 75.0174¥ 507.88
    +1.43%
  • tron TRX 波場

    TRX

    波場

    $ 0.3312¥ 2.2422
    +0.33%
  • hyperliquid HYPE Hyperliquid

    HYPE

    Hyperliquid

    $ 58.6925¥ 397.35
    +2.44%
  • dogecoin DOGE 狗狗幣

    DOGE

    狗狗幣

    $ 0.07341¥ 0.497
    +5.91%
张家川| 富平县| 临汾市| 定襄县| 双桥区| 邻水| 宣城市| 南木林县| 汝南县| 琼海市| 楚雄市| 祁门县| 于都县| 清丰县| 江陵县| 凤庆县| 芒康县| 遵义市| 简阳市| 廉江市| 即墨市| 乌拉特前旗| 东台市| 天津市| 西乡县| 平湖市| 乌什县| 祁阳县| 武安市| 安岳县| 卢龙县| 清水县| 肃南| 宿州市| 惠州市| 西青区| 新干县| 平果县| 桐梓县| 会东县| 阿合奇县|