关键点
工作量证明(PoW)是一种共识机制,旨在防止数字支付系统中的双重支出。
PoW 是挖矿的关键部分,涉及将交易块添加到区块链并创建新的加密货币单位。
比特币和许多其他加密货币使用 PoW 机制来保护其区块链网络和数据。
介绍
简而言之,工作量证明(PoW)是一种旨在防止数字支付系统中双重支出的机制。比特币和许多其他加密货币使用 PoW 来保护其区块链网络和数据。这些元素被称为共识机制或算法,因为它们允许多方达成共识而无需相互信任。
工作量证明是第一个共识算法,并且仍然与权益证明(PoS)一样是最重要的算法之一。 PoW 是由中本聪在 2008 年的比特币白皮书中提出的,但该技术本身早在这之前就被提出了。
使用工作证明算法的一个早期例子是 Adam Back 的 HashCash 系统,它甚至在加密货币出现之前就出现了。在发送电子邮件之前需要进行少量计算,从而减少了垃圾邮件的数量。对于普通发件人来说,此类计算几乎不需要花费任何成本,但会使批量邮寄过程变得非常复杂。
什么是双重支出?
当相同的资金被多次使用时,就会发生双重支出。这个术语几乎总是与数字货币相关,因为在现实生活中很难想象同样的钱被花两次的情况。
例如,当您购买咖啡时,您将钱交给收银员,收银员将其放入收银机。你将无法用同样的账单去另一家咖啡馆购买第二杯咖啡。然而,在数字货币系统中这是可能的。
您可能已经在计算机上复制了文件。相同的文件可以轻松发送给数十人。而且由于数字货币只是数据,因此有必要消除双重支出的可能性,即在不同的地方复制和发送相同的单位。如果数字支付系统不能防止双重支出,它很快就会崩溃。
要了解有关双重支出的更多信息,请查看文章什么是双重支出。
为什么需要工作量证明?
如果您已经阅读了我们的区块链指南,那么您就会知道加密货币用户将交易广播到网络。但交易不会立即生效,而是在验证并添加到区块链之后才生效。
例如,比特币区块链作为公共交易数据库(注册表)运行,任何用户都可以查看。假设您和您的三个朋友有一个记事本,您可以在其中记下您的比特币交易。如果你们中的一个人想要转账,他会在笔记本上记下:
Alice 向 Bob 支付了 5 BTC。 Bob 向 Carol 支付了 2 BTC,依此类推。
每次转账时,您必须参考之前收到资金的交易。也就是说,当 Bob 向 Carol 转账 2 BTC 时,条目如下所示:
Bob 将之前与 Alice 的交易中的 2 BTC 转移给 Carol。
这样我们就可以追踪所有 BTC 转账。如果 Bob 尝试使用他刚刚发送给 Carol 的 2 个 BTC 进行另一笔交易,每个人都会立即知道。该组织不允许他在笔记本中记录此类交易,因为他已经花掉了这 2 个 BTC。
这样的系统可以在所有参与者都彼此了解的一小群人中很好地工作,因为他们更容易就谁负责将交易添加到总列表中达成一致。但是如果我们想要聚集 10,000 名成员怎么办?使用记事本的想法不能很好地扩展,因为没有人会相信陌生人来管理这样的财务分类账。
这就是需要工作量证明算法的原因。它确保用户不会花他们不能花的钱。该算法使用博弈论和密码学,允许任何用户根据系统规则更新区块链。
工作量证明如何运作?
将上面示例中的记事本视为区块链。然而,交易并不是一一添加到系统中,而是组合成区块。创建区块的用户将交易包含在候选区块中。只有候选区块被确认并添加到区块链数据库后,交易才会被视为有效。
确认交易和添加新区块的过程称为挖矿。它相当复杂并且需要成本,但可以以区块奖励的形式产生利润。它由交易费用和协议创建的新比特币组成。
工作量证明机制要求矿工(创建区块的用户)投入资源(电力和计算能力)对候选区块的数据进行哈希处理,直到找到解决方案。
对块进行哈希处理涉及将其传递给哈希函数以生成哈希值。块哈希充当“指纹”,并充当每个块唯一的输入数据的标识符。
换句话说,矿工必须验证并收集待处理的交易,然后将它们组合成候选块,并通过哈希函数运行块数据以获得正确的哈希值。如果矿工设法找到其候选区块的正确哈希值,他会将其提交到网络,将该区块添加到区块链中并获得挖矿奖励。
一旦矿工将候选区块和哈希提交到网络,其他网络参与者将重复哈希过程以确保结果的有效性。
找到正确的哈希值需要进行大量的尝试,但检查完成的哈希值的正确性非常容易。为此,您只需通过哈希函数传递相同的输入数据(块数据)并检查结果是否匹配。
在工作量证明中,您必须提供哈希值遵循协议中规定的某些规则的数据,前提是您不知道如何直接检索它。唯一的选择是通过哈希函数运行数据并检查其是否符合条件。如果没有匹配,您将不得不更改数据以获得不同的哈希值。即使更改数据中的一个字符也会导致完全不同的结果,因此不可能简单地预测输出可能是什么。
因此,要创建一个块,您需要计算哈希值。为此,用户将需要添加到块的所有交易的信息和一些其他数据散列在一起。但由于数据集不会改变,因此用户添加一条信息,该信息将成为变量。否则,输出将始终是相同的哈希值。该变量数据称为随机数。每次尝试获取新的哈希值时,它们都会发生变化。
因此,挖掘是收集区块链数据并将其与一次性代码一起进行散列的过程,直到找到合适的散列。如果您找到满足协议设定条件的哈希值,您就有权向网络广播新块。此时,网络中的其他参与者需要更新其区块链以包含新区块。
主要加密货币设定的条件非常难以满足。网络哈希率越高,找到有效哈希值就越困难。这样做是为了防止区块生成得太快。
定期尝试猜测大量哈希值的成本很高,因为它浪费了大量的计算资源和电能。然而,如果矿工设法找到有效的哈希值,协议就会奖励他们的工作。
让我们回顾一下我们所涵盖的内容:
挖矿是一个复杂且昂贵的过程,需要确保网络的安全。
创建有效区块的矿工将以新的加密货币和交易费的形式获得奖励。
生成正确的哈希值需要一些时间,但通过重复哈希过程可以轻松快速地验证其准确性。
但如果你试图欺骗系统怎么办?是什么阻止您将一堆欺诈性交易放入一个区块并创建有效的哈希值?
公钥密码学就是为此目的而开发的。要了解有关此主题的更多信息,请查看我们的文章什么是公钥加密技术。简而言之,该算法使用某些加密技术,允许任何用户验证单个网络参与者将资金转移到另一个地址的权利。
当您创建交易时,您需要对其进行签名。然后,任何网络参与者都可以将您的签名与您的公钥进行比较,看看它是否匹配。这可以让您知道您是否可以花费您的资金以及您的支出是否超过允许的金额。
任何包含无效交易的区块都将被自动拒绝。试图欺骗网络会让你付出很大的代价,因为你最终会浪费你的计算资源而得不到任何回报。
这就是工作量证明的思想:用户诚实行事比试图欺骗系统更有利可图。矿工们正在努力收回投资,因此大多数矿工都会遵守规则来获利。
工作量证明 (PoW) 和权益证明 (PoS)
除了 PoW 之外,还有许多其他共识算法,但最流行的算法之一是权益证明(PoS)。它的概念可以追溯到 2011 年,并已在以太坊和其他几个协议中实现。
在具有权益证明共识的网络中,矿工的角色由验证者扮演,因为该协议与挖掘过程和猜测哈希值无关。相反,用户是随机选择的,所选的参与者必须提出一个新的区块。如果发现一个区块有效,验证者将获得包含该区块交易费用的奖励。
该协议根据几个因素选择一个新的验证器。为了有机会被选中,您需要通过将一些代币添加到质押中来锁定它们。该金额充当一种抵押品:验证者在系统中阻止一定数量的代币,如果验证者试图欺骗系统,这些代币将会丢失。如果验证者尝试验证无效区块,则质押代币将被没收。
与工作量证明相比,权益证明有一些优势。其中之一是更小的碳足迹。这是因为权益证明不需要维护强大的矿场,因此比工作量证明消耗的电力要少得多。
然而,PoS 的记录不如 PoW。虽然 PoW 可能被认为是浪费,但挖矿是目前唯一一个十多年来一直运行良好的共识算法。在此期间,比特币的 PoW 机制已经安全地处理了价值数万亿美元的交易。 PoS 协议尚未证明其长期有效性和竞争力。
综上所述
工作量证明是解决双重支出问题的可靠且安全的解决方案。比特币已经证明它不需要中心化的组织。通过正确使用密码学、哈希函数和博弈论,去中心化环境中的参与者可以自己监控整个金融数据库的正确运行。
推荐阅读
什么是加密货币挖矿以及它是如何工作的?
什么是公钥密码学?
什么是区块链共识算法?
免责声明:以下材料“按原样”提供,不提供任何形式的保证,仅供一般参考和教育目的。此信息不应被视为财务建议、法律建议或购买任何特定产品或服务的建议。您应该向适当的专业顾问寻求自己的建议。由于本文由第三方作者撰写,请注意,所表达的观点仅代表第三方作者的观点,并不一定反映币安学院的观点。欲了解更多详细信息,请点击链接。数字资产的价值可能会波动。投资资金的价值可能会上升或下降。您可能无法取回您的投资资金。您对您的投资决定承担全部责任。币安学院不对您可能造成的损失负责。该信息不构成财务、法律或专业建议。要了解更多信息,请阅读我们的使用条款和风险披露。
