你是否曾經想過為什麼別人的 BTC 錢包無法生成與你相同的地址? 或者為什麼有人無法生成與你相同的種子短語?畢竟,這只是一幾個單詞而已! 在這個主題中,我們將數據進行分析,調查比特幣是如何保護你的財富的。 🧵⬇️
比特幣協議使用三個主要工具來保護您的財富,值得了解: 熵、哈希函數和非對稱加密。 這些工具在數位安全的世界中被廣泛使用,甚至在比特幣之外。讓我們簡要解釋一下每一個。
首先:熵。這是一個華麗而簡潔的名稱,意指「不可預測的隨機性。」 如果你隨機選擇一個非常大的數字,以不可預測的方式,那麼沒有任何電腦能夠猜到它(只要這個數字足夠大!)。 這樣你就擁有了一個安全的秘密。
多大的數字才算足夠大? NIST 建議使用 2^112(即 112 位元)或更高的數字以確保有效的安全性。 作為參考,目前整個比特幣挖礦網絡每 10 分鐘大約會進行 2^79 次猜測。 但 2^112 的大小是那個的 80 億倍以上!
此外,12個單詞的種子短語代表了更大的熵:2^128。(每個單詞代表11位元。11*12 = 132,減去4位元作為檢查碼。) 2^128大約比NIST的建議強65,000倍!
要讓某人猜出特定的種子短語,就像他們需要借用全球所有的比特幣挖礦機,並猜測大約107億年。 這在理論上是可能的,但如果遵循最佳實踐,認為這會發生是不合理的。
第二:雜湊函數。 雜湊函數非常棒,因為你可以輸入任何數據(稱為前像),它將輸出一個介於 0 和函數上限之間的唯一數字(SHA-256 特別有名,範圍高達 2^256)。 你可以輸入一個單詞、一個頁面、一個書籍。
這些函數是單向的。你可以輕鬆地從輸入中找到輸出。然而,如果你只有輸出,則無法在不猜測的情況下找到輸入。 即使是來自相似輸入的輸出,稍微改變(例如大寫字母)看起來也完全不同且隨機:
因此,哈希輸出具有類似於熵的特性。 尋找能產生特定哈希輸出的前像的人,必須一再嘗試猜測。只要需要 2^112 次嘗試或更多,這就是不可行的,前像是安全的。
Bitcoin 使用 SHA-256 來幫助使交易不可逆,並使用 SHA-256 或 RIPEMD-160 來保護大多數地址類型。 因此,若要讓一個錢包生成與其他人相同的地址,至少需要 2^160 次嘗試,這已經足夠安全。
最後:非對稱加密。 也稱為公鑰加密,或在許多情境中稱為橢圓曲線加密(ECC)。 在比特幣中,ECC 用於使私鑰能夠生成公鑰,以及簽名以批准交易。
如果公鑰是一個足夠大的數字,那麼再次需要耗費大量的猜測才能找到相關的私鑰。 比特幣的密鑰是在 2^256 的範圍內的數字。數學計算的結果是安全性實際上是位元的一半,因此是 2^128,這是安全的。
最終,所有在比特幣經濟中進行正常操作的人都受到遠超過NIST建議和典型在線銀行密碼的安全標準的保護。 下面的圖表有助於可視化這種情況。
582