热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

原来我无法完成1聪的转账!

以前我设计了一门课程叫做“玩转比特币”,希望通过6个月课程的跟踪学习,让每一个人彻底掌握比特币。其中有一个环节叫做“游戏:如何让自己的比特币消失”,这节课的内容是这样的:完成1聪比

以前我设计了一门课程叫做“玩转比特币”,希望通过6个月课程的跟踪学习,让每一个人彻底掌握比特币。其中有一个环节叫做“游戏:如何让自己的比特币消失”,这节课的内容是这样的:

完成1聪比特币转账到一个自己生成的地址上,该地址没有对应的私钥。通过此游戏,实现对比特币基本操作、比特币公钥生成、转账等有一个更深的认识。

这样的话,花费很小代价就能尝试将一个信息永久地记入区块链中了,当时想得很美好,其实貌似到后期比特币网络就不允许这么做了。这也能理解,如果允许1聪的转账,那么会有大量细碎的交易会占用区块链的空间。不过我还是很纳闷儿下面这种是如何做到的:

《原来我无法完成1聪的转账!》 大量1聪转账交易

一般大家如果通过交易所操作的话,交易所直接限制了交易金额,无法完成金额过少的转账,比如我在OKCoin上进行操作演示,我那个很小的金额都无法直接提取出来了:

《原来我无法完成1聪的转账!》 交易所对提取金额的限制

于是,为了完成这次演示,我又尝试通过本地比特币钱包进行尝试,结果无论将手续费设置为多大,要么直接被网络拒绝,要么网络接受后,一直无法得到确认(我都等了好几天,为了这次的演示文章)。不过下面这个记录在重新进入钱包后会消失,因为长期无法确认:

《原来我无法完成1聪的转账!》 1聪的交易一直无法得到确认

后来,我经过反复查询,最终在谋篇文章里得到答案:

目前,能得到确认的交易数额最低为 5430 聪。

这终于解决了我的困惑,即1聪的转账金额,不论手续费设置为多高(这个手续费是钱包指定的一个最大比例),都无法完成确认;能被确认的最小金额是5430聪(注:手续费问题网上有说对于这个金额,不用支付手续费都可以。但是钱包貌似不让我这么做,待求证。)。于是,在我成功收到交易已发送的信息之后,我又等了点时间通过blockchain.info确认了这个说法:

《原来我无法完成1聪的转账!》 5430聪交易确认成功

因此,这也说明,只有动手实践才能发现一些问题,这也纠正了我在那次课程“如何让自己的比特币消失”里的错误。

这里要插一个题外话,请大家看上面的交易记录图,有没有发现一个问题?1Q8hMqVeq85PeiqHKHPPNSAJUurS4qsu9K是我当时的收款地址,在我转账成功后,即使我没有操作,却在6.30又发生了一笔交易。追踪结果如下:

《原来我无法完成1聪的转账!》 重新产生的输入输出

这个截图意思很明显,就是UTXO结构里的多个输入转到两个输出上,其中我当时的收款地址是其中一个输入,输出有一个被动用,有一个尚未花费(或许你能理解了UTXO叫做“未花费输出”的说法吧!)。

之所以这样,是因为1Q8hMqVeq85PeiqHKHPPNSAJUurS4qsu9K这个地址根本不属于我们,而属于交易所!正是因为这样,交易所才能动用账上的资金。而且,上图还说明,那一系列的地址都是交易所产生的,应该都属于交易所,是交易所可以支配的资金。这更印证了我之前的提醒:

我们在交易所购买的BTC等,都只是交易所记录的一个数字而已。那些收款地址都是交易所拥有,为个人产生。当收款地址有资金时,交易所会进行“融合”,可以随意支配这些资金,直到被用于下一次花费当中。

相信大家现在能明白了,为什么我在一直坚持推出“交易所排行榜”的原因了吧。6月排行榜点击查看。

而刚才这个只是我动手实践的意外收获,感觉非常赞!


推荐阅读
author-avatar
南北风味街
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有