博客> 区块链之——如何避免双重支付问题
区块链之——如何避免双重支付问题
2019-03-22 11:49 评论:0 阅读:103 ryh18675966177
双重支付 双花 避免双重支

双重支付问题又称为“双花”问题,即利用货币的数字特性用“同一笔钱”完成两次或者多次支付。在传统的金融和货币体系中,由于金钱货币是物理实体,具有客观唯一存在的属性,所以可以避免双重支付的情况。但在其他的电子货币系统中,则需要可信的第三方管理机构提供保证。区块链技术则在去中心化的系统中不借助任何第三方机构而只通过分布式节点之间的相互验证和共识机制,有效地解决了双重支付问题,在信息传输的同时完成了价值转移。区块链技术通过区块链接形成的时间戳技术加上验证比特币是否满足UTXO(未花费交易)和数字签名,有效避免了双重支付的问题。如果有人用同一笔UTXO构造了两笔付给不同交易方的交易,则比特币客户端只会转发最先被侦听到的那个。矿工会选择将那笔交易包入未来区块,当其中一笔交易所在的区块后有5个链接的 区块,这笔交易已经得到了6次确认。在比特币区块链上,6次确认后可以基本上保证比特币不被双花。

什么是双重支付 简单而言,就是一笔钱花了两次。这个问题主要出现在数字货币的世界里,因为在这个世界你的钱只是一串数字,复制很容易。而现实世界里,纸币上有非常严格的防伪标识,很难复制,并且还有银行这样的中心化的权威机构确保你的交易唯一性,所以几乎不会出现这种问题,除非中心化机构数据出现问题。 区块链技术如何解决这个问题? 时间戳 区块链上的每一块区块都会盖上时间戳,该时间戳证明特定数据与某个特定时间是必然存在的,而每一个时刻都对应了一串唯一随机散列值,后一个时间戳会将前一个时间戳纳入其随机散列值中,并且对前一个时间戳进行增强,以此形成一个链条。 分布式 区块链是分布式共享数据库,所有的交易数据都是公开的,并不是由一个数据说了算的,而这个数据只有被全网认可才能被确认为最终交易。 共识机制 交易如何被确认。交易的记账权是需要竞争才能获得的,即通过挖矿来计算一个复杂的数学问题,通过提高数学题的难度,可增加所需计算量,这种计算量构建了一个工作量证明机制。如果想要修改某个区块的交易信息,就必须完成该区块和其之后连接区块的所有工作量,这大大增大了篡改数据的难度。除非拥有系统51%以上的算力,而目前是不可能的。全网认可最长的链,因为最长的链包含了最大的工作量,这笔交易就被最终验证。

作者:数据小黑升值记 链接:https://www.jianshu.com/p/36254775bc43 来源:简书 简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

收藏
0
sina weixin mail 回到顶部