区块链如何防止比特币的双重消费?

加密货币开发者最关心的问题之一就是双重支出问题。这是指个人多次使用该加密货币余额的发生率,实际上在支出记录和可用加密货币金额以及其分配方式之间产生了差异。...

加密货币开发者最关心的问题之一就是双重支出问题。这是指个人多次使用该加密货币余额的发生率,实际上在支出记录和可用加密货币金额以及其分配方式之间产生了差异。

双重支出问题是现金所没有的问题;如果你用一张10美元的钞票买了一个三明治,把那张钞票交给三明治**商,你就不能掉头把同样的10美元花在别的地方。然而,使用数字货币(如比特币)的交易完全是以数字方式进行的。这意味着可以复制事务细节并重播它,以便同一个BTC可以被一个所有者多次使用。下面,我们将研究加密货币开发人员如何确保双重支出不会发生。

关键要点

  • 数字货币概念带来的一个技术问题是,有人能够复制数字货币,同时在两个或多个地方消费。
  • 在基于区块链的加密货币(如比特币)中,通过使用称为工作证明(PoW)的共识机制,可以防止这种“双重消费”问题。
  • 这个PoW由分散的“矿工”网络执行,他们不仅确保区块链账本上过去交易的真实性,而且还检测和防止重复支出。

理解区块链

支撑比特币等数字货币的区块链本身无法防止双重消费。相反,所有涉及相关加密货币的不同交易都会过账到区块链,在区块链中,它们会被单独验证,并受到确认流程的保护。在比特币和许多其他加密货币的情况下,以这种方式确认的交易变得不可逆转;它们公开发布并永久保存。

比特币是第一种解决双重消费问题的主要数字货币。它通过实施这种确认机制和维持一个通用的分类账系统来做到这一点。通过这种方式,比特币区块链保留了可追溯到2009年加密货币创立时的时间戳交易记录。

在比特币术语中,“块”是永久记录数据的文件。所有最近的交易都被写入块中,很像交易所的股票交易分类账。来自区块的信息每隔几分钟就被添加到分类账中;网络上的所有节点都维护一份区块链账本。用户可以浏览比特币区块链,并仅从数量方面审查交易。任何交易中买卖双方身份的详细信息都受到高级加密的保护,这也保护了账本不受外部来源的篡改。当区块链账本更新时,所有比特币钱包也会更新。

应付双重开支

假设您有1个BTC,并且您尝试在两个单独的事务中使用它两次。您可以尝试将相同的BTC发送到两个不同的比特币钱包地址。然后,这两个事务都将进入未确认事务池。第一笔交易将通过确认机制获得批准,然后在随后的区块中进行验证。不过,第二笔交易将被确认程序认定为无效,不予核实。如果两个交易同时从池中拉出进行确认,则确认次数最多的交易将包含在区块链中,而另一个交易将被丢弃。

虽然这有效地解决了双重支出的问题,但也不是没有问题。例如,第二笔(失败的)交易的预期接收者不会参与交易本身的失败,但该人不会收到他们预期的比特币。许多商户至少要等待6次交易确认(这意味着在相关交易之后,随后的6个交易区块被添加到区块链中)。此时,商家可以放心地假设交易是有效的。

此系统中还存在其他漏洞,可能导致发生双倍开销攻击。例如,如果攻击者能够以某种方式控制网络中至少51%的用户,他们就可以进行双倍的开销。如果攻击者能够以某种方式控制如此强大的计算能力,他们就可以逆转交易并创建单独的私有区块链。然而,比特币的快速增长几乎保证了这种攻击是不可能的。

工作证明“采矿”解释道

现在让我们更专业一点。用户检测篡改的方式,例如在实践中试图加倍消费,是通过哈希,作为工作证明(PoW)的长串数字。将给定的一组数据通过哈希函数(比特币使用SHA-256),它将只生成一个哈希。但是,由于“雪崩效应”,即使对原始数据的任何部分进行微小更改,也会导致完全无法识别的哈希。无论原始数据集的大小如何,给定函数生成的哈希值都是相同的长度。哈希是一个单向函数:它不能用于获取原始数据,只能检查生成哈希的数据是否与原始数据匹配。

对于现代计算机来说,仅仅为一组比特币交易生成任何哈希值都是微不足道的,因此为了将该过程转化为“工作”,比特币网络设置了一定程度的“难度”。调整该设置,以便“挖掘”一个新的区块,通过生成有效哈希值(大约每10分钟)添加到区块链中。设置难度是通过为散列建立一个“目标”来实现的:目标越低,有效散列集就越小,生成一个散列就越困难。实际上,这意味着一个以长的零字符串开始的散列:例如,块#429818的散列值为00000000000004dd3426129639082239efd583b5273b1bd75e8d78ff2e8d。该区块包含2012笔交易,涉及1000多枚比特币,以及前一区块的标头。如果用户将一笔交易金额更改为0.0001比特币,则生成的哈希将无法识别,网络将拒绝欺诈。

既然给定的一组数据只能生成一个散列,那么矿工如何确保生成的散列低于目标值?它们通过添加一个称为nonce的整数(“使用一次的数字”)来改变输入。一旦找到一个有效的散列,它就会被广播到网络中,并将块添加到区块链中。

采矿是一个竞争的过程,但它更像是一种彩票而不是一场竞赛。平均来说,有人会每十分钟产生一个可接受的工作证明,但谁会是任何人的猜测。矿工们**在一起,以增加开采区块的机会,从而产生交易费用,并在有限的时间内奖励新创造的比特币。

工作证明使得改变区块链的任何方面都极为困难,因为这种改变需要重新挖掘所有后续区块。这也使得一个用户或一组用户很难垄断网络的计算能力,因为完成散列函数所需的机器和能量是昂贵的。

  • 发表于 2021-06-16 23:48
  • 阅读 ( 133 )
  • 分类:商业金融

你可能感兴趣的文章

比特币的区块链技术如何改变媒体

...资产。这在很大程度上掩盖了比特币如此革命性的原因:区块链技术。 ...

  • 发布于 2021-03-12 00:49
  • 阅读 ( 331 )

什么是altcoins,它们为什么存在?

...软件(比特币核心),以及跟踪谁拥有哪种比特币的底层区块链。 虽然区块链的概念是由比特币的创造者发明的,但比特币并不垄断区块链技术。其他人可以创建自己的加密货币和区块链,这通常就是加密货币。 例如,你可能...

  • 发布于 2021-04-06 19:07
  • 阅读 ( 202 )

最好的比特币和以太坊解释者

...主要黑客的时间表。以太坊入门指南:介绍了一个较新的区块链,其中包含数字货币以外的应用程序,包括自动执行的合同、身份管理、计算机使用共享、DRM等。tl80比特币指南:挖掘、购买和使用比特币的实用指南区块链如何...

  • 发布于 2021-05-15 21:41
  • 阅读 ( 174 )

什么决定了1比特币的价格?

...了这种虚拟货币的未知创造者(或创造者)。交易记录在区块链中,区块链显示每个单元的交易历史,并用于证明所有权。 与投资传统货币不同,比特币不是由央行发行,也不是由**支持。而购买比特币与购买股票或债券不同...

  • 发布于 2021-05-31 08:15
  • 阅读 ( 175 )

比特币挖掘是如何工作的?

... mining)? 比特币开采是新比特币进入流通的过程,但也是区块链账本维护和开发的关键组成部分。它是使用非常复杂的计算机来解决极其复杂的计算数学问题。 加密货币开采是艰苦的,昂贵的,而且只有零星的回报。尽管如此...

  • 发布于 2021-05-31 09:13
  • 阅读 ( 188 )

比特币减半

...解释一下比特币网络是如何运作的。 比特币的底层技术区块链基本上由一组运行比特币软件的计算机或节点组成,这些计算机或节点包含比特币网络上发生的部分或完整交易历史。每个完整节点或包含比特币交易历史的节点负...

  • 发布于 2021-06-01 13:58
  • 阅读 ( 222 )

闪电网络:它是什么?它能解决比特币的规模问题吗?

...第一次批评,但她表示相信比特币确实可以扩展。”谈到区块链和去中心化技术,我们基本上又回到了1995年,”她说,指的是互联网收购HTTP和TCP/IP的其他传输和应用层之前的时间。 在比特币区块链最受关注的“第2层”应用程...

  • 发布于 2021-06-08 23:04
  • 阅读 ( 141 )

比特币开采

...售点系统和实物收据记录。比特币矿商通过将交易**在“区块”中,并将其添加到一个名为“区块链”的公共记录中,实现了同样的目的。节点随后会维护这些区块的记录,以便将来可以对其进行验证。 当比特币矿商向区块链...

  • 发布于 2021-06-10 01:10
  • 阅读 ( 146 )

比特币10岁生日:中本白皮书对吗?

...它的创始文件将其定义为“一系列数字签名”。 通过在区块链上对比特币的唯一哈希进行签名,就有可能拥有比特币,这只有在另一个对等方将比特币发送给你的情况下才有可能。如果他们有,你可以通过在最后添加你自己的...

  • 发布于 2021-06-10 07:19
  • 阅读 ( 165 )

比特币的闪电网络:3个可能的问题

...的闪电网络(LN)是比特币网络中增加的第二层,能够在区块链之外的各方之间进行交易,称为链外交易。在加密货币的发展过程中,闪电网络经常被认为是游戏规则的改变者。它旨在加快交易处理时间,降低比特币区块链的相...

  • 发布于 2021-06-10 12:16
  • 阅读 ( 208 )
微生儇呓
微生儇呓

0 篇文章

相关推荐