為什麼存在有限數量的比特幣地址以及如何確定可能的地址範圍
我的第一個問題是,確切的邏輯/理論原因是只有固定數量的可能比特幣地址。其次,我可以使用 address(sha256(“Passphrase”)) 生成一個比特幣地址。如果甚至可以確定,為了計算第一個和最後一個可能的地址,“密碼”是什麼?例如 address(sha256(0)) 是第一個地址嗎?
我試圖了解可能地址的“範圍”是如何工作的或它是如何界定的。
我的第一個問題是,確切的邏輯/理論原因是只有固定數量的可能比特幣地址。
因為物理學不允許我們做任何無限的事情。
但是,即使地址的數量是有限的,可能的地址數量也是如此之大,以至於它可能是無限的。我們不可能用盡所有可能的地址;他們太多了。
其次,我可以使用 address(sha256(“Passphrase”)) 生成一個比特幣地址。如果甚至可以確定,為了計算第一個和最後一個可能的地址,“密碼”是什麼?
這不是地址的工作方式。它不是一個有序列表,並且地址不是按任何順序生成的。地址不是通過散列密碼生成的;他們也不會被該密碼訂購。
地址是通過使用 SHA256 對公鑰進行散列,然後使用 RIPEMD160 進行散列來生成的。然後使用 Base58 Check 編碼對生成的雜湊進行編碼。這些雜湊函式是不可逆的,因此給定它們的輸出,您無法找到它們的輸入。所以不,僅給定地址就不可能找出地址的雜湊值是什麼公鑰。
如果你真的想訂購地址,那麼第一個地址是 Base58 校驗編碼,
0000000000000000000000000000000000000000
最後一個地址是 Base58 校驗編碼ffffffffffffffffffffffffffffffffffffffff
。可能的地址範圍就是所有可能的 160 位(20 字節)值的範圍。那是因為那是 RIPEMD160 可以輸出的所有可能值的範圍。