当前位置:首页 > 知识 >

比特币双花攻击及其防范方法

在现实生活中,人们经常遇到双向付款的问题。例如一个人在卖房的情况下,与两个人签订合同;又例如一个人仅有一万块钱,但他私底下向不同的人声称会给另一方一万块钱。

为了防范这类问题,比特币设计了一套体制。这套体制首先会对交易信息提及的余额进行检查,如果余额总数有效,那么挖矿就会将此交易信息装包并链入比特币区块链技术。

问题1:如何检查余额?

例如,互联网收到了一条信息:A将十个比特币转给B。这时全网会免费下载比特币区块链技术全部的信息,并追溯A的全部历史时间交易信息。如果区块链技术交易信息表明,A的余额足够适用于此次10个比特币的交易,那么这条信息会被全网所接受,否则就不容易被接受。

问题2:如果同时向两人付款,以哪条交易信息为标准?

例如,A向全网广播:将10个比特币转给B,但与此同时他又发布一条信息,将10个比特币转给C,而此时A的总余额只有10个比特币。那么哪条交易信息才是准确的标准呢?

这时,有的人会先接到A给B十个比特币的信息,他们会通过检查余额自行忽视另一条信息。同样,先接到A给C十个比特币信息的人,在检查余额后也会自行忽视另一条信息。

无论接收哪条交易信息,网络中的挖矿都会对自己所接收到的信息进行装包,并计算区块链中所包含的随机数字,即挖币。第一个计算出随机数字的挖矿者,就会将这一区块链放进区块链中,这条交易信息也就被全网认可。如果放进区块链的交易信息是A转给B的10个比特币,那么B可能得到这些比特币,而其他的挖矿也就全自动终止计算;如果放进区块链的交易是A转给C的10个比特币,那么C可能得到这些比特币。

以上便是比特币防双向付款的方式。

总之,为了避免双向付款问题,比特币区块链技术会首先检查全部的交易信息,并追溯交易信息,在保证余额充足的情况下,最先放进区块链的交易信息可能被全网认可。

参考文献:新浪微博@李永乐老师。

猜你喜欢

关注我们

微信二维码

微信