为了解决“双花”问题,目前互联网的做法是在A和B之间增设与A、B无利益关联的一个可信任的第三方(比如银行、中介)。形成A→第三方→B的交易系统,也就是目前普遍的互联交易形态。这个“中介方案”的弊端就在于:系统不仅需要一个中心化的第三方提供信任,而且一旦第三方系统出现崩盘或者数据瘫痪系统失灵等大问题,交易的确定性就会遭到质疑。
到了区块链的世界里,中本聪设计了PoW 的方式,让节点通过大量 SHA256 计算找到符合当前难度下的 hash 值,才能获得区块链的一次写入权,其它节点在接收到这个区块后将在当前最长链下继续相同的操作,使得区块链能不断扩展。
如果想要“双花”这笔交易,则需要花费更多的计算以生成一条更长的链让其它节点接受。交易的确认数越多,意味着要篡改这笔交易所需要的工作量也越大,即这笔交易被更改的可能性将随着时间的流逝而越来越小。因此,除了实现51%攻击以外,在比特币里几乎不可能发生“双花”问题。
但是,比特币有一个大问题是平均交易确认时间为10分钟,当区块空间拥堵时确认时间甚至会达到数天之久。从比特币里发叉出来的BCH也同样存在确认时间长的问题,只不过区块空间永远充足。即使是10分钟,对于习惯了传统网络支付秒级到账的用户也是无法忍受的事情。
为了解决这个问题,“零确认交易”被提了出来。“零确认交易”一直是BCH社区讨论的重点,也是一个极为重要的方向,“零确认交易”是指交易卖家无需等待该笔交易被区块链网络节点确认,即交付出售的东西,以达到即时交易的目的。由于此时该交易只存在于节点的内存池中,并没有被打包上链,如果支付方没有信用就有可能出现“双花”问题。
“零确认交易”至今还没能得到广泛使用,很大原因是人们认为交易没有被确认的话是不安全的。客观地说,零确认交易被双花的可能性的确要比已经被打包的交易要大一些。但是,目前来看“零确认交易”发生双花的概率一直在1%以下,对于小额交易的零售商来说,这完全属于可接受的范围。
但用于大额交易时零确认这1%以下的代价就显得尤其昂贵,从技术层面解决这一问题的呼声也越来越高。此前,BCH社区已经提出了各种各样的解决方案,预共识、弱区块等,但由于各种原因,这些方案的进展都极为缓慢。(金色财经)