长安链双花交易防范策略

什么是双花交易

        即一笔钱被花了两次或者两次以上,也叫“双重支付”。在数字货币系统中,由于数据的可复制性,使得系统可能存在同一笔数字资产因不当操作被重复使用的情况。

比特币如何解决“双花”问题

        比特币作为一个去中心化的点对点电子现金系统,主要依靠未花费的交易输出(unspend transaction output, UTXO)和时间戳来解决“双花”问题。

       系统利用数字时间戳保证每个区块按时间顺序相连成区块链,时间戳也为区块链链上每一笔数据打上时间标记。

       假设小明将被存在于自己UTXO中的1个BTC同时转账给李雷和韩梅梅,两笔交易仅有一笔会成功完成。为什么呢?因为系统中的节点会选择性地记录先接收到的那笔交易。当两笔交易同时被同一节点记录,根据时间戳的数据,只有先被记录的交易才能被确认成功。

        如果小明的两笔转账的时间隔得非常非常近,“小明在12点34分56秒转给李雷1个比特币”、“小明在12点34分57秒转给韩梅梅1个比特币”恰好被两个不同的节点记录,会出现“双花”吗?也不会。这两个节点会将各自挖出包含相关交易的区块同时广播到比特币网络中,此时区块链将出现分叉,剩余节点选择在他们认为的最长链上构建新的区块。最后,率先构建出新区块并成为当前最长链上的交易(通常为6个区块),才能被确认成功。之后的所有节点将在此最长链上构建新的区块。

总结一下,面对“双花问题”,比特币现金系统是这样解决的:

    首先,每笔交易都要先确认对应比特币之前的情况,要检查它是否存在于小明的UTXO中。如果不在,那么该交易会被系统拒绝。
    如果小明用同一笔UTXO付给李雷和韩梅梅,系统中的节点只确认先接收到的那一笔。
   

猜你喜欢

转载自blog.csdn.net/h363659487/article/details/125871224