bitcoin: 何为燃烧地址

本贴最后更新于 2129 天前,其中的信息可能已经水流花落

来自简书
btc address: 1FmWXNJT3jVKaHBQs2gAs6PLGVWx1zPPHf

如果你观察过很多的 btc 地址, 隐隐会发现有些规律:
长度很多是 34 位,好多是 1 3 开头的, 字母排列杂乱无章.

如下都是合法的 btc 地址, 这些地址都有币的,而且数量都不少, 就已当前的(2018/08/21)btc 价格计算, 绝对是富得流油了.

3MWqbpfzxgojEAah6PMZoZPdUPUTuyTpan
1EdBvVAVP98zUsz2n8Pereop29y9fUFk2i
3Cbq7aT1tY8kMxWLbitaG7yT6bPbKChq64
3Nxwenay9Z8Lc9JBiywExpnEFiLp6Afp8v
18tTLso5jaa4XqyTQzo9S6mqhfCsgcufdh
1FeexV6bAHb8ybZjqQMjJrcCrHGW9sb6uF
1HQ3Go3ggs8pFnXuHVHRytPCq5fGG8Hbhx
1PnMfRF2enSZnR6JSexxBHuQnxG8Vo5FVK
3Kzh9qAqVWQhEsfQz7zEQL1EuSx5tyNLNS
1EBHA1ckUWzNKN7BMfDwGTx6GKEbADUozX
1LdRcdxfbSnmCYYNdeYpUnztiYzVfBEQeC
...

34 位的长度是绝对的么,有特例么?
还真找到一个地址 1111111111111111111114oLvT2,长度只有 27 位, 而且这么多的 111..., 感觉很优美. 一般 btc 地址的长度是 34 位, 也有 33 位, 最短的应该是 26 位.

燃烧地址

1111111111111111111114oLvT2 还有特殊的地方.
如果看 ta 的交易, 只有输入, 没有输出,什么意思呢?
只有别人给 ta 发币, ta 一分钱没花,只进不出,咋这抠门呢, 这是个貔貅啊.

我们看看 ta 的第一笔交易 id
2c637592a4b4a95cf4b19260730c66de540d7d3b14d8d352de591c5ee6eac0fc, 交易时间是 2010 年 8 月 10 号,
输出脚本是
OP_DUP OP_HASH160 0000000000000000000000000000000000000000 OP_EQUALVERIFY OP_CHECKSIG

输出脚本

输出脚本是个啥呢?
我们经常说, 谁有 btc 地址的私钥谁就能花费这些币,
私钥相当于钥匙, 输出脚本相当于锁, 你把私钥放入输出脚本中,
组成一个完整的脚本, 执行这个完整的脚本, 如果最后输出的是 True, 那么恭喜你, 你可以花费这些币.

我们把 0000000000000000000000000000000000000000 叫做 hash160, 1111111111111111111114oLvT2 就是 addr, hash160 可以转换为 addr.

你可以认为: addr 就是 hash160 的简化, addr 是对人更友好的一种表现方式, 就像语法糖一样.

image

执行输出脚本, 是私钥转化为 Hash160 的过程.
你提供的私钥转化成 Hash160_me, 如果与脚本里提前写好的 Hash160 一致, 你就可以动用这个地址的币了.

btc 地址的正常推导过程是: 私钥 ==>公钥 ==> Hash160 <==> 地址.

Hash160 就是没有规则的字符串,我们可以随便提供个 Hash160 值, 从半截腰上推导地址: Hash160 <==> 地址.

1111111111111111111114oLvT2 很明显就是这种情况, 从半截腰上推导出来的地址, ta 的 hash160 是 000...000, 都是 0,这是特意拼凑的,既然是从半截腰推导出来的,自然没人知道私钥.
由于 hash 运算的不可逆性, 此刻还无法推算出这个地址的私钥,
既然不知道私钥,就无法动用币,只能进不能出,成了一个"废地址",这样的地址叫燃烧地址, 即 burn address, 像燃料一样烧没了, 非常形象.

为什么还要往这种地址发送交易呢

1 减少币的流通量
2 土豪的心思不要猜

我们生成个 burn address

设定 hash160 = 1111111111111111111111111111111111111111, 最终得到地址 12ZEw5Hcv1hTb6YUQJ69y1V7uhcoDz92PH.
这个地址好没个性啊,但是也有人打过币了, https://btc.com/12ZEw5Hcv1hTb6YUQJ69y1V7uhcoDz92PH

有没有可能找到私钥

存在这种可能, 不过需要巨大的算力来完成这个工作,这个可能太微小了. 如果有人找到了私钥, 燃烧地址就变成普通地址了.

如何手动生成 btc 地址

请看 https://www.jianshu.com/p/954e143e97d2, step3 是得到 hash160_val, 如果你想通过 hash160_val 得到地址, 从 step4 开始计算就可以.

安全提示

虽然这些步骤经过了验证并没有发现问题, 但也仅供参考.

强烈建议不要自己生成btc addres
强烈建议不要自己生成btc addres
强烈建议不要自己生成btc addres

请用信赖的工具来干这事
如果地址计算错误, 这个私钥并不能解开你的地址, 相当于你的btc丢了.

mastering bitcoin 已经给了我们教训. 同理 ethereum 也有 burn address 哦.

  • 比特币

    比特币(BitCoin)的概念最初由中本聪在 2009 年提出,根据中本聪的思路设计发布的开源软件以及建构其上的 P2P 网络。比特币是一种 P2P 形式的数字货币。点对点的传输意味着一个去中心化的支付系统。

    27 引用 • 169 回帖 • 79 关注
  • 区块链

    区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法 。

    91 引用 • 751 回帖 • 1 关注
  • 钱包
    7 引用 • 35 回帖
  • 燃烧地址
    1 引用

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...