了解您的比特幣金鑰:Bip39 種子詞插图

比特幣自我主權的基石是控制你的私鑰。 如果沒有這一點,您將以某種方式將您的資金控制權交給其他人。 俗話說「不是你的鑰匙,不是你的硬幣」。 對於不熟悉比特幣技術基礎的人來說,比特幣的一個反直覺的方面是你的比特幣實際上在「哪裡」。 當人們想到錢包時,他們會想到「我存放錢的地方」。 您的比特幣錢包實際上並沒有「保存」您的比特幣,它只是儲存您的私鑰。 您的比特幣只是區塊鏈上由參網路的每個人託管的資料條目。 當您花費比特幣時,您實際上在做的是提議更新儲存在區塊鏈上的資料。 私鑰是協議如何確保您(並且只有您)可以授權更新花費您的比特幣的區塊鏈。

那你的私鑰是什麼? 只是一個非常大的數字。 非常大。 這是二進制私鑰:

111000101101100101111011110000010100010000001000100111101011101101010111011100111101011111010101110111001111111111010101010101010101010101010 0100110111101000110000111110101111001101001011110011011101000001101101101110001101001101010101010101010101 1 01101010

256 個隨機 1 0。 這個隨機數字最終是保護你的比特幣的。 它可能看起來不多,但它的隨機性可以確保您錢包的安全。 可能的比特幣私鑰幾乎與可見宇宙中的原子一樣多。 這就是電腦必須計算多少個數字才能產生和編錄所有可能的私鑰。 只要用於產生金鑰的過程是真正隨機的,您的金鑰就是安全的。

這是十六進制私鑰的樣子(二進位使用兩個數字來編碼數字,1 和 0,十六進位使用 16 個數字,0-9 和 AF):

E2D97BC144089EBB5773FFABA5D3A729BD187D79A5E6E836DC68C7A24F6AB36A

這是未壓縮的錢包導入格式 (WIF) 中的私鑰的樣子:

5KYC9aMMSDWGJciYRtwY3mNpeTn91BLagdjzJ4K4RQmdhQvE98G

WIF 格式是比特幣早期每個人與私鑰互動的方式。 在這個時代,您可以一次產生一個私鑰,然後從中產生公鑰。 產生公鑰的過程本質上只是非常大的數字的乘法,但還不止於此。所有公鑰都是圖表上的 x 和 y 點,顯示了一個非常、 非常 自身循環的大曲線。

在圖形曲線上,在比特幣的案例 SECp256k1 中,有一個點稱為「生成點」。 此生成點可被視為 Secp256k1 曲線上的「基點」。 它是產生金鑰並使用金鑰簽署的過程中不可或缺的一部分。 這就是比特幣曲線的生成點:

G = 02 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798

要從私鑰產生公鑰,您需要將產生的私鑰乘以生成點。 就是這樣。 現在,這會在圖表上建立一個點,該點與您產生的私鑰之間存在數學關係,只有您知道。

這是一個未壓縮的公鑰,顯示 x 和 y 點:

04C0E410A572C880D1A2106AFE1C6EA2F67830ABCC8BBDF24729F7BF3AFEA06158F0C04D7335D051A92442330A50B8C3701056210066666166250B8C321

在與公鑰互動的極少數情況下,「壓縮」公鑰是很常見的,只用一個位元組儲存 x 座標來告訴您 y 座標是負數還是正數。 這大大縮短了它:

04C0E410A572C880D1A2106AFE1C6EA2F67830ABCC8BBDF24729F7BF3AFEA06158F0C04D7335D051A92442330A50B8C3701056210066666166250B8C321

當你用私鑰簽署交易時,它再次歸結為本質上只是乘法。 透過產生一個隨機數(隨機數),並使用該隨機數和您的私鑰本質上乘以您正在簽署的交易的雜湊值,您就可以產生簽名(由兩個值 r 和 S 組成)。 這允許某人運行演算法來驗證訊息是否由適當的私鑰簽名,而無需洩露該金鑰。 保證只有你可以授權花費你的比特幣本質上只是非常非常大的數字的乘法。

如果您在閱讀本文之前不太熟悉這些概念,那麼所有這些可能看起來有些令人生畏。 二進制? 十六進位? 圖點? 如何備份 WIF?

由於處理這些數據的更直觀方法的發展,大多數用戶不熟悉這些複雜的格式。 您很可能對單字種子(也稱為種子短語)有更多的經驗。

BIP 39 助記詞種子

創建助記種子或種子短語是為了解決與私鑰互動的體驗問題。

正如我們之前討論的,私鑰最終只是隨機產生的一長串 1 和 0。 想像嘗試建立此副本並確保您在轉錄時沒有出錯:

111000101101100101111011110000010100010000001000100111101011101101010111011100111101011111010101110111001111111111010101010101010101010101010 0100110111101000110000111110101111001101001011110011011101000001101101101110001101001101010101010101010101 1 01101010

只需複製一位數字時出現一個錯誤,就會使金鑰備份變得毫無用處。 這就是助記詞種子派上用場的地方。 連續 256 個連續的 1 和 0 並不是一種人性化的與敏感資訊互動的方式。 錯誤地記錄此號碼意味著無法存取您的帳戶。

卡車更新憤怒驢子提醒筆記型電腦改革細節因肥胖而分裂悲傷

這比較容易處理,不是嗎? 只有12個字。 那麼它是如何運作的,從一堆隨機的 1 和 0 變成一串對你來說真正有意義的單字呢? 一種編碼方案,就像二進位或十六進位一樣!

上面助記符種子中的 12 個單字中的每一個都是一個二進制數 編碼方案 將特定的 1 和 0 字串對應到單字。 如果我們回顧一下先前的WIF 私鑰範例,就會發現它只是以特定編碼方案(在這種情況下為基數58)編碼的數字,它使用字母表中除0 和1 以及O 和l 之外的所有數字和字母(區分大小寫)。 排除這些字元是專門為了透過混淆 1 為 l 或 0 為 O 來減少轉錄錯誤。Segwit 和 Taproot 使用的 bech32 和 bech32m 透過僅使用這組字元將其提升到一個新的水平( qpzry9x8gf2tvdw0s3jn54khce6mua7l)。

比特幣改進提案 39 (BIP 39) 引入了一種標準化編碼方案,其中特製詞典中的每個單字都按字母順序映射為從 00000000001 到 11111111111 的二進制數。上面的演示種子映射到此:

卡車:11101001001

更新:10110110001

憤怒:01011110011

驢子:01000001001

提醒:10110101110

筆記型電腦:01111101000

改革:10110100010

詳細資訊:00111100010

分裂:11010010001

悲傷:01100110100

因為:00010011110

脂肪:01010011011

在二進制中它看起來像這樣:

11101001001 10110110001 01011110011 01000001001 10110101110 01111101000 1011010001110 01111101000 10110100010 001111010101010101010 10011110 0101001 1011

有 2048 個單詞,每個單字映射到由 1 和 0 組成的特定 11 位數字字串,專門是為了讓人們更輕鬆地與其私鑰進行互動。 當您為私鑰產生隨機數字時,您的錢包會將該數字切割成 11 位元二進制數塊,並將它們對應到 BIP 39 助記詞字典。 它仍然是同樣大的數字,但現在你可以把它讀成英語單字。 由於您的大腦比長串 1 和 0 更習慣這種格式,因此 徹底地 減少您寫錯東西並在此過程中丟失比特幣的可能性。

您可能已經注意到,在上面單字種子的原始二進位編碼中,有四個數字 (1011) 獨立存在,而最後一個「單字」實際上只有 8 位數字。 這是確保種子短語有效的校驗和。 當您產生隨機數時,沒有足夠的數字將其精確地對應到 12(或 24)個單字。 錢包會對您產生的現有數字進行哈希處理,並將哈希值的前幾位數字加到隨機數的末尾。 這將為您提供足夠的數字來映射到最後一個單字。

最後一句話允許您對種子副本進行安全檢查。 如果您將助記詞種子錯誤地輸入到錢包中,則校驗和將不符。 每個 12 或 24 個單字的種子都有多個潛在的有效校驗和單詞,但如果最後一個單字與正確種子的校驗和不匹配,您的錢包會警告您它是無效的。 這為人們提供了一種直觀但仍然數學的方法來保證他們的備份正確,這與轉錄和備份原始二進制數的混亂過程不同。

清單中特定單字的選擇甚至保證了 2048 個單字中沒有一個單字的前四個字母相同。 這樣做是為了減少人們因混淆相似的單字而導致轉錄錯誤並最終導致私鑰備份不正確的可能性。

將這些字翻譯成 多個私鑰/公鑰的使用非常簡單。 您的助記詞種子將使用 SHA512 進行雜湊處理,輸出 512 個單獨的 1 和 0 的雜湊值。 此輸出的一半用作實際的私鑰,另一半用作帶有索引號和現有私鑰或公鑰的 SHA512 的輸入,以產生新的金鑰對。 您可以根據需要多次執行此操作,產生新的私鑰/公鑰,這些金鑰都可以從單一助記詞短語中復原。

這確保您可以輕鬆管理您的私鑰,並且 安全地,盡可能降低犯錯而損失金錢的可能性。 這一切都是用數學完成的! 希望現在您能夠很好地理解為什麼人們說比特幣是「由數學保證」的貨幣。

#了解您的比特幣金鑰Bip39 #種子詞