双重支付问题的本质是啥为啥电子货币会产生双重支付现象比特币又是
本质是数字世界中,所有的东西都只是一串数字,于是,复制起来十分容易——这点和现实世界截然不同。
双重支付的问题也来自于此——如果你的钱,或者账户余额,或者支付凭证,在某处是合法的,那么复制一份也同样应该是合法的,除非收款人能够察觉你复制了你的支付记录。而如果想保证这一点,需要建立“共识”,也就是说,大家都能知道整个网络里所有人的支付记录。这东西很难,而比特币用工作证明机制,也就是挖矿,解决了这个问题。
详情请见我的专栏:
区块链演义 - 专栏
■网友
【双重支付问题的本质是啥为啥电子货币会产生双重支付现象比特币又是】 双重支付就是拿同一笔钱花费两次。在传统的金融系统中很容易防范——只要查一下中心化的账本就很清楚了。而在分布式的区块链系统中则复杂一些。
当一笔从A到B的转账交易刚被写入一个区块x时,它得到了一个确认。而此刻可能另有一笔从A到C的交易正被写入区块y。之后如果以y为首的链延伸得更长,那么区块x就成了孤块,被矿工们集体遗弃,其中包含的A到B的交易记录也随之不再被大家承认,A便成功地实现了双重支付。
这就是为什么用比特币交易时通常要等待多个确认。确认数越多,出现无效的双重支付的可能性就越小。
■网友
我的理解:
本质:比特币是基于utxo的交易模式,每次交易都只是检查前一次交易的合法性。
例如B是一个恶意节点,前一次交易(A—\u0026gt;B)是合法的,
现在B已经向C支付了一定量的金额了(这笔金额是从A—\u0026gt;B中取得),但是B还想用这笔金额向D再支付一次,D只是检查了一下(交易A—\u0026gt;B)是合法的,就接受了。
以上的描述就是我理解的double spending attack(双重支付)了。
避免的话就是共识机制了:
在比特币中,规定使用工作量证明算法的共识机制,
就是很多矿主进行工作量证明挖矿,挖到矿的矿主才有资格决定哪个交易可以上链,只有上链了,这笔交易才算完成。
所以一旦上面的(交易B—\u0026gt;C)上链了,那么(交易B—\u0026gt;D)就不会上链了
(这里进行解释为什么?第一,矿主也是要检验每笔交易合法性的,作为第三方的矿主只能认为其中一笔交易合法而了另一笔必然就不合法了。第二,其他挖矿节点不光验证交易合法性,还验证矿主写的区块里的交易合法性,只有通过其他节点的验证并选择了某个挖矿节点,该节点才有资格成为矿主)
这样就避免了double spending attack
这是我的理解,欢迎指正!
■网友
双重支付简单讲就是一笔钱使用两次。区块链是一个去中心化的分布式记账,不像现实中的交易一样可以由第三方来统一记录我们的交易和账户信息。电子货币是一串数字符号,不是纸钞,看不见。
而所谓的双重支付也只有数字货币才会面临的问题,就是一笔钱(一串数字)被二次使用。举个例子就是说,三个人,其中一个是骗子A,他手里有电子货币1000块,找B买了部手机,找C买了台电脑。然后这个骗子A把买手机的事情告诉给C,同时把买电脑的事情告诉给D。C和D同时将获取的信息记录到自己的账本上,然后C和D开始将自己的账本向外传播,这样就是所谓的双重支付。
如何避免呢?就是不断地利用这两个账本进行扩充。如C速度快,先传播到了下一个人手里,下一个人手里会继续记录之后的交易,并向外继续传播;D速度慢,C传播到100个人的时候,D才传播到20个人,这样一对比账本信息的长短,就得到了最终被认可的账本信息,即C获取的关于A买手机的账单,这样就避免了双重支付的出现。
推荐阅读
- 支付■流水超一亿!姑苏警方重拳捣毁“四方支付”犯罪团伙
- 银行|支付选招行!
- 电商网站支付流程的流失率是怎么样的从用户点击充值/支付按钮,到支付完成,其中每一步的流失比率都是咋样的
- 为啥腾讯要关闭ios端的赞赏,而不是将支付费用直接乘以1.43倍
- 怎样看待2018年深圳杯C题的1T数据
- 动态规划能得到一类问题的最优解,比如背包问题用动态规划来解决,怎样证明这个解就是相对应问题的最优解呢
- 单特征AUC是咋计算的
- 除了那些比较有名的教育机构,有啥别的国考培训班么,最好是重点批改申论题的
- 双重for循环怎样优化效率
- 支付宝等移动支付是否会代替银行
