主页 > imtoken官网下载教程 > 比特币:一个告诉你比特币如何运作以及它如何运作的故事

比特币:一个告诉你比特币如何运作以及它如何运作的故事

imtoken官网下载教程 2023-01-18 16:43:36

周末我花时间阅读了一些与比特币原则相关的材料。虽然不敢说把每一个细节都看透了,但是大体思路和关键部分的主要原理还是比较清晰的。写一篇文章与大家分享。本文的定位会比较通俗一点,并尝试用一个类比来解释比特币的基本原理。本文不会涵盖算法和合约的更详细部分。我打算从程序员的角度写另一个比特币原理。从技术人员的角度来看,比特币系统中会出现更多关键的数据结构。解释了算法和合同。

在本文中,我将给出一个名为“比特村”的虚拟村庄。整篇文章将告诉你比特币的动机,它解决了哪些问题,以及讲故事方法中一些关键组件的目标和设计解决方案。.

要问这个问题,让我们从比特币形成背后的动机开始。

易货比特村

据说,在这个世界上,有一个小村庄,叫做比特村。村里有数百户人家。这个村庄几乎与世界其他地方隔绝,过着自给自足的生活。由于没有大规模的贸易,比特村的居民仍然过着易货易货的生活,也就是说,居民不使用统一的货币。为了一只羊,王太太用一篮野菜换了刘太太的两尺布。村民们一直生活得如此内向。

实物货币

终于,三天来,村民们觉得还是这样交易实在不方便,于是全村人开会讨论如何解决这个问题。有人提出,为了便于划分和稀有的东西,比如黄金,按照通常的等价物,其他物品与黄金的对应关系应该编成一个表格,比如一克黄金对应一只羊,一只一克黄金对应一袋大米等,此时老张再也不用提着一袋大米气喘吁吁地去老李家换羊了。只要从家里找到一克黄金,就可以去老李家取回一只羊,而老李拿着这1克黄金,可以从任何愿意卖面的人那里换取一袋米,当然还有任何价值一克黄金的东西。

此时,比特村已经进入了实物货币时代。

符号货币

好景不长,一段时间后,实物货币的弊端也出现了。由于比特村附近的铜矿不多,开采和炼金既费时又费力。随着使用,黄金会因腐蚀、损失或故意囤积而不断耗尽。全村人又坐在一起,开始接触对策。这时候,有人说比特币为什么不能伪造,其实你不必真的用金子。随便找一张纸写下“一克黄金”。只要全村人都同意这张纸等于一克黄金,问题就迎刃而解了。. 别人都同意了,但同时又出现了新的问题:真金需要开采和炼铁,金矿有限,开采和冶炼也需要成本,所以没有人可以在短时间内突然产生大量的黄金。不一样,只要我有足够的纸和笔,我想写多少就写多少,到头来就是家里纸太多的人,说不定一万张纸可以代替一只羊(实际上会发生这种情况)。经济通胀)。

每个人都在考虑它。但此时,又有人提出了一个解决方案:这篇论文对任何人都无效。我们只认得是村里尊敬的老村长写的,老村长的话大家都知道。老村长写了一些纸,同时根据每家的黄金存量给你发同样数量的纸。比如,老朱家有200克黄金,老村长就送老张200张纸,上面写着“一克黄金”。纸,同时以朱老家的黄金作抵押。就这样,老村长把村里所有的金子都带回了家中,并按照每个家庭上交的金子数量,分发了等量的书写纸。此时,居民们可以把这种纸当金子来交易,老村长的话你们都认得,没有人能伪造。另外,如果有人的纸被严重腐蚀,还可以找老村长换换等值的新纸。此外,老村长还承诺,如果有人想换取真金,只要把纸带回来,老村长就会把等值的黄金还给那个人。因为老村长写的金子和家里实际放的金子是一样的,所以只要严格遵守销毁多少纸,写多少新纸的原则,每张有效纸条随时可以换取相应的真金。老村长的话,你们都认得,别人也不能伪造。另外,如果有人的纸被严重腐蚀,还可以找老村长换换等值的新纸。此外,老村长还承诺,如果有人想换取真金,只要把纸带回来,老村长就会把等值的黄金还给那个人。因为老村长写的金子和家里实际放的金子是一样的,所以只要严格遵守销毁多少纸,写多少新纸的原则,每张有效纸条随时可以换取相应的真金。老村长的话,你们都认得,别人也不能伪造。另外,如果有人的纸被严重腐蚀,还可以找老村长换换等值的新纸。此外,老村长还承诺,如果有人想换取真金,只要把纸带回来,老村长就会把等值的黄金还给那个人。因为老村长写的金子和家里实际放的金子是一样的,所以只要严格遵守销毁多少纸,写多少新纸的原则,每张有效纸条随时可以换取相应的真金。如果有人的纸被严重腐蚀,还可以找老村长换换等值的新纸。此外,老村长还承诺,如果有人想换取真金,只要把纸带回来,老村长就会把等值的黄金还给那个人。因为老村长写的金子和家里实际放的金子是一样的,所以只要严格遵守销毁多少纸,写多少新纸的原则,每张有效纸条随时可以换取相应的真金。如果有人的纸被严重腐蚀,还可以找老村长换换等值的新纸。此外,老村长还承诺,如果有人想换取真金,只要把纸带回来,老村长就会把等值的黄金还给那个人。因为老村长写的金子和家里实际放的金子是一样的,所以只要严格遵守销毁多少纸,写多少新纸的原则,每张有效纸条随时可以换取相应的真金。老村长承诺,如果有人想换取真金,只要把纸带回来,老村长就会把等值的黄金还给那个人。因为老村长写的金子和家里实际放的金子是一样的,所以只要严格遵守销毁多少纸,写多少新纸的原则,每张有效纸条随时可以换取相应的真金。老村长承诺,如果有人想换取真金,只要把纸带回来,老村长就会把等值的黄金还给那个人。因为老村长写的金子和家里实际放的金子是一样的,所以只要严格遵守销毁多少纸,写多少新纸的原则,每张有效纸条随时可以换取相应的真金。

此时,比特村进入了符号货币(纸币)时代。老村长兼任政府和建行的角色。

中央系统虚拟货币

几年后,老村长每天晚上都要核对大量的旧钞票,写新钞票,仔细记录各种账目。来回奔波后,老村长因为辛劳和不幸来到了鹤的西边。

比特村再次召开全体会议,商讨怎么办。这时,老村长的夫人二狗子主动接过母亲的笔,承担了发行货币的责任。这位年轻的市长二狗子很聪明。做了几天,他发现自己真的不需要写那么多论文了。这是完全可以的:村民把所有的钱都交出来销毁,但是二狗子会记录每户人家上交的钞票数量。如果以后要结账,比如老张想用一克黄金换老李换一只羊,他们会一起打电话给二狗子解释,老张名下的一克黄金要合并到老李的名字。,二狗子拿出账本,看看老张身上有没有一克黄金' s名,如果有,在老账户名下减去1克,在老李名下加1克,支付完成。老李在电话里看到二狗子确认汇款完成后,就放心老张会带羊离开。

此时,比特村已经进入了中心系统虚拟货币时代。每个居民不需要实物支付,支付过程会导致二狗子维护的账本上的数字发生变化。

分布式虚拟货币

这个新上任的二狗子很聪明,但有时这个人很聪明却被聪明人误会了。二哥子盯着这本账簿看了三天,心想全村家家户户的钱都是我说的,我不是……于是他脑子一热,私下借了十克黄金从老张的账户到自己的名字。

本以为天衣无缝,没想到老张也有记账的习惯。三天,他正要收钱,却被二狗子告知账户没钱了。老户口核对了他的账本,名字还有十克,于是拿着账本去找二狗子理论,这次核对发现汇款没有经过老张的同意。

意外事件!比特村爆炸了。二狗子的弹劾在所难免,但通过这件事,大家发现了账簿集中在一个人身上的弊端:

这个系统完全依赖于账簿持有人的个人信用,如果这个人不遵守规则,随意篡改账簿,整个货币体系就会崩溃

如果人家着火或者书籍被盗,也会给整个系统带来毁灭性的打击。

当人们不知所措时,村里一位名叫中本聪的宅男科学家上台告诉大家,他已经设计了一个不依赖任何中央处理器的虚拟货币系统,叫做比特币,可以解决上述问题。然后他慢慢地描述了他的计划。

让我们看看中本聪的朋友是如何设计这个系统的。

基础设施建设

账簿披露机制

中本聪首先表示,现有凭证应修改如下:

账簿不再记录每个家庭的余额,而只记录每笔交易。即记录每笔交易的付款人、收款人和付款金额。只要确定凭证的初始状态,并可靠、及时地记录每一笔交易,就可以推断出每个人当前持有的货币金额。

账簿已从私人更改为公开。只要有居民需要,就可以获得当前完整的代金券。账簿记录了从凭证创建到当前的所有交易记录。

此言一出,平底锅立马跟了上去。第一项无所谓,但第二项根本无法接受,因为所有居民交易的账簿和记录,所以你的隐私没有完全暴露。

中本聪没有慌张,拿出了一对奇怪的东西。

身份和签名机制(公钥加密)

中本聪说,不要惊慌。在他的机制下,没有人用他们的真实身份进行交易,而是用一个唯一的代码进行交易。

他将手中的神奇东西拿出来,说这两种东西叫做保密印章和印章扫描仪。之后,他会给村里的每家每户发放保密印章和印章扫描仪。两人的作用如下:

密印可以在纸上盖上印章,每张印章上盖的印章中都包含着全村唯一的一串字符,但肉眼是看不到的。也未能通过观察制作相应的邮票

邮票扫描仪可以扫描已经盖章的邮票,读取隐含信息,并在液晶屏上显示一串字符

有了这两件神奇的东西,每个人都可以在不暴露真实身份的情况下进行交易,而封印中包含的一串字符就是这个家族的代号。下面将简要介绍如何使用机密邮票和邮票扫描仪进行智能交易。

建立虚拟矿工组织(矿组)

接下来,中本聪为全村招募虚拟矿工。招聘要求如下:

矿工以群体为单位,一个群体可以是一个家庭,也可以是几个家庭合并为一个群体

成为矿工不影响币的正常使用

矿工每晚都会花费一定的时间从事比特币“挖矿”活动,但与铁矿石挖矿不同的是,虚拟矿工无需携带工具前往现场,在家即可完成工作

矿工有一定的获得报酬的可能性,在挖矿活动中投入的精力越多,获得报酬的可能性就越大

矿工可以随时退出,也可以随时添加新矿工

很快,大约五分之一的居民加入了比特币矿工群体,分为七组。

建立初始凭证(创世区块)

接下来,中本聪宣布,根据二狗子手中的凭证,所有抵押的黄金将按照凭证上记录的余额返还给每一位居民,然后账本将被彻底销毁。

然后,中本聪拿出一张新的凭证,在凭证的第一页记录了一些交易记录。尤其是这些记录的payer一栏都是“系统”,而payee则是每一个印章对应的隐藏字符代表初始时刻。系统默认为每户家庭分配一定数量的比特币,但数量很少,只有少数,甚至一些不幸的村户都没有拿到比特币。

然后中本聪表示,由于目前市场上的比特币非常少,可以回到以黄金为货币的时代。由于我不是市长,我无权强迫你承认比特币。你可以决定你想要什么。不接受比特币。但是,随着比特币的流动和矿工的活跃,比特币会逐渐增加。

支付和交易

做了这么多铺垫,终于进入正题。我们来谈谈如何在这样的系统下完成支付。以老张付给老李 10 个比特币为例。

付款人签署交易

为了支付10个比特币,老张首先需要询问老李的标识字符串,比如“ABCDEFG”,而老张还有一个标签字符串比如“HIJKLMN”,然后老张写了一个列表,内容是“ HILKLMN 向 ABCDEFG 支付了 10 个比特币”,然后用自己的秘印换了一个章节,将名单交给了老李。此外,为了方便追查资金来源,还需要在清单中标明资金来源记录在哪一页。比如在这个列表中,老张的 10 个比特币来自于构建证书时的系统,并记录在证书中。第一页。

收款人确认收款人签字

老李收到名单后,需要确认名单上确实是“HIJKLMN”这个人(也就是老张)签字的。这并不难。因为名单上肯定有保密印章,所以老李拿出印章扫描仪扫描了印章。如果液晶屏上显示的字符与付款人的字符一致(此处为“HIJKLMN”),则可以确认该列表确实是付款人签名。这是因为根据密印的机制,任何人都无法伪造。任何人扫描印章都可以确认付款人和签名人是否相同。

收款人确认付款人余额

这个系统还是太有问题了。通过保密印章,收款人可以确认付款人已在表格上签字,但无法自行确认付款人是否有足够的余额支付。在之前的中央虚拟货币系统中,二狗子负责检测付款人的余额,并通知收款人交易是否有效。现在二狗子开通了,单笔交易的有效性由谁来核算和确认?

正如我之前所说,中本聪设计的系统是分布式货币系统,不依赖任何中心人物,所以不会有任何人或少数人对此事负责,而上述矿工最终要为此负责工作。组织。老张、老李和村里其他任何使用比特币进行交易的居民都依赖矿工组织的工作来完成交易。

矿工的工作

矿工的工作是整个系统的核心,也是最复杂的地方。下面逐步介绍矿工的工作内容和目的。

矿工工具

俗话说,工欲善其事,必先利其器。比特币矿工实际上并不需要熨斗、铲子和头灯等工具,但他们确实有一些必需品。

初始凭证。每组首先自己复制一张初始凭证。初始凭证只有一页,记录了系统第一次附一张空的凭证纸。每组有几张凭证,每页只有凭证结构,不填写内容。具体内容的编写规则前面已经介绍过了。下面是一张空的凭证纸的样子。前面会提到每个数组的含义。

代码生成器(哈希函数)。中本聪向每组矿工分发了一些代码生成器。这件事太神奇了。将一张填有凭证页面的凭证纸装入机器,机器会在凭证纸上显示“账单号”。手动复制一列由“0”和“1”组成的一系列数字,共256个数字。最令人惊奇的是,数字生成器具有以下功能:

生成的数字只与凭证纸上填写的内容有关,与填写人、字体、填写时间等奖励无关。

相同内容的凭证纸生成的数字始终相同,但如果内容只改变一个字符,数字将完全无法识别。与传入的交易单据,特别是保密印章的一致性,如果发现保密印章与付款人不一致,将拒绝复制代码并将凭证纸的副本放入。机器将判断是否串行号码是有效的机器副本,并判断号码和内容是否一致,这个号码是很难伪造的

交易票收件箱。每个矿工组需要在旁边挂一个袋子,用来收集交易单。布告栏。每个矿工群也需要一个公告板来发布一些信息。

有了之前的工具,矿工组织就可以恢复工作了!

收集交易单

中本聪规定,每笔交易的发起人不仅要向收款人提供交易单据,还要复制多张相同的交易单据,并投递到各个矿工组的收件箱。

矿工团队的人定期去他们的收件箱收集交易清单并将其删除。

填写凭证

这时,小队拿出一张空的凭证纸,在“交易清单”一栏填写本次交易,同时找到当前凭证的最后一页,将最后一页的编号复制到“最后的账单号。” 列”。注意还有一个“幸运数字”,你可以随意填一个数字,比如12345。然后,把这样的凭证纸装入数字生成器,打印数字,一个凭证就完成了。

如果你认为矿工的工作就这么简单,那你就错了。中本聪有个变态规则:只有数字的前10位全为0,此页凭证纸才有效。

根据前面对号码生成器的描述,要改号码,只能改代金券的内容,“交易清单”和“最后的代金券号”不能随意改,只能改幸运号. 因此,为了生成有效的凭证纸,组内矿工不断地复制凭证纸,但每张纸的幸运数字不同,然后将凭证纸反复加载到编码器中。如果生成的数字不符合规定,则这块纸即使被丢弃,重复此过程,直到生成有效的数字串为止。

我们知道,如果数字的每个数字都是随机的,那么平均1000多张不同幸运数字的纸就能得到一个有效数字。

这很奇怪,为什么这些矿工要拼命做这种看似毫无意义的事情?记得我之前说过矿工是有报酬的,这就是矿工的动力。中本聪规定,每张凭证纸的交易清单中的第一笔交易是“系统向该组支付 50 个比特币”。也就是说,如果你生成了一个有意义的代金券,并且被所有矿组接受,就意味着交易被接受,你的矿组获得了 50 个比特币。

这就是为什么矿工被称为矿工,以及为什么之前说比特币的数量会随着交易和矿工活动而不断增加。比如下面是一个挖矿过程,该组的公众比特币账户是“UVWXYZ”。

当幸运数字达到“533”时,系统生成有效凭证页面。

确认凭证

当一个挖矿团队有幸生成有意义的证书时,为了获得奖励,它必须立即要求其他团队确认他们的工作。如前所述,该村目前有7个采矿组,因此该组必须抄录6份有效凭证纸,并将其发送给其他6个组进行确认。

中本聪规定,当一个群体收到另一个群体的代金券时,必须立即停止手头的挖矿工作以确认该代金券。

需要确认三个信息:

账簿编号有效,账簿上一页凭证有效,交易清单有效。

先看第一个,这个确认比较简单。只要将发送的凭证纸加载到代码生成器中进行验证,如果验证通过,则该号码有效。

第二部分需要将凭证页面上的“上一页凭证纸号”与本组当前保存的有效凭证的最后一页号进行比较。如果相同,请确认。是的,直到找到这个编号的页面。如果没有找到指定的“以前的凭证编号”页面,团队将丢弃该页面。还没有确定。

注意,前面的机制保证,如果各组手中的凭证纸相同,则可以按照相同的顺序绑定到同一张凭证中。因为上一张单的编号总是依赖于前一张的编号,所以代码生成器的机制保证了所有有效凭证单的相对顺序对于每一组都是相同的(可能有分支,但没有环,这将在后面详细讨论)。

最后,如何确认交易清单是否有效,其实就是确认当前单笔交易的付款人有足够的余额来付款。由于交易信息包括钱是如何来的比特币为什么不能伪造,它还包括记录源交易的帐单号。例如,HIJKLMN 想要给 ABCDEFG 10 个比特币,并表示这 10 个比特币来自 OPQRST 之前支付给 HIJKLMN 的一笔交易。确认时,首先确认之前的交易是否存在,同时还要检查HIJKLMN在此之前是否没有将那10个比特币支付给其他人。在这一切都被确认之后,交易的有效性得到确认。

第一个是系统奖励给产生这一页代金券的团队的50。你们都默认确认此交易。只要按照上述方法溯源,就可以确认HIJKLMN是否真的有10个比特币支付给ABCDEFG。

如果以上所有验证都完成并全部通过,则集团认可上述凭证的有效性,然后将此凭证分配到集团的主账簿,丢弃当前正在进行的工作,后续的挖矿工作将根据这本书。执行更新的主簿。