主页 > imtoken钱包怎么充值usdt > 究竟什么是区块链?一个故事告诉你比特币的原理和运行机制

究竟什么是区块链?一个故事告诉你比特币的原理和运行机制

imtoken钱包怎么充值usdt 2023-11-27 05:13:20

一个故事告诉你比特币是如何运作的

推荐:

人工智能:法国浪漫之都的人工智能时代

“花非花,物非物,AI怎么可能是池中之物(人工智能)”

“向我们的青春致敬”

图片可能会丢失,建议阅读原文

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

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

问题

让我们从比特币背后的动机开始。

Barter 的比特村

据说,在这个世界上,有一个小村庄,叫做比特村。村里有数百户人家。这个村庄几乎与世界其他地方隔绝,过着自给自足的生活。由于没有大规模的贸易,比特村的村民一直过着以物易物的生活,也就是说村民不使用统一的货币,相互的贸易基本上是老张家换了一袋老李家的面粉。为了一只羊,王太太用一篮野果换了刘太太的两尺布。村民们一直过着如此简单的生活。

实物货币

终于有一天,村民们觉得一直这样以物易物太不方便了,于是全村人开会讨论如何解决这个问题。有人提出,为了便于划分,黄金等稀有物品作为一般等价物,应将其他物品与黄金的对应关系编成表格,例如一克黄金对应一只羊,一克黄金对应一袋面粉等等,这时候老张再也不用提着一袋面粉气喘吁吁地跑到老李家了。他只需要从家里找到一克黄金,就可以去老李家取回一只羊,而老李拿着这个一克黄金可以换任何人愿意卖的一袋面粉,当然还有任何价值一克黄金的物品。

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

象征货币

好景不长,久而久之,实物货币的弊端也出现了。因为比特村附近的金矿不多,开采和冶炼黄金太费时费力。随着使用,黄金会因磨损、丢失或故意囤积而不断耗尽。全村人又坐在一起,开始商议对策。这时候有人说,其实不是每个人都非得用黄金。随便找一张纸写下“一克黄金”。只要全村人都同意这张纸等于一克黄金,问题就迎刃而解了。 其他人都同意了,但同时又出现了新的问题:真金需要开采和冶炼,金矿有限,开采和冶炼也需要成本,所以没有人可以凭空生产大量黄金在很短的时间内。写作不一样。现在,只要我有足够的纸和笔,我想写多少就写多少,那就变成纸太多的人的斗争,也许一万张纸就可以代替一只羊(实际上,这会导致经济问题。学术通胀)。

比特币挖矿赚钱原理

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

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

中枢系统虚拟货币

几年后,老村长不得不每天检查大量的旧钞票,写新钞票,仔细记录各种账目。来来回回,老村长劳累过度,不幸开车到了吊车的西边。

比特村再次召开股东大会,商讨怎么办。这时,老村长的儿子二狗子主动接过父亲的笔,承担了发币的责任。这位年轻的村长二狗子很聪明。他工作了几天,发现自己真的不需要写那么多论文。这是完全可以的:村民把纸币全部上交并销毁,但二狗子会记录每户人家上交的纸币数量。如果以后要还钱,比如老张想用一克黄金换老李换一只羊,他们会一起打电话给二狗子解释,老张名下的一克黄金要转给老李的名字。 ,二狗子拿出账本,看看老张名下有没有一克黄金。如果有,减去老张名下的1克,加上老李名下的1克,支付完成。这时候,老李在电话里听到二狗子确认转账已经完成,他就放心老张会带羊走了。

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

分布式虚拟货币

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

本以为天衣无缝,没想到老张也有记账的习惯。一天,他正要结账,却被二狗子告知账户没钱了。老张看了看账本,明明还有十克,就拿着账本去了二狗子理论。本次检查发现了未经老张批准的转账。

发生了什么!比特村爆炸了。二狗子被弹劾在所难免,但通过这件事,大家发现了账本集中在一个人手中的弊端:

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

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

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

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

基础设施建设

账簿披露机制

中本聪首先表示,现有账簿应进行如下改造:

比特币挖矿赚钱原理

账簿不再记录每个村民的余额,而只记录每一笔交易。即记录每笔交易的付款人、收款人和付款金额。只要确定了账本的初始状态,并且每笔交易都被可靠、有序地记录下来,就可以计算出每个人目前持有的货币数量。

账簿由私人改为公开。只要有村民需要,就可以获得完整的活期账簿。账簿记录了从账簿创建到当前的所有交易记录。

此言一出,平底锅立马掉了下去。第一项无所谓,但第二项根本无法接受,因为账本记录了所有村民的交易,所以每个人的隐私都没有完全暴露。

中本聪不慌不忙地拿出了一对奇怪的东西。

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

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

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

保密印章可以在纸上加盖印章。每个印章所盖的印章,都包含着全村独一无二的一串字符,但肉眼是无法看到的。也无法通过观察产生相应的印章。

Stamp Scanner 可以扫描已盖章的邮票,读取隐含的信息,并在 LCD 屏幕上显示一串字符。

有了这两个神奇的东西,每个人都可以在不暴露真实身份的情况下进行交易,而印章所隐含的一串字符就是家族的代号。下面将详细介绍如何巧妙地利用机密印章和印章扫描仪进行交易。

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

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

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

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

矿工每天都会花费一定的时间从事比特币“挖矿”活动,但与淘金不同的是,虚拟矿工不需要带着工具去外地,在家就能完成工作

矿工有一定的获得报酬的可能性,他们在挖矿活动中付出的努力越多,获得报酬的可能性就越大

矿工随时退出,随时新增矿工

比特币挖矿赚钱原理

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

创建初始账本(创世区块)

接下来,中本聪宣布,根据二狗子手中的账簿,将抵押的黄金全部按照账簿上记载的余额归还给每个村民,然后账簿将彻底销毁。

p>

然后,中本聪拿出一本新的账簿,在账簿的第一页记录了一些交易记录。特别是,这些记录的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。

如果以上所有验证都完成并全部通过,则该集团将上述账簿纸认定为有效比特币挖矿赚钱原理,然后将该账簿纸并入该集团的主账簿,丢弃当前正在进行的工作,并后续的挖矿工作将基于这个更新的主账本。