主页 > 苹果imtoken怎么下载 > 区块链如何防止比特币双花?

区块链如何防止比特币双花?

苹果imtoken怎么下载 2023-11-09 05:09:25

任何加密货币开发人员最关心的问题之一是双重支出问题。 这是指个人余额多次花费该加密货币的发生率,有效地在支出记录和可用该加密货币的数量以及分配方式之间产生差异。

双花问题是现金所没有的。 如果你用 10 美元的钞票买一个三明治,然后把钞票交给三明治制造商,你将无法在其他地方花费这 10 美元。 然而,使用比特币等数字货币的交易完全以数字方式进行。 这意味着交易细节可以被复制和重新广播,这样同一个 BTC 可以被一个所有者多次使用。 下面,我们将研究加密货币开发人员如何确保不会发生双重支出。

要点

了解区块链

为比特币等数字货币提供支持的区块链无法防止双重支出。 相反,涉及相关加密货币的所有不同交易都会发布到区块链,并通过验证和确认流程单独保护它们。 对于比特币和许多其他加密货币,以这种方式确认的交易变得不可逆转; 它们公开发布并永久保存。

比特币是第一个解决双重支出问题的主要数字货币。 为此,它实施了这种确认机制并维护了一个通用的分类账系统。 通过这种方式,比特币区块链保留了可追溯到 2009 年加密货币诞生的带时间戳的交易记录。

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

处理双花

假设您有 1 个 BTC,并尝试在两个单独的交易中花费两次。 您可以通过将相同的 BTC 发送到两个不同的比特币钱包地址来尝试做到这一点。 然后这两笔交易都会进入未确认交易池。 第一个交易将被确认机制批准,然后验证进入后续区块。 但第二笔交易会被确认流程确认为无效,不予验证。 如果同时从池中拉取两笔交易进行确认,则确认数最多的交易将被纳入区块链,另一笔交易将被丢弃。

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

该系统中还有其他漏洞可能会导致双花攻击。 例如,如果攻击者能够以某种方式控制至少 51% 的网络权力,他或她就可以投入双倍的资金。 如果攻击者能够以某种方式控制如此多的计算能力,他或她就可以逆转交易并创建一个单独的私有区块链。 然而,比特币的快速增长实际上已经确保了这种攻击是不可能的。 (有关更多信息,请注意这五个比特币骗局)

工作量证明和“挖矿”说明

现在,让我们了解更多技术知识。 用户可以检测篡改(例如在实践中尝试双花)的方式是通过散列(一长串数字)作为工作量证明(PoW)。 将一组给定的数据通过哈希函数(给定的数据使用 SHA-256),它只会生成一个哈希。 然而,由于“雪崩效应”,即使对原始数据的任何部分进行微小的更改0.0001比特币,也会导致完全无法识别的散列。 无论原始数据集的大小如何,给定函数生成的哈希值都将具有相同的长度。 哈希是一种单向函数:它不能用于获取原始数据,它只能用于检查生成哈希的数据是否与原始数据匹配。

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

由于只能为一组给定的数据生成一个散列,矿工如何确保他们生成的散列低于目标? 他们通过添加一个称为随机数(“一次使用数字”)的整数来更改输入。 一旦找到有效的哈希值,就会将其广播到网络并将该块添加到区块链中。

挖矿是一个竞争过程,但更像是彩票而不是竞争。 平均而言,有人每 10 分钟就会生成一份可接受的工作量证明,但谁也说不准。 矿工聚集在一起增加他们开采区块的机会,这会产生交易费用并在有限的时间内奖励新创建的比特币。

工作量证明使得改变区块链的任何方面都变得极其困难,因为这样的改变需要重新挖掘所有后续区块。 这也使得用户或用户池难以垄断网络的计算能力,因为完成哈希函数所需的机器和电力非常昂贵。

郑重声明:本文版权归原作者所有0.0001比特币,转载文章仅出于传播更多信息之目的。 如作者信息标注有误,请第一时间联系我们修改或删除,谢谢。