LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > 怎么使用区块链解决比特币的双重支付问题?

怎么使用区块链解决比特币的双重支付问题?

2020-09-25 易挖网云算力挖矿 来源:火星财经
唯一能够让整个比特币系统奔溃的是,当有一个人拥有超过整个系统51%的计算能力,那么他就能够更改任何一笔交易记录,这也就是所谓的“51%攻击”。但我们都知道,这几乎是不可能的。

什么是双重支付,简单而言,就是一笔钱花了两次。这个问题主要出现在数字货币的世界里,因为在这个世界你的钱只是一串数字,复制很容易。

而现实世界里,纸币上有非常严格的防伪标识,很难复制,并且还有银行这样的中心化的权威机构确保你的交易唯一性,所以几乎不会出现这种问题,除非中心化机构数据出现问题。

双重支付怎么出现的?

首先,比特币系统基于分布式的区块链。可以理解为,由很多人同时各自维护一份账本。交易的有效性实际上是由账本的一致性,也就是大多数人的认可来决定的。

当支付发生时,实际上是你向其他人发出广播,我支付给商家300元。所有人都会听到这个消息,于是都会在小本本上记下,你支付给商家300元。

但是不排除你因为各种原因和目的,在发出一条支付给商家的广播的同时,发出一条广播,宣称你将这300元支付给了你老婆。于是双重支付产生。

但是每个人只会记录其中的一条消息,先收到那条就记录哪条。这是因为,对于其中一个人来说,假如先收到支付给你老婆的消息,那就认为另一条支付的消息是非法的。

也就是说,有些人记录了你支付给商家,有些人记录了你支付给你老婆,整体来看,是有分歧的,但无论是谁的账本,只会记录其中—条记录。

怎么解决双重支付

在数字货币中,比特币会对前一次的交易和下一位拥有者的公钥签署一个数字签名,将这个签名附加在比特币的末尾发送给下一位所有者。而由于没有第三方机构去做监控,所以需要一个机制去确保比特币之前的所有者没有对更早发生的交易实施签名。比特币是怎样解决这个问题的呢:

1、 所有的交易全网公开:历史交易全网公开,那么每个账号里面有多少比特币,并不是由一个数据来表示的,而是根据历史交易得出来的。而这个历史交易链是经过全网公认的,才能保证不被造假。

2、 需要有时间戳,所有交易有先后顺序:所有交易,要按照先后顺序,给其加上时间戳,前面一笔交易成功后,整个交易链被公认后,下一笔交易是基于上一笔交易来生成的,整个交易就是一个交易链,这样才能保证不被双重支付。

3、 需要投入计算资源对交易进行确认:交易的确认,需要投入计算资源来确认,比特币引入了工作量证明,矿工投入计算力来打包交易,若需修改某个区块上的交易,需重新计算自区块以来所有区块。

比特币网络中有着无数节点,每一个节点都能获知每一笔交易的发生,而每一笔交易都有着先后顺序,存在着一个所有人公认的交易序列。只有当大部分节点都认同这笔交易是首次出现时,这笔交易才能够发生。

你要说这个系统有什么风险吗?万物无绝对,肯定是有的。唯一能够让整个比特币系统奔溃的是,当有一个人拥有超过整个系统51%的计算能力,那么他就能够更改任何一笔交易记录,这也就是所谓的“51%攻击”。但我们都知道,这几乎是不可能的。

End

本文来源:易挖网云算力挖矿
原文标题:怎么使用区块链解决比特币的双重支付问题?

—-

编译者/作者:易挖网云算力挖矿

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...