市值: $2.5665T -2.09%
成交额(24h): $64.1207B 43.32%
恐惧与贪婪指数:

35 - 恐惧

  • 市值: $2.5665T -2.09%
  • 成交额(24h): $64.1207B 43.32%
  • 恐惧与贪婪指数:
  • 市值: $2.5665T -2.09%
加密货币
话题
百科
资讯
加密话题
视频
热门加密百科

选择语种

选择语种

选择货币

加密货币
话题
百科
资讯
加密话题
视频

如何从公共密钥中产生以太坊钱包的地址?

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),我们将及时删除。

相关百科

如何将硬件钱包连接到 Electrum

如何将硬件钱包连接到 Electrum

2026-11-04 06:20:17

Bitcoin 减半机制1. Bitcoin 的协议强制执行固定的发行时间表,其中大约每 210,000 个区块,区块奖励就会减少一半。 2. 该事件大约每四年发生一次,直接减少每个区块新进入流通的 BTC 数量。 3.截至2020年减半,矿工每区块获得6.25 BTC;下一次减少将使其达到 3.1...

如何使用 Electrum 发送 Bitcoin 而无需支付高额费用

如何使用 Electrum 发送 Bitcoin 而无需支付高额费用

2026-11-04 11:59:38

了解 Electrum 中的交易费用机制1. Bitcoin 交易费用由交易的虚拟字节大小 (vB) 决定,而不是由发送的 BTC 数量决定。 2. Electrum 根据实时内存池拥塞情况和最近的区块确认率来估算费用。 3. 用户可以手动设置每 vByte 的费率,覆盖自动建议。 4. 较低的费用...

如何从种子短语恢复电子钱包

如何从种子短语恢复电子钱包

2026-11-04 13:40:10

了解金金矿种子短语1. Electrum 使用确定性钱包系统,其中所有私钥都源自单个种子短语。 2. 种子短语通常是使用 BIP39 标准生成的 12 或 24 个英语单词,但较旧的 Electrum 版本可能使用自定义单词列表。 3. 每个单词对应固定字典中的一个索引,序列编码重构主私钥的熵。 4...

如何在 Electrum 中创建多重签名钱包

如何在 Electrum 中创建多重签名钱包

2026-11-03 16:41:28

Electrum 多重签名钱包基础知识1. 与基于以太坊的解决方案不同,Electrum 本身支持多重签名设置,无需外部智能合约。 2. 标准 Electrum 多重签名配置遵循m-of-n结构,其中需要n 个公钥中的m 个签名来授权交易。 3. Electrum 不在其服务器上存储私钥;所有签名操...

如何将 Rabby 钱包连接到 Uniswap

如何将 Rabby 钱包连接到 Uniswap

2026-11-04 00:36:55

了解 Rabby 钱包集成1. Rabby Wallet 是一款非托管、开源以太坊钱包,具有增强的安全性和 DeFi 原生用户体验。它支持 EVM 兼容链,并提供内置交易模拟、gas 优化和多链资产管理。 2. 与通用钱包不同,Rabby 原生支持合约交互预览,允许用户在签名前检查函数调用,这在与 ...

如何将自定义 RPC 网络添加到 Rabby 钱包

如何将自定义 RPC 网络添加到 Rabby 钱包

2026-11-03 19:16:34

了解 Rabby 钱包中的自定义 RPC 网络1. Rabby Wallet是一款非托管、开源Web3钱包,其设计非常注重安全性和开发者体验。 2. 与 MetaMask 不同,Rabby 默认支持多链,并允许用户添加自定义 RPC 端点,而无需重新加载浏览器扩展。 3. 自定义 RPC 网络是指用...

如何将硬件钱包连接到 Electrum

如何将硬件钱包连接到 Electrum

2026-11-04 06:20:17

Bitcoin 减半机制1. Bitcoin 的协议强制执行固定的发行时间表,其中大约每 210,000 个区块,区块奖励就会减少一半。 2. 该事件大约每四年发生一次,直接减少每个区块新进入流通的 BTC 数量。 3.截至2020年减半,矿工每区块获得6.25 BTC;下一次减少将使其达到 3.1...

如何使用 Electrum 发送 Bitcoin 而无需支付高额费用

如何使用 Electrum 发送 Bitcoin 而无需支付高额费用

2026-11-04 11:59:38

了解 Electrum 中的交易费用机制1. Bitcoin 交易费用由交易的虚拟字节大小 (vB) 决定,而不是由发送的 BTC 数量决定。 2. Electrum 根据实时内存池拥塞情况和最近的区块确认率来估算费用。 3. 用户可以手动设置每 vByte 的费率,覆盖自动建议。 4. 较低的费用...

如何从种子短语恢复电子钱包

如何从种子短语恢复电子钱包

2026-11-04 13:40:10

了解金金矿种子短语1. Electrum 使用确定性钱包系统,其中所有私钥都源自单个种子短语。 2. 种子短语通常是使用 BIP39 标准生成的 12 或 24 个英语单词,但较旧的 Electrum 版本可能使用自定义单词列表。 3. 每个单词对应固定字典中的一个索引,序列编码重构主私钥的熵。 4...

如何在 Electrum 中创建多重签名钱包

如何在 Electrum 中创建多重签名钱包

2026-11-03 16:41:28

Electrum 多重签名钱包基础知识1. 与基于以太坊的解决方案不同,Electrum 本身支持多重签名设置,无需外部智能合约。 2. 标准 Electrum 多重签名配置遵循m-of-n结构,其中需要n 个公钥中的m 个签名来授权交易。 3. Electrum 不在其服务器上存储私钥;所有签名操...

如何将 Rabby 钱包连接到 Uniswap

如何将 Rabby 钱包连接到 Uniswap

2026-11-04 00:36:55

了解 Rabby 钱包集成1. Rabby Wallet 是一款非托管、开源以太坊钱包,具有增强的安全性和 DeFi 原生用户体验。它支持 EVM 兼容链,并提供内置交易模拟、gas 优化和多链资产管理。 2. 与通用钱包不同,Rabby 原生支持合约交互预览,允许用户在签名前检查函数调用,这在与 ...

如何将自定义 RPC 网络添加到 Rabby 钱包

如何将自定义 RPC 网络添加到 Rabby 钱包

2026-11-03 19:16:34

了解 Rabby 钱包中的自定义 RPC 网络1. Rabby Wallet是一款非托管、开源Web3钱包,其设计非常注重安全性和开发者体验。 2. 与 MetaMask 不同,Rabby 默认支持多链,并允许用户添加自定义 RPC 端点,而无需重新加载浏览器扩展。 3. 自定义 RPC 网络是指用...

查看所有文章

User not found or password invalid

Your input is correct