国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

HP錢包概念及底層原理(BIP32,BIP39,BIP44)

lx1036 / 2223人閱讀

摘要:錢包概述中文可以翻譯為分層錢包,錢包可以在不需要私鑰情況下運用橢圓曲線算法生成大量公鑰。概念是由提出,解決難以抄寫記憶問題,規范各個幣種路徑規范達成業界共識。這個規范的目的是設定一個分層錢包標準,能在不通客戶之間交換。

前序:相信各位區塊鏈大佬,對公鑰和私鑰概念已經爛熟于心,對私鑰重要性也諱莫如深。私鑰可以給交易簽名,有了私鑰就有了全部權限,但原始私鑰沒什么規律可循,特別不放記憶轉移,還容易出錯。所以要用一些密碼學知識管理。

管理方法 非確定性錢包

隨機生成一個數字串作為私鑰,可以使用密碼學安全的偽隨機數生成器,公鑰毫無關系,缺點當有多個私鑰賬戶時候(對于個專業的幣圈人事,誰沒有n個賬戶呢,用于存儲不通用途的幣),必須逐個備份,導出,導入,極其麻煩。

確定性錢包

為了解決非確定性錢包需要逐個導入問題,提出了一套生成密鑰對的方法,密鑰由于原始的seed推導出。這樣一個seed就可以創建多個公要私鑰對,在備份導入錢包時候就只需要種子方便抄寫。這個特性適合收款服務,比如商店收款,為每個用戶創建一個收款公鑰匙,也可以用戶給用戶空投等。

HD錢包(Hierachical Deterministic Wallets)

概述:中文可以翻譯為分層錢包,HD錢包可以在不需要私鑰情況下運用橢圓曲線算法生成大量公鑰。概念是由BIP32(Bitcoin Improvement Proposals)提出,BIP39解決seed難以抄寫記憶問題,BIP44規范各個幣種路徑規范達成業界共識。至此修成正果成為分層錢包的集大成者。如圖:

生成過程簡圖:
熵(128位/256位)→助記詞(12個/24個/16個)→種子(512位62byte)→根賬戶私鑰,公鑰,地址→其它層級賬戶密鑰
根據上述的順序我們會先用到BIP39生成助記詞,再用到BIP32產生root,再通過BIP44規范生成各個鏈的錢包。所以按此順序介紹三個BIP提案。

BIP39

主要描述助記詞代碼,助記詞句子的實現,包括兩部分1.生成助記詞,將其轉化為2進制種子,種子可以稍后用于使用BIP-0032或類似方法生成確定性錢包。
BIP39提出動機:直接生成隨機種子不久好了么,為什么還要助記詞。與處理錢包種子原始二進制或十六進制數字相比助記符對于人類交互是更優越的。可以寫在紙上,記性好的還可以背下來。(在富有的老父親快死時候也可以,把小兒子教到旁邊口述給兒子,連物理解釋都不用),BIP39就是通過人類可讀轉錄傳輸計算機生成的隨機性。這不是將用戶創建的句子(也稱為腦錢包)處理成錢包種子的方法。
助記詞本質,將一些列難以記住的無規則的數字串通過轉碼拆分后生成數字,在于單詞表進行映射生成助記詞。
bip39具體實現:
0.準備包含2000個單詞的助記詞數組

生成一個32倍數的初始熵,長度為128-256bit之間,叫length

length/32,計算為校驗碼長度

初始熵+校驗碼,每11位進行分割(并且整除所以可選的初始128,160,192,224,256)所以對應表為

11bit變為int類型作為下標,在2000個助記詞數組中找到對應單詞,返回給用戶。

從助記詞生成二進制seed,使用PBKDF2函數生成512bit seed,分為加密鑰和不加密鑰兩種,不加密鑰傳空

種子就是給BIP32使用的種子了

可選初始熵對照表

初始熵 校驗位 相加 助記詞數量
128 4 132 12
160 5 165 15
192 6 198 18
224 7 231 21
256 8 264 24
BIP32:

錢包可以部分或全部與其它系統共享,每個系統都有獨立花錢能力。這個規范的目的是設定一個分層錢包標準,能在不通客戶之間交換。通過一個共同的種子可以導出任意對私鑰,私鑰推導采用不可逆算法,只可以由高層級推導低層級,HD錢包可以在不需要私鑰情況下運用橢圓曲線算法生成大量公鑰。
子密鑰派生(CKD)功能:通過父親密鑰和一個“路徑”可以計算出子密鑰,可分為以下幾種情況

父私鑰 → 子私鑰 可行

父親公鑰 → 子公鑰 可行

父私鑰 → 子公鑰 可行

父公鑰→ 子私鑰 這是不可能的

具體算法游行缺可以參考bitcoin上,bip32

BIP44

通過這種分層(樹狀結構)推導出來的秘鑰,通常用路徑來表示,每個級別之間用斜杠 / 來表示,由主私鑰衍生出的私鑰起始以“m”打頭。因此,第一個母密鑰生成的子私鑰是m/0。第一個公共鑰匙是M/0。第一個子密鑰的子密鑰就是m/0/1,以此類推。
定義了五個級別(一般都只有3級4級)
m / purpose"/ coin_type"/ account"/ change / address_index
m為固定,purpose目前在bip44預定使用44
coin_type:指不通幣的種類0代表比特幣,1代表比特幣測試鏈,60代表以太坊,恒星幣148,EOS194
完整幣種類型號列表:https://github.com/satoshilabs
Account: 代表賬戶索引
changge:常量0用于外部鏈,常量1用于內部鏈,就比如網頁商0為想被爬蟲爬到,1為不想被爬蟲爬到。
所以0為想被錢包商展示,1不想被錢包商展示。
address_index:這就是地址索引,從0開始,代表生成第幾個地址

總結:定義好路徑再通過bit32算法生成相關的層級的公私鑰,錢包商拿到助記詞轉換成seed也可通過一定的輪尋算法找到助記詞下所有幣種個數。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/24466.html

相關文章

  • 理解開發HD錢包涉及的BIP32BIP44BIP39

    摘要:本文首發于深入淺出區塊鏈社區原文鏈接理解開發錢包涉及的原文已更新,請讀者前往原文閱讀如果你還在被錢包搞的一頭霧水,來看看這邊文章吧。所以我們要開發以太坊錢包同樣需要對比特幣的錢包提案有所了解。 本文首發于深入淺出區塊鏈社區原文鏈接:理解開發HD錢包涉及的BIP32、BIP44、BIP39原文已更新,請讀者前往原文閱讀 如果你還在被HD錢包、BIP32、BIP44、BIP39搞的一頭霧水...

    firim 評論0 收藏0
  • 理解開發HD錢包涉及的BIP32BIP44BIP39

    摘要:本文首發于深入淺出區塊鏈社區原文鏈接理解開發錢包涉及的原文已更新,請讀者前往原文閱讀如果你還在被錢包搞的一頭霧水,來看看這邊文章吧。所以我們要開發以太坊錢包同樣需要對比特幣的錢包提案有所了解。 本文首發于深入淺出區塊鏈社區原文鏈接:理解開發HD錢包涉及的BIP32、BIP44、BIP39原文已更新,請讀者前往原文閱讀 如果你還在被HD錢包、BIP32、BIP44、BIP39搞的一頭霧水...

    tianren124 評論0 收藏0
  • Bytom BIP-32協議和BIP-44協議

    摘要:來做一個詳細的介紹協議協議原英文地址地址定義簡稱,是一個系統可以從單一個產生一樹狀結構儲存多組私鑰和公鑰。第二層的特指幣種并且允許多元貨幣錢包中的貨幣在第二個層級下有自己的亞樹狀結構。每個賬戶都是它自己亞樹的根。 我們知道HD(分層確定性)錢包,基于 BIP-32;多幣種和多帳戶錢包,基于 BIP-44;最近比原社區的錢包開發者對比原的BIP-32和BIP-44協議有疑問,所以我今天就...

    e10101 評論0 收藏0
  • 以太坊錢包開發系列1 - 創建錢包賬號

    摘要:錢包功能一個錢包通常主要包含的功能有賬號管理主要是私鑰的管理創建賬號賬號導入導出賬號信息展示如以太幣余額代幣余額。 本文首發于深入淺出區塊鏈社區原文鏈接:[使用 ethers.js 開發以太坊 Web 錢包 1 - 創建錢包賬號)](https://learnblockchain.cn/20...,請讀者前往原文閱讀 以太坊去中心化網頁錢包開發系列,將從零開始開發出一個可以實際使用的錢...

    1fe1se 評論0 收藏0
  • 以太坊錢包開發系列2 - 賬號Keystore文件導入導出

    摘要:文件如何生成的以太坊是使用對稱加密算法來加密私鑰生成文件,因此對稱加密秘鑰注意它其實也是發起交易時需要的解密秘鑰的選擇就非常關鍵,這個秘鑰是使用算法推導派生而出。加密推倒的相關配置是用于加密以太坊私鑰的對稱加密算法。 本文首發于深入淺出區塊鏈社區原文鏈接:[使用 ethers.js 開發以太坊 Web 錢包 2 - 賬號 Keystore 文件導入導出)](https://learnb...

    SegmentFault 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<