,它更类似于您在公开市场上将美元兑换成欧元或任何其他货币的方式,它只是它自己独立的东西。 这是了解比特币或任何其他加密货币的第一件重要的事情:它是什么?交易的历史就是货币。当然,由于人们使用现金进行购买,比特币资金不会进入分类账,我将在几分钟内了解新资金如何进入分类账。 在此之前,我们当前的 LedgerDollars 系统之间存在更显着的差异 去中心化:加密货币如何运作 到目前为止,我已经说过这个分类帐是一些公共场所,就像一个任何人都可以添加新行的网站。但这需要信任一个中心位置。也就是说,谁托管该网站?谁控制添加新行的规则? 为了消除这种信任,我们将让每个人保留自己的账本副本。然后,为了进行交易,例如“Alice 向 Bob 支付 100 LedgerDollars”,您需要向全世界广播,以便人们在自己的私人 Ledgers 上收听和记录。但除非我们做更多的事情,否则这个系统就会糟糕得离谱。 如何让每个人都同意什么是正确的账本?当 Bob 收到交易“Alice 向 Bob 支付 10 LedgerDollars”时,他如何确定其他人都收到并相信同一笔交易?他稍后可以使用这 10 个 LedgerDollars 与 Charlie 进行交易。真的,想象一下您自己正在收听正在广播的交易。您如何确定其他人都以相同的顺序记录相同的交易? 现在我们遇到了一个有趣的难题:您能否提出一个协议来说明如何接受或拒绝交易以及以什么顺序,以便您可以确信世界上遵循相同协议的任何其他人都有一个看起来像的个人分类账和你的一样吗? 这是原始比特币论文中解决的问题。 从高层次来看,比特币提供的解决方案是信任投入最多计算工作的账本。我将花一些时间来解释这到底意味着什么,其中涉及到称为“加密哈希函数”的东西。我们将建立的总体想法是,如果您使用计算工作作为信任的基础,您就可以做到这一点,以便欺诈性交易和冲突的账本将需要不可行的计算量。 再说一次,这已经超出了任何人使用这样的货币所需要知道的范围。但这是一个非常酷的想法,如果你理解它,你就理解了比特币和其他加密货币的核心。 加密哈希函数 哈希函数接受任何类型的消息或文件,并输出固定长度的位串,例如 256 位。此输出称为消息的“散列”或“摘要”,它看起来是随机的。这不是随机的;对于给定的输入,它总是给出相同的输出。但其想法是,当您稍微更改输入时,也许只编辑一个字符,生成的哈希值就会完全改变。 事实上,对于我在这里展示的哈希函数(称为 SHA256),当您稍微更改输入时输出发生变化的方式是完全不可预测的。你看,这不仅仅是一个哈希函数;它是一个哈希函数。它是一个加密哈希函数。这意味着反向计算是不可行的。 如果我向您展示一些由 1 和 0 组成的特定字符串,并要求您查找一条输入消息,以便该消息的 SHA256 哈希值给出这个确切的位字符串,您将没有比猜测和检查更好的方法了。 您可能认为可以通过真正挖掘函数工作原理的细节来对所需的输入进行逆向工程,但没有人找到一种方法来做到这一点。有趣的是,没有证据表明反向计算很困难,但现代安全性很大程度上依赖于加密哈希函数。 如果您要查看浏览器现在与 YouTube 或与银行建立的安全连接背后的算法是什么,您可能会在其中看到 SHA256 这样的名称。 目前,我们的重点只是这样的函数如何证明特定的交易列表与大量的计算工作相关。 拥有比特币意味着什么?工作证明和区块链。 想象一下,有人向您展示了一个交易列表,他们说:“我找到了一个特殊的数字,这样当您将这个数字放在交易列表的末尾,并将 SHA256 应用于整个交易时,输出的前 30 位都是零。” 您认为他们找到这个号码有多难?对于随机消息,散列恰好以 30 个连续零开头的概率为 230 分之一,大约是十亿分之一。 由于 SHA256 是一种加密哈希函数,因此找到此类特殊数字的唯一方法是通过猜测和检查。因此,这个人几乎肯定必须检查大约十亿个不同的数字才能找到这个特殊的数字。一旦知道这个数字,您就可以快速验证该哈希值是否确实以 30 个零开头。 换句话说,您可以验证他们是否完成了大量工作,而无需您自己进行同样的工作。这称为“工作证明”。 重要的是,所有这些工作本质上都与该交易列表相关。如果你改变其中一笔交易,即使是轻微的改变,它也会完全改变哈希值,所以你必须再进行十亿次猜测才能找到一个新的工作量证明,一个新的数字,使得被改变的哈希值可以被改变。与这个新数字一起列出的都是以 30 个零开头的。 现在回想一下我们的分布式账本情况。每个人都在广播交易,我们希望有一种方式让每个人都就正确的账本达成一致。正如我所说,原始比特币论文背后的核心思想是让每个人都信任投入最多工作的账本。 其工作方式是首先将给定的分类账组织成块,其中每个块由交易列表以及工作证明组成。也就是说,一个特殊的数字,使得整个块的哈希值以一堆零开头。 目前假设它必须以 60 个零开头,但稍后我将回到您如何选择该数字。就像交易仅在由发送者签名时才被视为有效一样,区块也仅在具有工作证明时才被视为有效。另外,为了确保有一种标准方法来对这些块进行排序,我们将进行排序,以便一个块必须包含前一个块的哈希值。 这样,如果您更改任何块,或者尝试交换两个块的顺序,它会更改其后面的块,从而更改该块的哈希值,从而更改下一个块,依此类推。这需要重做所有工作,并为每个块找到一个新的特殊编号,使其哈希值以 60 个零开头。 由于区块是这样链接在一起的,因此通常称为“区块链”,而不是称为分类账。 作为我们更新协议的一部分,我们现在将允许世界上的任何人成为“区块创建者”。这意味着他们将侦听正在广播的交易,将它们收集到一个块中,然后做一大堆工作来找到使该块的哈希值以 60 个零开头的特殊数字,然后广播出该块他们发现。 为了奖励区块创建者所做的所有这些工作,当她构建一个区块时,我们将允许她在顶部包含一项特殊交易,在该交易中,她凭空获得 10 个 LedgerDollars。这称为区块奖励。这是我们关于是否接受交易的通常规则的一个特殊例外;它不是来自任何人,因此不必签名。 这也意味着我们经济中的 LedgerDollars 总数随着每个新区块的增加而增加。创建区块通常被称为“挖矿”,因为它需要大量工作,并且它将新的货币引入经济中。但是,当您听到或读到有关矿工的信息时,请记住,他们真正所做的是创建区块、广播这些区块,并因此获得新的资金奖励。 从矿工的角度来看,每个区块就像一张微型彩票,每个人都在尽可能快地猜测数字,直到一个幸运的人找到一个使该区块的哈希值以许多零开头的数字,并因此而获得奖励。 我们的协议现在对使用该系统的人的工作方式是,您不再监听交易,而是监听矿工广播的新块,更新您自己的区块链个人副本。 关键的补充是,如果您听说两个不同的区块链具有相互冲突的交易历史,您会遵循最长的一个,也就是投入最多工作的那个。如果有平局,请等待,直到您听到有额外的区块使平局变得更长。因此,即使没有中央权威,并且每个人都维护自己的区块链副本,如果每个人都同意优先考虑投入最多工作的区块链,我们就有办法达成去中心化共识。 双重支出 要了解为什么这会成为一个值得信赖的系统,并了解在什么时候您应该相信付款是合法的,了解如何欺骗该系统中的某人会很有帮助。 如果爱丽丝想用一个欺诈性的区块来愚弄鲍勃,她可能会尝试向他发送一个包含她向他支付 100 个 LedgerDollars 的区块,但不会将该区块广播到网络的其他部分。这样其他人就认为她还拥有那 100 块 LedgerDollars。 为此,她必须先于所有其他矿工(每个人都在自己的区块上工作)找到有效的工作证明。这可能会发生!也许爱丽丝比其他人都先赢得了这张小型彩票。但是鲍勃仍然会听到其他矿工发出的广播,因此为了让他相信欺诈性区块,爱丽丝必须自己完成所有工作,以不断向鲍勃区块链中的这个特殊分叉添加区块,这与他从其他矿工那里听到的不同矿工们。 请记住,根据协议,鲍勃始终信任他所知道的最长的链。如果爱丽丝碰巧比网络上所有其他矿工加起来更快地找到区块,她也许能够将这种情况保持几个区块。 但是,除非 Alice 拥有所有矿工中接近 50% 的计算资源,否则所有其他矿工正在处理的区块链的增长速度将超过 Alice 为 Bob 提供的单个欺诈性区块链的增长速度。因此,随着时间的推移,鲍勃将拒绝他从爱丽丝那里听到的消息,转而支持其他人正在研究的更长的链。 请注意,这意味着您不必立即信任您立即听到的新块。相反,您应该等待在其上添加几个新块。如果您还没有听说过任何更长的区块链,您可以相信这个区块是其他人正在使用的同一条链的一部分。 区块时间、减半和交易费用 至此,我们已经实现了所有主要想法。这种基于工作量证明的分布式账本系统或多或少是比特币协议的工作原理,以及许多其他加密货币的工作原理。 只有一些细节需要澄清。之前我说过,工作量证明可能是找到一个特殊的数字,使得区块的哈希值以 60 个零开头。实际比特币协议的工作方式是定期更改零的数量,以便平均需要 10 分钟才能找到一个区块。 因此,随着网络上的矿工越来越多,挑战变得越来越难,以至于这种微型彩票每 10 分钟大约只有一名中奖者。许多较新的加密货币的出块时间要短得多。 比特币中的所有资金最终都来自于一些区块奖励。这些奖励是每个区块 50 比特币。 有一个名为“ Block Explorer ”的很棒的网站,您可以在其中查看比特币区块链,如果您查看链上的前几个区块,您会发现它们除了给予矿工的 50 比特币奖励之外不包含任何交易。 每 210,000 个区块(大约每 4 年),奖励就会减少一半。所以现在每个区块的奖励是 12.5 比特币,而且由于这个奖励随着时间的推移呈几何级数减少,所以比特币的存在量永远不会超过 2100 万个。 然而,这并不意味着矿工将停止赚钱。除了区块奖励之外,矿工还可以获得交易费。其工作原理是,每当您进行付款时,您都可以选择包含一小笔交易费用,该费用将支付给包含该付款的任何区块的矿工。 您这样做的原因是为了激励矿工将您广播的交易实际包含到下一个区块中。 你看,在比特币中,每个区块仅限于约 2,400 笔交易,许多批评者认为这是不必要的限制。相比之下,Visa 平均每秒处理约 1,700 笔交易,每秒可处理超过 24,000 笔交易。比特币处理速度较慢意味着交易费用较高,因为这决定了矿工选择将哪些交易包含在新区块中。 这远未全面涵盖加密货币。我在这里没有触及许多细微差别和替代设计选择,但希望这可以为任何希望通过进一步阅读添加更多分支的人提供稳定的“等待但为什么”式的理解树干。 就像我在开头所说的那样,本文背后的动机之一是大量资金已经开始流向加密货币,对于进入这个游戏的人们来说,至少了解该技术的基础知识是有益的。 来源:金色财经lg...