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

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

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

关键要点

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

理解区块链

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

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

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

应付双重开支

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

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

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

工作证明和采矿说明

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

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

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

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:64 次

字数:6583

最后编辑:7年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文