比特币和以太坊的常见地址格式各自带着一层检错校验

作者 · 陈锚 发布 2026-10-14 更新 2026-10-14 阅读约 8 分钟
BITKEEL 海图风封面:标题「地址抄错一位会怎样」,副标题「先看地址带不带校验 · 发出前逐位核对」,角标 REEF WARNING
FIG.62 · 把灯塔的闪光节奏记错一拍,航标表上就对不上号,抄错一位的地址通常也过不了校验

抄错一位的比特币地址,通常连发都发不出去,币也就到不了别人那里。地址里带着校验,也就是有一部分信息是由地址其余的内容算出来的。bitcoin.org 的中文页《你需要了解的一些事》里有一句:「比特币系统能检测出打字错误,通常不会让你不小心付款到一个无效地址」。

校验能查出多少错,各种写法不一样。bc1 开头的比特币地址,只保证查出不超过 4 个字符被写成别的字符这类错误;以太坊地址按 EIP-55 写成大小写混排时,字母的大小写就是校验,一个随机生成的地址打错以后,碰巧仍能通过校验的概率是 0.0247%。另有一种情形校验根本不管,就是粘贴进来的是一个完整、有效、但不属于收款人的地址。这个地址每一位都和自己的校验对得上,这一关拦不下它。

bitcoin.org 简体中文页面的截图:橙色小标题「比特币交易是不可逆的」,下面一段写着任何比特币交易都是不可撤销的、只能由收款人退回比特币,并写到比特币系统能检测出打字错误,通常不会让你不小心付款到一个无效地址
FIG.63 · bitcoin.org 中文页讲交易不可撤销的那段里写着,比特币系统能检测出打字错误,不过最好还有更多安全保障(2026 年 10 月截图)

bc1、0x、T 开头的地址带的校验不一样

Base58 是数字和大小写字母混写的一种编码,比特币原始软件里的地址就用它。Bech32 是比特币给隔离见证(后来加进来的一类交易输出)定的地址格式,生成出来是全小写,主网地址以 bc1 开头;隔离见证 v1 及以后的版本改用它的修订版 Bech32m。十六进制用 0 到 9 十个数字和 a 到 f 六个字母来写,以太坊地址就这样写,EIP-55 写法里这些字母有大写也有小写。

地址的写法格式校验能查出的错查不出、或不作保证的
数字和大小写字母混写比特币 base58 老式地址地址里含一段检错校验,比特币开发者文档说它的用处就是抓手误这种校验没有检错保证;大小写混写,手抄、用手机键盘输入都不容易写准
bc1q 开头,生成出来是全小写比特币隔离见证 v0(Bech32)不超过 4 个字符被写成别的字符,一定查得出写错超过 4 个字符时,漏检的可能小于十亿分之一,不是零
bc1p 开头(v1),生成出来是全小写比特币隔离见证 v1 及以上(Bech32m)BIP-350 保留了 Bech32 对写错字符的那份保证多一位、少一位这类错误,没有同样的保证
0x 开头,后跟 40 个十六进制字符,共 42 个字符以太坊(大小写混排写法)字母写大写还是小写由地址算出,打错后排法对不上就查得出随机地址打错后,碰巧通过校验的概率是 0.0247%
T 开头,34 个字符波场 Base58Check,按波场开发文档,钱包和区块浏览器里显示的就是这种形式—同属 base58,大小写混写,手抄同样不容易写准

bc1 后面紧跟的那个字符是版本号,0 写作 q,1 写作 p,所以 v0 地址以 bc1q 开头,v1 以 bc1p 开头。这类地址的最后 6 个字符就是校验,不带别的信息。

钱包提示地址无效时可以自己改几个字符再试吗?

手里这串地址过不了校验,就别一个字符一个字符地去试。Bech32 这类校验在数学上也能拿来纠错,BIP-173 专门讲过为什么不该这样用:纠错会削弱检错,纠错把无效的输入改成有效的输入,可错得多了,改出来的有效地址不一定是正确的那个;用了一个不正确但有效的地址,资金可能无法挽回地丢失。所以标准让钱包这类实现不做纠错,最多提示错误可能出在字符串的哪个位置,不给出改法。

你自己挨个换字符、换到钱包不再报错为止,做的正是标准不让钱包做的这件事,而且错在哪一位、错了几位,你并不知道。改出来那个地址能过校验,也只说明它是某一个有效地址。

回到地址最初的出处重新取一次。对方用文字发来的,从那条消息里重新复制;给的是二维码,就重新扫;转进自己的另一个钱包或账户,到那边的收款页重新复制。取到新的一份以后,先把输入框里原来那串清空,再把新的整串粘贴进去。

粘贴进来的是别人的完整地址时校验照样通过

校验只管这串字符自己对不对得上,不管地址是谁的。别人的地址也是钱包正常生成的,每一位都和这个地址自己的校验吻合,填进你的收款栏,钱包看到的就是一个有效地址,转账照常能发出。

这种错和抄写无关。复制和粘贴之间,剪贴板里的内容如果被换过,粘贴出来的就已经不是你复制的那一串;在自己的转账记录里找地址,记录里也可能混着别人放进来的仿造地址,开头和结尾几位与你转过的地址相同,只有中间不一样。

所以发出前要对的,是这串地址是不是对方给你的那一个。拿粘贴好的地址和对方发来的原文比,开头、结尾、中间都对一遍,中间那段尤其别跳过。

地址填错的币已经发出去了还能要回来吗?

bitcoin.org 那一页写的是「任何比特币交易都是不可撤销的,只能由收款人退回比特币。」转的是比特币,能做的只有找到收款人,请他退回。

转的是以太坊上的 ETH 或代币,以太坊的中文常见问题里说「在以太坊上发送的交易是不可逆的。」发错地址以后能做的有这几件:

  1. 认识这个地址的所有者,就直接联系对方,请他退还资金。
  2. 这个地址属于交易所或已知服务,就联系它们的支持团队,他们也许能提供帮助。
  3. 你把代币发到了合约地址,就查这个合约有没有提款或恢复功能(这种情况很少见)。
ethereum.org 简体中文常见问题的截图:标题「我把加密货币发送到了错误的地址」,下面写着在以太坊上发送的交易是不可逆的,以及「你可以采取的措施」,分别针对认识地址所有者、地址属于交易所或已知服务、把代币发送到了合约地址这几种情况
FIG.64 · ethereum.org 中文常见问题「你可以采取的措施」一节,按三种情况分别列出(2026 年 10 月截图)

ethereum.org 这一页还写着:「在大多数情况下,无法找回资金。」以太坊不归任何中心化组织、实体或个人所有,没有人能撤销交易。

用复制粘贴或扫码代替手抄收款地址

比特币地址可以通过任何渠道发给要付款给你的人,也可以编进二维码。能复制粘贴或扫码的时候,就别手抄;拿到以后不在上面改字符,大小写也不改。

bc1 开头的地址生成出来是全小写,放进二维码时按标准应当用大写。扫码得到一整串大写的 bc1 地址,照原样用就行。

从交易所提币到自己的钱包,收款地址同样从钱包的收款页复制过来。

抄来的地址和钱包对不上号时还能做什么

地址里的大小写能自己改吗?
不要自己改,手里这串的大小写看不准,就回到出处重新复制一份。bc1 开头的地址生成出来是全小写,标准规定读地址的一方不接受大小写混着的写法,把其中几个字母改成大写,这串地址就无效了。大小写混排的以太坊地址里,字母写大写还是小写是用地址算出来的,本身就是校验,改大小写,动的就是校验。
bc1 地址里的圆圈是数字 0 还是字母 o?
那是数字 0。bc1 后面的部分只用字母和数字,但不用 1、b、i、o 这四个,字母 o 不会出现在里面;这套字符是照着视觉上的相似程度挑过的,为的是尽量少出现看混的情况。这条只对 bc1 开头的地址成立。
钱包提示地址无效而对方坚持没错该怎么办?
请对方从他自己的收款页重新复制一份发过来,能给二维码更好。收到新的一份,先清空输入框里原来那串,再把新的整串粘贴进去;仍然提示无效,这笔先不要转。对方给你的要是他手打或手抄的地址,也请他改用复制。
锚
陈锚

BITKEEL 主笔,笔名,写币安新手会碰到的交易和账户规则。内容仅供学习参考,不构成投资建议。