1、什么是“双花”所谓“双花”难题,是指在区块链加密技术出现之前,加密数字货币和其他数字资产一样,具有无限可复制性,如果没有一个中心化的媒介机构,人们没有办法确认一笔数字现金是否已经被花掉。因此,在交易中必须有一个可以信贷的第三方来保留交易总账,从而保证每笔数字现金只会被花掉一次。中本聪通过使用区块链盖时间戳并发布全网的方式,保证每笔货币被支付后,不能再用于其他支付。当且仅当包含在区块中的所有交易都是有效的且之前从未存在过的,其他节点才认同该区块的有效性。
2、双重支付,中心化的管理系统通过实时修改用户余额,可以有效地防止双重支付,(用户利用网络延迟)把同一笔钱支付给俩个人然而无人监管的系统很难防止这一情况的发生。BitGold方案描述了一个使用中心化方法创建永久工作量证明的系统,该链记录使用者的公钥、时间戳和签名。该方案认为工作量证明的价值在于解决稀缺,难以产生。可安全存储与传输,通过点对点的拜占庭回弹,可在传输时防止双重支付,遗憾的是拜占庭回弹方法依赖于网络地址投票而不是计算投票,因而容易遭受女巫攻击。
3、比特币产生源于防止早期电子货币的重复支付为了防止同一个一个货币被同一个人的重复花费,中本聪采用了工作量证明,如前所述,每个交易都要向网络进行广播,重复花费多次就意罂滩霸蓑味着多次广播关于同一个比特币交易,其他网络节点将把其接收到的其中某一次交易放到一个区块A内(一个区块包括多个近期的交易单)进行验证,验证方法是进行一次耗时计算,如果,计算成功,则向全网进行广播,如果另一个节点在区块链A的基础上完成了下一个区块链B的验证,那么它就会把B的区块挂在A区块之后,依次类推形成一个区块链。对于同一个比特币多次交易就会形成多个区块链,最终的结果就是哪个链条最长,哪个交易就被确认为有效,其他交易则被废弃,这样就确保了一个比特币只能被一个人支付一次。
4、比特币如何防范“双花”问题举个例子来说。在矿工矿池的节点进行打包时,不会将两个交易都打包。万一不小心都打包了。即使找到随机数。那其他节点也会验证时,拒绝承认这个区块打包成功。只有一个交易会从0确认到1确认。而有一个到1确认之后,另外一个就因不符合规则而失效了。 而假设我有1个比特币,在两台机器上同时转给a和b两个人,这种情况是0确认双花。0确认双花一直都存在是系统原理,不是漏洞,不能也不需修复,因此呼吁比特应用,都要等待1确认,重要的交易甚至要等6确认,以避免孤立区块的情况。判断交易是否合理,不仅仅是矿池节点,任何一个核心节点都会进行。即查询历史区块链,判断交易的输出是否不大于输入。