市值: $2.173T 0.80%
成交额(24h): $76.0243B -3.25%
恐惧与贪婪指数:

16 - 极度恐惧

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

选择语种

选择语种

选择货币

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

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

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.jsweb3.js之类的库来确保其实施与以太坊标准保持一致。

  • 使用受信任的库从同一公共密钥重新生成地址
  • 将输出与手动计算的输出进行比较。
  • 确保校验和编码小写的版本匹配预期值。

此外,在Mainnet上部署之前,应执行少量测试交易,以确认地址的行为是按预期的。

常见问题

问:两个不同的公开钥匙可以导致相同的以太坊地址吗?从理论上讲,由于以太坊地址空间的有限尺寸(2^160) ,但概率在天文学上很低。但是,由于大量可能的组合,碰撞不被视为实际威胁。

问:公开分享我的以太坊钱包地址是安全的吗?是的,分享您的以太坊钱包地址是安全的,因为它不会直接暴露您的私钥公共密钥。但是,避免共享可能损害隐私的交易细节或元数据。

问:为什么以太坊仅使用Keccak-256哈希而不是完整32个字节的20个字节?使用20个字节在安全性和气体效率之间达到平衡。较短的地址可降低区块链上的存储和计算成本,同时保持足够的熵以防止碰撞。

问:如果我将ETH发送到畸形的以太坊地址会发生什么?将资金汇入不存在或畸形的以太坊地址可能会导致资产永久损失。始终使用校验和验证工具在启动转移之前使用校验和验证工具进行验证。

免责声明:info@kdj.com

所提供的信息并非交易建议。根据本文提供的信息进行的任何投资,kdj.com不承担任何责任。加密货币具有高波动性,强烈建议您深入研究后,谨慎投资!

如您认为本网站上使用的内容侵犯了您的版权,请立即联系我们(info@kdj.com),我们将及时删除。

相关百科

如何将我的代币从 Ronin 钱包迁移到 MetaMask?

如何将我的代币从 Ronin 钱包迁移到 MetaMask?

2026-06-03 06:19:47

迁移的先决条件1. Chrome 或 Firefox 上必须安装完全同步和更新版本的 MetaMask 浏览器扩展。 2. Ronin 钱包必须解锁并包含用于迁移的代币。 3. 两个钱包都必须配置为支持Ronin Chain(链ID 2020)和以太坊兼容网络。 4. Ronin 钱包中必须持有足够...

如何使用 Phantom 钱包在 Solana DAO 治理中投票?

如何使用 Phantom 钱包在 Solana DAO 治理中投票?

2026-06-08 03:58:18

将 Phantom 钱包连接到 DAO 平台1. 打开官方 DAO 治理界面,例如 Realms 或 Solana 的原生投票门户。 2. 找到并单击“连接钱包”按钮,该按钮通常位于页面右上角。 3. 从支持的钱包列表中选择Phantom;如果 Phantom 不可见,请单击“更多钱包”或“显示全部...

如何修复 MetaMask 在 dApp 上显示“不支持链”的问题?

如何修复 MetaMask 在 dApp 上显示“不支持链”的问题?

2026-06-07 13:40:25

了解链不支持错误1. 当 dApp 尝试与当前未在 MetaMask 的活动网络列表中配置的区块链网络进行交互时,会出现此错误。 2. 这种情况通常发生在新的第 2 层汇总或自定义测试网的早期测试期间,其中尚未手动添加链 ID、RPC URL 或区块浏览器 URL。 3. MetaMask 根据其内...

如何将 NFT 从 Blur 提取到我的 MetaMask 钱包?

如何将 NFT 从 Blur 提取到我的 MetaMask 钱包?

2026-06-01 10:39:51

访问您的 Blur 帐户1. 使用支持的浏览器(例如 Chrome 或 Firefox)打开 Blur 官方网站。 2. 单击界面右上角的钱包图标。 3. 从可用钱包连接器列表中选择 MetaMask。 4. 在 MetaMask 扩展弹出窗口中确认连接请求。 5. 确保您的 MetaMask 设置...

如何解决 Ledger Nano X 电池消耗过快的问题?

如何解决 Ledger Nano X 电池消耗过快的问题?

2026-06-08 03:51:00

Ledger Nano X 中的电池耗尽原因1. 蓝牙在长时间闲置期间保持启用状态,与仅 USB 操作相比,后台功耗增加约 30%。 2. 在没有完全重新启动设备的情况下频繁启动固件更新可能会使残留进程处于活动状态,从而消耗待机电流。 3. micro-USB 端口或内部电池触点的物理损坏(通常无法...

如何将 Cronos 网络添加到 MetaMask?

如何将 Cronos 网络添加到 MetaMask?

2026-06-07 04:04:43

将 Cronos 网络添加到 MetaMask 1. 打开 MetaMask 浏览器扩展程序或移动应用程序,并确保您已登录钱包。 2. 单击界面顶部的网络选择器下拉菜单,通常显示“以太坊主网”或类似内容。 3. 根据您的 MetaMask 版本选择“添加网络”或“自定义 RPC”——此选项显示为按钮...

如何将我的代币从 Ronin 钱包迁移到 MetaMask?

如何将我的代币从 Ronin 钱包迁移到 MetaMask?

2026-06-03 06:19:47

迁移的先决条件1. Chrome 或 Firefox 上必须安装完全同步和更新版本的 MetaMask 浏览器扩展。 2. Ronin 钱包必须解锁并包含用于迁移的代币。 3. 两个钱包都必须配置为支持Ronin Chain(链ID 2020)和以太坊兼容网络。 4. Ronin 钱包中必须持有足够...

如何使用 Phantom 钱包在 Solana DAO 治理中投票?

如何使用 Phantom 钱包在 Solana DAO 治理中投票?

2026-06-08 03:58:18

将 Phantom 钱包连接到 DAO 平台1. 打开官方 DAO 治理界面,例如 Realms 或 Solana 的原生投票门户。 2. 找到并单击“连接钱包”按钮,该按钮通常位于页面右上角。 3. 从支持的钱包列表中选择Phantom;如果 Phantom 不可见,请单击“更多钱包”或“显示全部...

如何修复 MetaMask 在 dApp 上显示“不支持链”的问题?

如何修复 MetaMask 在 dApp 上显示“不支持链”的问题?

2026-06-07 13:40:25

了解链不支持错误1. 当 dApp 尝试与当前未在 MetaMask 的活动网络列表中配置的区块链网络进行交互时,会出现此错误。 2. 这种情况通常发生在新的第 2 层汇总或自定义测试网的早期测试期间,其中尚未手动添加链 ID、RPC URL 或区块浏览器 URL。 3. MetaMask 根据其内...

如何将 NFT 从 Blur 提取到我的 MetaMask 钱包?

如何将 NFT 从 Blur 提取到我的 MetaMask 钱包?

2026-06-01 10:39:51

访问您的 Blur 帐户1. 使用支持的浏览器(例如 Chrome 或 Firefox)打开 Blur 官方网站。 2. 单击界面右上角的钱包图标。 3. 从可用钱包连接器列表中选择 MetaMask。 4. 在 MetaMask 扩展弹出窗口中确认连接请求。 5. 确保您的 MetaMask 设置...

如何解决 Ledger Nano X 电池消耗过快的问题?

如何解决 Ledger Nano X 电池消耗过快的问题?

2026-06-08 03:51:00

Ledger Nano X 中的电池耗尽原因1. 蓝牙在长时间闲置期间保持启用状态,与仅 USB 操作相比,后台功耗增加约 30%。 2. 在没有完全重新启动设备的情况下频繁启动固件更新可能会使残留进程处于活动状态,从而消耗待机电流。 3. micro-USB 端口或内部电池触点的物理损坏(通常无法...

如何将 Cronos 网络添加到 MetaMask?

如何将 Cronos 网络添加到 MetaMask?

2026-06-07 04:04:43

将 Cronos 网络添加到 MetaMask 1. 打开 MetaMask 浏览器扩展程序或移动应用程序,并确保您已登录钱包。 2. 单击界面顶部的网络选择器下拉菜单,通常显示“以太坊主网”或类似内容。 3. 根据您的 MetaMask 版本选择“添加网络”或“自定义 RPC”——此选项显示为按钮...

查看所有文章

User not found or password invalid

Your input is correct