Skip to content

Instantly share code, notes, and snippets.

@jiangplus
Last active August 1, 2019 16:57
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jiangplus/bfebc5b2654226c6893ce11765346bbf to your computer and use it in GitHub Desktop.
Save jiangplus/bfebc5b2654226c6893ce11765346bbf to your computer and use it in GitHub Desktop.

这是根据 @mafintoshbitcoin-for-laypeople 翻译的一份比特币工作原理简介,起源是他写给父亲解释比特币的文章,最早的丹麦语版可以在这里看到。

比特币是没有中央权威的数字货币。这是一种你不必依靠任何人知道这它具有相应价值的货币。概念上,它类似于黄金,黄金本身就有价值。相反对于美元,如果说美国政府说它有价值,那么它就是有价值的。而比特币的意义是他们的价值在于自身。

让我们试着了解比特币是如何工作的。

比特币或多或少地是一个全球性的计算机网络,它不断努力就交易列表达成一致。

例如,一笔交易就是“马蒂亚斯将100比特币转给马丁”,就像正规银行在内部工作一样。

就比特币而言,交易被称为“块”,交易列表被称为“链” - 区块链。

重要的是要明白,这个交易列表或区块链是完全公开的,任何人都可以阅读,看看有什么资金被转移给对方。出于同样的原因,比特币是一个完全公开的货币, 否则你不能确认交易列表最终是正确的!

事实上,在交易中你不写“Mathias”或“Martin”。如果你这样做了,那么很难判断“Mathias”是否真的把钱转移了,或者是否有人假装是“Mathias”。

相反,你使用一种叫做密钥的东西。

加密密钥

密钥由两部分组成。

一个私钥,是一个非常非常大的随机数,实际上是不可能猜到的,你必须保密。

公钥也是一个大数字。

使用密码学,我们可以创建一个系统,您可以使用私钥来签署交易,以便另一个人可以使用公钥来确认这是您,只有您能签名。

就比特币而言,这些密钥被称为钱包,因为您需要它们来使用比特币。

所以在做转换的时候,你实际上做的是写“公钥A把100比特币转到公钥B”,并使用与A相关的私钥签名交易。这样,没有人可以欺骗转移别人的钱。

Blockchain

现在我们已经有了交易列表,所有人都同意这个列表是什么样子,这当然很重要。否则就会出现有人试图通过将相同的100个比特币转移到一个以上的人而作弊的情况!这会出问题。

因此,向列表添加新的交易不是免费的。如果是这样,通过同时发送大量冲突的交易来尝试作弊是很容易的。

在这种情况下,不免费并不意味着它会直接花费你的钱(如$)。请记住,我们正试图创造一种我们不相信任何人的新货币。

工作量证明

不需要直接花费金钱把一个新的交易加入列表,而是花费工作。这听起来有点抽象,因为时间就是金钱,工作需要时间。

现在请记住,这是一个我们正在使用的计算机网络,因此工作意味着您的计算机应该尝试计算一些需要时间来执行的困难事情。

执行这项工作的计算机被称为矿工。他们之所以被称为矿工,是因为他们以获得一些比特币(数字黄金)的形式获得奖励。有兴趣去做这个工作来增加一个新的交易,否则没有人会这样做。

证明工作完成也是重要的,矿工不能只是造假完成了工作。因此,我们称之为“工作证明”。

比特币所基于的工作是一种叫做“哈希”的技术。

哈希

哈希是一种数学和计算机的技术,其中一台机器输入一个非常大的数字,并输出一个更小的数字。

哈希(非常大的数字) -> 小得多的数字

同样大的数字总是给出相同的小得多的数字,如果知道输出的小数字,猜测输入的大数字实际上是不可能的。

我们可以用哈希来做一个“工作证明”。

它工作非常简单。我选择两个数字,例如,1000000和42,然后我要求你找到一个非常大的数字,散列(非常大的数字+ 42)<1,000,000 唯一的办法就是找到一个真实的数字,就是进行大量尝试!没有捷径。这就是我知道你必须努力找到它。真正聪明的是,如果我说,而不是100万说50万,那么我知道你必须平均工作两倍,因为输出范围是大约一半的大小。

所以我们有办法做一个“工作证明”。

挖掘数字黄金 当我们有一个新的交易,我们想要做,我们这样做。

我们使用我们的私密和公钥进行新的交易。 我们查看当前交易列表,将所有数字加在列表中,并将其添加到交易中的数字中。我们把这个号码称为“挑战”。 我们在网络上发布我们的交易和挑战。 当另一台计算机(矿工)进行哈希(数据+挑战)<1,000,000的工作,交易被添加到列表中,并且矿工被授予一些比特币。 通过挖掘数字黄金这种方式,新的比特币被添加到网络,金钱可以转移到对方。

事实上,授予矿工的比特币数量会随着时间的推移而减少,根据网络上有多少台计算机来调整1,000,000比特币。

这两个东西都被用来激励我们开采比特币。找到它们就变得越来越难,就像黄金一样,即使你买了很多电脑也不会容易(100万只会变小,你需要做更多的工作)。

同样的原因,你在媒体读到特币能耗的消耗。它是系统的核心,以创建挖矿的激励机制!在描述比特币的原始文件中,假设电力来自100%的可再生能源,否则能源代价非常昂贵。

每10分钟可以处理多少个交易也是有限制的,实际上每秒处理6.6个交易。这个约束被添加来避免很多人添加一堆无用的数据,填满了列表。因此,如果许多人想要同时转移比特币,它的交易费变得更加昂贵,需要更长的时间。

近来,人们对比特币的兴趣和活动一直在激增。如今,比特币交易的成本大约是20美元,如果你想说,用比特币购买价值50美元的电脑游戏,这是高额的费用,也是为什么一些人怀疑比特币是否可以作为实际的日常货币。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment