-
bitcoin $80983.718195 USD
-2.88% -
ethereum $2363.938053 USD
-5.54% -
tether $0.998790 USD
-0.01% -
bnb $717.610948 USD
-3.20% -
xrp $1.305281 USD
-4.72% -
usd-coin $0.999943 USD
0.00% -
solana $102.093135 USD
-4.89% -
tron $0.330976 USD
-0.21% -
hyperliquid $79.564118 USD
-2.87% -
zcash $1095.109590 USD
-12.52% -
dogecoin $0.079794 USD
-5.68% -
monero $536.493608 USD
-2.23% -
chainlink $12.045088 USD
-6.39% -
unus-sed-leo $9.028000 USD
0.09% -
cardano $0.220158 USD
-6.35%
如何從公共密鑰中產生以太坊錢包的地址?
An Ethereum wallet address is derived from the public key through Keccak-256 hashing, using the last 20 bytes to form a unique identifier.
2025/06/14 11:14
了解以太坊錢包之間的關係和公共鑰匙
在以太坊的世界中,錢包地址不是直接的公共密鑰本身,而是它的衍生版本。公共密鑰是使用橢圓曲線密碼學(特別是SECP256K1曲線)的私鑰生成的。創建此公共密鑰後,它將進行進一步的散列以生成最終的錢包地址。
該過程以隨機生成的私鑰開始,即256位編號。由此,使用SECP256K1算法得出公共密鑰。壓縮時,該公共密鑰通常表示為64字節陣列(或128個十六進製字符)。至關重要的是要了解,儘管可以公開共享公共密鑰,但絕不能在不安全的環境中進行更改或暴露。
使用Keccak-256哈希鍵
一旦生成了公鑰,下一步涉及應用加密哈希功能。以太坊為此目的使用Keccak-256哈希算法。與Bitcoin使用的SHA-256不同, Keccak-256由於其靈活性和性能特徵而被選擇。
- 命令完整的公鑰(包括前綴字節如果存在)。
- 應用Keccak-256哈希功能生成32字節(256位)輸出。
- 由此產生的哈希將是代表輸入公鑰的獨特字節序列。
在提取實際的以太坊錢包地址之前,該哈希值是中間階段。
提取最終以太坊地址
在獲得了公共密鑰的Keccak-256哈希之後,只有一部分被用來形成最終的以太坊錢包地址。具體而言,為此目的選擇了哈希的最後20個字節(160位)。
- 從Keccak-256哈希(Keccak-256 Hash)獲取32字節的輸出。
- 丟棄前12個字節。
- 將剩餘的20個字節保留為以太坊地址。
然後將這20個字節編碼為最初沒有“ 0x”前綴的十六進製字符串。當在錢包或探險家中顯示時,地址通常以“ 0x”前綴為前綴,以表明它是一種以太坊兼容的十六進制格式。
應用校驗和編碼安全性
為了提高安全性並降低錯別字的風險,以太坊引入了EIP-55 ,該eip-55啟用了地址的混合案例校驗和編碼。此功能允許用戶在輸入以太坊時檢測錯誤。
- 將以太坊地址(沒有“ 0x”)轉換為其小寫形式。
- 計算此小寫字符串的Keccak-256哈希。
- 對於原始地址中的每個字符:
- 如果哈希中的相應刺激大於或等於8,則資本化字符。
- 否則,將其留下小寫。
這會產生一個以太坊錢包地址,例如0xAbCdef1234567890aBcDef1234567890aBcDef12 ,其中大寫作為視覺校驗和。
驗證生成地址的正確性
在使用任何以太坊錢包地址之前,必須通過為此目的設計的工具或庫來驗證其正確性。許多開發人員使用諸如ethers.js或web3.js之類的庫來確保其實施與以太坊標准保持一致。
- 使用受信任的庫從同一公共密鑰重新生成地址。
- 將輸出與手動計算的輸出進行比較。
- 確保校驗和編碼和小寫的版本匹配預期值。
此外,在Mainnet上部署之前,應執行少量測試交易,以確認地址的行為是按預期的。
常見問題
問:兩個不同的公開鑰匙可以導致相同的以太坊地址嗎?從理論上講,由於以太坊地址空間的有限尺寸(2^160) ,但概率在天文學上很低。但是,由於大量可能的組合,碰撞不被視為實際威脅。
問:公開分享我的以太坊錢包地址是安全的嗎?是的,分享您的以太坊錢包地址是安全的,因為它不會直接暴露您的私鑰或公共密鑰。但是,避免共享可能損害隱私的交易細節或元數據。
問:為什麼以太坊僅使用Keccak-256哈希而不是完整32個字節的20個字節?使用20個字節在安全性和氣體效率之間達到平衡。較短的地址可降低區塊鏈上的存儲和計算成本,同時保持足夠的熵以防止碰撞。
問:如果我將ETH發送到畸形的以太坊地址會發生什麼?將資金匯入不存在或畸形的以太坊地址可能會導致資產永久損失。始終使用校驗和驗證工具在啟動轉移之前使用校驗和驗證工具進行驗證。
免責聲明:info@kdj.com
所提供的資訊並非交易建議。 kDJ.com對任何基於本文提供的資訊進行的投資不承擔任何責任。加密貨幣波動性較大,建議您充分研究後謹慎投資!
如果您認為本網站使用的內容侵犯了您的版權,請立即聯絡我們(info@kdj.com),我們將及時刪除。
- LDO 駕馭市場動態,Lido 穩步推進 L2 質押擴張
- 2026-10-16 00:30:02
- Canton Coin 的過山車:高額費用、價格下跌和機構勝利,由 CertiK Skynet 提供支持
- 2026-10-15 20:35:01
- 探索人工智慧倫理、決策和思考過程的迷宮:紐約快訊
- 2026-10-15 16:35:01
- Starknet 的大膽飛躍:著眼於 2027 年實現第 1 層獨立性和抗量子密碼學
- 2026-10-15 08:45:01
- Strive Asset Management 加速比特幣收購策略,增加國債持有量
- 2026-10-15 08:45:01
- Solana 設立上海辦事處並加速巡演,加深中國市場參與
- 2026-10-15 04:55:01
相關知識
如何在 Talisman 中檢查不同網路上的代幣餘額
2026-10-15 23:19:32
了解Talisman的多鏈位址識別1. Talisman 錢包將每個區塊鏈視為獨立的帳本層,但在 Polkadot、Kusama、Ethereum 和 Moonbeam 等網路上維護統一的地址管理介面。 2. 由於不同的代幣標準和合約部署,單一公共位址可能代表不同鏈上的不同資產,例如 Polkado...
如何將自訂代幣添加到 Sui 錢包
2026-10-15 19:39:42
了解自訂令牌集成1. Sui錢包不會自動偵測或顯示Sui區塊鏈上部署的所有代幣。 2. 代幣必須使用其鏈上識別碼(稱為代幣類型的物件 ID)明確註冊在錢包的代幣清單中。 3. 幣類型遵循嚴格的格式: 0x[address]::[module]::[struct] ,其中每個段均源自 Move 包部署...
如何在兩個 Sui 錢包帳戶之間轉移 SUI 代幣
2026-10-15 22:59:57
了解 SUI 令牌傳輸機制1. SUI 代幣作為 Sui 區塊鏈上的單獨物件存在,而不是作為帳戶餘額。每個硬幣都有自己的唯一識別碼和版本號。 2. 轉帳SUI需要引用特定的幣物件ID,而不是簡單地指定餘額池中的金額。 3. 發送者必須擁有所傳輸貨幣物件的完全所有權-標準傳輸不允許共用或委託控制。 4...
如何在 Slush 錢包中找到您的 Sui 錢包地址
2026-10-15 16:40:28
在 Slush 錢包中尋找您的 Sui 錢包位址1. 在您的 iOS 或 Android 裝置上開啟 Slush Wallet 應用程序,並確保您已登入現有錢包或已完成助記詞恢復過程。 2. 導覽至底部導覽列的「主頁」標籤 — 這將顯示您的主要 SUI 餘額和最近的活動。 3. 點選「接收」按鈕,通...
如何將 Avalanche C 鍊網絡新增至 MetaMask
2026-10-15 11:00:04
網路設定步驟1. 開啟 MetaMask 瀏覽器擴展,然後按一下位於介面頂部中心區域的網路選擇器。 2. 從下拉式選單中選擇“自訂 RPC”以啟動手動鏈設定。 3. 在指定欄位中輸入「Avalanche C-Chain」作為網路名稱。 4. 輸入 Avalanche C-Chain 官方 RPC U...
如何將基礎網路上的 USDC 新增至 MetaMask
2026-10-15 09:59:31
基礎網路設定步驟1. 開啟 MetaMask 瀏覽器擴充功能並確保其已更新至最新版本。 2. 點選介面頂部的網路選擇器,然後從下拉式選單中選擇「新增網路」。 3. 選擇「手動新增網路」並輸入下列基本主網參數:網路名稱:基地新的 RPC URL: https://mainnet.base.org鏈號:...
如何在 Talisman 中檢查不同網路上的代幣餘額
2026-10-15 23:19:32
了解Talisman的多鏈位址識別1. Talisman 錢包將每個區塊鏈視為獨立的帳本層,但在 Polkadot、Kusama、Ethereum 和 Moonbeam 等網路上維護統一的地址管理介面。 2. 由於不同的代幣標準和合約部署,單一公共位址可能代表不同鏈上的不同資產,例如 Polkado...
如何將自訂代幣添加到 Sui 錢包
2026-10-15 19:39:42
了解自訂令牌集成1. Sui錢包不會自動偵測或顯示Sui區塊鏈上部署的所有代幣。 2. 代幣必須使用其鏈上識別碼(稱為代幣類型的物件 ID)明確註冊在錢包的代幣清單中。 3. 幣類型遵循嚴格的格式: 0x[address]::[module]::[struct] ,其中每個段均源自 Move 包部署...
如何在兩個 Sui 錢包帳戶之間轉移 SUI 代幣
2026-10-15 22:59:57
了解 SUI 令牌傳輸機制1. SUI 代幣作為 Sui 區塊鏈上的單獨物件存在,而不是作為帳戶餘額。每個硬幣都有自己的唯一識別碼和版本號。 2. 轉帳SUI需要引用特定的幣物件ID,而不是簡單地指定餘額池中的金額。 3. 發送者必須擁有所傳輸貨幣物件的完全所有權-標準傳輸不允許共用或委託控制。 4...
如何在 Slush 錢包中找到您的 Sui 錢包地址
2026-10-15 16:40:28
在 Slush 錢包中尋找您的 Sui 錢包位址1. 在您的 iOS 或 Android 裝置上開啟 Slush Wallet 應用程序,並確保您已登入現有錢包或已完成助記詞恢復過程。 2. 導覽至底部導覽列的「主頁」標籤 — 這將顯示您的主要 SUI 餘額和最近的活動。 3. 點選「接收」按鈕,通...
如何將 Avalanche C 鍊網絡新增至 MetaMask
2026-10-15 11:00:04
網路設定步驟1. 開啟 MetaMask 瀏覽器擴展,然後按一下位於介面頂部中心區域的網路選擇器。 2. 從下拉式選單中選擇“自訂 RPC”以啟動手動鏈設定。 3. 在指定欄位中輸入「Avalanche C-Chain」作為網路名稱。 4. 輸入 Avalanche C-Chain 官方 RPC U...
如何將基礎網路上的 USDC 新增至 MetaMask
2026-10-15 09:59:31
基礎網路設定步驟1. 開啟 MetaMask 瀏覽器擴充功能並確保其已更新至最新版本。 2. 點選介面頂部的網路選擇器,然後從下拉式選單中選擇「新增網路」。 3. 選擇「手動新增網路」並輸入下列基本主網參數:網路名稱:基地新的 RPC URL: https://mainnet.base.org鏈號:...
看所有文章














