这个办法行不通的。看来对 bitcoin protocol 和机制还是理解不到位。
道理其实很简单,基本上与 Bitcoin 协议无关。
假设你的一个比特币地址有 10 个币,你在短时间内
1. 买了 2 份商品(商品购买是付款了就离开柜台),分别花费 4B 和 5B;
2. 发了 1 次汇款(付款了不会拿走任何东西),金额为 3B。
假设 3 笔交易是在 1 分钟内产生的,没有任何一笔交易得到确认,其中任意两笔交易加起来都不超过 10B。
也就是说:任意两笔交易都可以被接受,而第 3 笔交易会被判定为非法(超额了)。
请问:第 3 笔交易会是哪一笔?
Bitcoin 系统是 P2P 方式运作的,也就是说:
不同的矿工判断为非法的第 3 笔交易是不同的这样,就导致了矛盾。根据 PoW 机制,系统最终采用的只是算力决胜的哪一个矿工的判断(这样就解决了不同矿工因判断不同而导致的冲突)。
所以在未确认状态时,需要一个机制来保证商家收款后能够
即时发现超额支付 的情况。本帖提出的方案就是一个解决办法。
这只是简单的逻辑,不需要深刻理解 Bitcoin 协议。
1. 未确认交易无法很快广播全p2p网,分布式的网络,很难保证这个QoS。即便是有1、2个确认,如果blockchain分叉,也有可能被其他的分支取代。
2. 很容易被黑客利用
3. 要想快,多出手续费。