来自简书btc address: 1FmWXNJT3jVKaHBQs2gAs6PLGVWx1zPPHf如果你观察过很多的btc地址, 隐隐会发现有些规律:长度很多是34位,好多是1 3 开头的, 字母排列杂乱无章.如下都是合法的btc 地址, 这些地址都有币的,而且数量都不少, 就已当前的(2018/08/21)btc价格计算, 绝对是富得流油了.3MWqbpfzxgojEAah6PMZoZPdUPUTuyTpan1EdBvVAVP98zUsz2n8Pereop29y9fUFk2i3Cbq7aT1tY8kMxWLbitaG7yT6bPbKChq643Nxwenay9Z8Lc9JBiywExpnEFiLp6Afp8v18tTLso5jaa4XqyTQzo9S6mqhfCsgcufdh1FeexV6bAHb8ybZjqQMjJrcCrHGW9sb6uF1HQ3Go3ggs8pFnXuHVHRytPCq5fGG8Hbhx1PnMfRF2enSZnR6JSexxBHuQnxG8Vo5FVK3Kzh9qAqVWQhEsfQz7zEQL1EuSx5tyNLNS1EBHA1ckUWzNKN7BMfDwGTx6GKEbADUozX1LdRcdxfbSnmCYYNdeYpUnztiYzVfBEQeC…34位的长度是绝对的么,有特例么?还真找到一个地址 1111111111111111111114oLvT2,长度只有27位, 而且这么多的111…, 感觉很优美. 一般btc 地址的长度是34位, 也有33位, 最短的应该是26位.燃烧地址1111111111111111111114oLvT2 还有特殊的地方.如果看ta的交易, 只有输入, 没有输出,什么意思呢?只有别人给ta发币, ta一分钱没花,只进不出,咋这抠门呢, 这是个貔貅啊.我们看看ta的第一笔交易id2c637592a4b4a95cf4b19260730c66de540d7d3b14d8d352de591c5ee6eac0fc, 交易时间是 2010年8月10号, 输出脚本是OP_DUP OP_HASH160 0000000000000000000000000000000000000000 OP_EQUALVERIFY OP_CHECKSIG![输出脚本](https://user-gold-cdn.xitu.io…输出脚本是个啥呢?我们经常说, 谁有btc地址的私钥谁就能花费这些币,私钥相当于钥匙, 输出脚本相当于锁, 你把私钥放入输出脚本中,组成一个完整的脚本, 执行这个完整的脚本, 如果最后输出的是 True, 那么恭喜你, 你可以花费这些币. 我们把0000000000000000000000000000000000000000 叫做hash160, 1111111111111111111114oLvT2就是addr, hash160可以转换为addr.你可以认为: addr就是hash160的简化, addr是对人更友好的一种表现方式, 就像语法糖一样.执行输出脚本, 是私钥转化为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/12ZEw5Hcv1hTb…有没有可能找到私钥存在这种可能, 不过需要巨大的算力来完成这个工作,这个可能太微小了. 如果有人找到了私钥, 燃烧地址就变成普通地址了.如何手动生成btc地址请看 https://www.jianshu.com/p/954… step3是得到hash160_val, 如果你想通过 hash160_val 得到地址, 从step4开始计算就可以.安全提示虽然这些步骤经过了验证并没有发现问题, 但也仅供参考.强烈建议不要自己生成btc addres强烈建议不要自己生成btc addres强烈建议不要自己生成btc addres请用信赖的工具来干这事如果地址计算错误, 这个私钥并不能解开你的地址, 相当于你的btc丢了.mastering bitcoin已经给了我们教训. 同理ethereum 也有burn address哦.