以太坊地址不是在官网上注册出来的账号。它是从一把私钥,经过椭圆曲线和哈希,算出来的公开门牌号。钱包软件做的事,就是在本地生成合格的私钥,再按固定规则推出地址。理解这条链路,才能分清助记词、私钥和地址各自能做什么,也能避开“把私钥贴进网页就能创建钱包”这类陷阱。
私钥本身只是一个合格的随机数
以太坊沿用比特币的 secp256k1 曲线。私钥是一个 256 位的整数,写成十六进制通常是 64 个字符,前面常加 0x。它必须大于 0,并且小于曲线的阶,不能是全 0,也不能由生日、手机号或短密码拼出来。合格的生成方式是使用操作系统提供的密码学随机源,让钱包在本地取出 32 字节。同一把私钥永远对应同一个地址,这个过程是确定的;反过来,从地址推回私钥,在当前计算条件下不可行。私钥一旦泄露,对方就能签出转账交易,地址上的 ETH 和 ERC20 都可以被转走。
从私钥推出公钥,靠的是曲线上的点乘
公钥不是把私钥做一次普通哈希。计算是公钥点等于私钥乘以曲线上的固定基点 G。乘法在这里是椭圆曲线点乘:容易从私钥得到公钥点,极难从公钥点倒推私钥。公钥点有横纵坐标,各 32 字节,合在一起是 64 字节。未压缩格式前面还会有一个 0x04 前缀,表示后面同时带有 x 和 y。以太坊后续哈希时不用这个前缀,只用 64 字节坐标。这一步解释了为什么地址可以公开:别人看到地址,甚至看到交易里的签名材料,也推不出你的私钥。

从公钥算出地址,取的是哈希的后 20 字节
地址推导在以太坊黄皮书里写得很明确。把公钥的 64 字节坐标做 Keccak-256,注意这里是以太坊使用的 Keccak,不是后来标准化的 SHA3-256,两者输出不同。哈希结果是 32 字节。丢掉前 12 字节,保留最后 20 字节,再加 0x 前缀,就是 42 位字符串的地址。所以地址是公钥的指纹,不是公钥本身。两个不同私钥几乎不可能撞出同一个地址。合约地址是另一套算法,由创建者地址和 nonce 推出,不能用这套“私钥到地址”的步骤解释。
大小写不是装饰,而是校验
早期地址可以全小写。EIP-55 用地址自身的哈希决定哪些字母大写,用来发现抄写错误。钱包和区块浏览器通常显示混合大小写。你手工比对时,应连大小写一起看;只核对后四位,挡不住中间被掉包的地址。浏览器能查到的余额,只说明这个地址在链上有记录,不能证明私钥还在你手里。
助记词先于私钥,路径决定是哪一个地址
日常创建钱包时,软件通常不让你直接记 64 位十六进制。它先采集足够的随机熵,按 BIP-39 转成 12 或 24 个英文单词,也就是助记词。助记词推出种子,再按 BIP-32 的分层规则派生出很多私钥。以太坊常用路径是 m/44'/60'/0'/0/0,末尾的序号每加 1,就是下一个账户。因此同一套助记词可以恢复一整组地址,只备份当前页面上的私钥,会丢掉其他账户。导入某一把私钥,则只能恢复这一个地址。

分层确定性钱包从种子逐级派生账户和地址。末尾序号不同,对应的私钥和地址就不同。
钱包里实际的创建步骤
正规软件不会把私钥发到服务器。以常见的浏览器或手机钱包为例:只从官方商店或官网安装;设置本地密码,这个密码只加密本机文件,不能在新设备上恢复资产;软件展示助记词,要求离线抄写并回填核对;完成后第一个账户地址就会出现,形如 0x 加 40 位十六进制。此时地址已经可用,但链上还没有余额,转入一笔小额 ETH 后,才能在区块浏览器里看到记录。已经持有私钥的人,也可以在钱包的“导入私钥”里恢复对应地址,输入过程应在官方应用内完成,不要经过聊天工具和网页表单。

创建钱包时展示的是助记词,不是地址。地址可以由助记词再算出来,助记词丢了就无法按原路径找回私钥。
本文链接地址:https://www.wwsww.cn/jishu/41649.html
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。



