主页 > imtoken最新版app > 正宗科普比特币(中)

正宗科普比特币(中)

imtoken最新版app 2023-11-06 05:08:10

保持人群分类账的一致性

接下来我们看看如何让分散在世界各地的计算机节点保持一致的账户余额。

回到最初的理想模式,大家的记账流程如下:

也就是说,从一个空的账本开始,当每一笔交易产生的时候,大家同时把这笔交易追加到自己账本的同一行。 如果这种行为能够一直保持下去,那么每个人的余额,谁转了多少钱给谁,自然就会保持一致。

这种做法有点像我们小时候被老师口授:

一开始我们也分析过这种“听写”模式不能应用到计算机世界。 这里我们再回顾一下原因:

如果非要用“课堂课堂”模式来类比,比特币系统有点像奇怪的听力测试:

如果我们深思这个“怪异的考试”,我们一定会被它的难度“冲”的。 起初想到,我们或许可以指定某个人作为唯一的话语来源,但我们很难保证他的耳机里一直播放着话语。 为了保险起见,大家还是记录和流传的话比较好,找一些规则来保持笔记本内容的一致性。

那么我们需要静下心来想一想,阻碍我们“约定笔记本内容”的最大障碍是什么? 主要原因是同时产生和传递的词太多。 不管是背自己的还是抄别人的笔记,都会觉得很匆忙。 如果每个时间段只产生一个单词,那么大家就容易记住很多。

换句话说:只有降低词的生成速度,才更有可能让大家达成共识。 为了达到这个目的,我们可以先在考试系统中引入规则一:

比特币特征_比特币怎么比特币钱包_比特币分叉会影响比特币价格吗

原因也很简单:虽然每个人都可以快速背单词,但运气不会总是一样的。 在掷骰子的限制下比特币特征,单词生成会暂时变慢。 理想情况:

但是这样做有一个明显的问题:背单词的速度太慢,最终会影响总分。 为了解决这个问题,我们引入规则二:

那么收到别人的一整页文字后,短信的收件人应该怎么办呢? 我们介绍规则三:

有了三分法则,我们就可以在脑海中走一遍整个考试过程:

好吧,让我们说这样的东西有效。 但不可避免的是,在某个页面,突然A和B都连续掷出6,都开始在该页面上传播自己的内容。 很快,这两个答案就传遍了全班同学。 这时候大家要么有A的副本,要么有B的副本,要么都有,分歧就产生了。

在这种情况下,我们需要引入收件人验证答案的规则 4:

在这个规则下,每个人手中的答案不会有两个答案。 不管是A的份额还是B的份额,他们都会选择谁先拿到。

有了这个规矩,虽然每个个体的答案不会超过一个,但就集体而言,不可避免地会形成两个帮派。 他们在“最后一页是什么?”的问题上争论不休。

比特币分叉会影响比特币价格吗_比特币特征_比特币怎么比特币钱包

分成不同的帮派

比特币分叉会影响比特币价格吗_比特币特征_比特币怎么比特币钱包

为了避免这种情况,我们需要再次引入新的规则。

在介绍下一条规则之前,让我们抛开争议,继续从发展的角度来审视考试。 虽然团伙已经成立,但班里的每一位成员依然兴致勃勃地进行着“写字-掷骰子”的过程。 在某个时候,会产生一个新页面比特币特征,并且该页面的内容将像其他任何页面一样迅速在班级中传播。 当页面传播到另一个帮派时,我们的规则五开始发挥作用:

Rule 5其实悄悄引入了一个传递笔记的新约束:当大家传播笔记时,传播的根本不是某一页的内容,而是整个笔记本。 因为整本笔记本都没有播出,所以没办法对比之前的内容。

当然,这种传递答案的方式在你看来可能极其可笑:抄下别人的整本笔记本传递笔记似乎慢得可怜,把整个笔记本逐行比较也算辛苦。 这两个问题都不是无解的,后面我们会再回到这个问题上来。 这里,让我们暂时假设“通过整个笔记本”是可行的。 而且,我们还可以用“鸵鸟心态”说得更透彻一点:

有了规则五,就算班级暂时分成两帮,也不再是一件很头疼的事了。 所有的差异都是暂时的,不稳定的。 随着笔记页数的不断增加,必然有一方给出比其他一方更新的答案。 这个更多的答案会在传播过程中慢慢吞噬其他帮派,最终统一整个班级。 更进一步就是:大家可能在最近的一页或者几页的内容上会有不一致的地方,但是大家在一些比较高级的页面上基本都会保持一致。

如果把上面的“考试答题”过程映射回比特币系统,我们就可以大致知道比特币维护系统一致性的基本方法。

区块链

当我们引入“页数多者为胜”的规则时,为了保证其有效实施,我们要求全班同学在传播答案时将“整本笔记本”传播开来。 之所以这样做,是为了让大家在接受最大页面内容时,可以检查并维护之前内容的一致性。

还以100页的例子为例。 如果只传递新生成的页面101,接收者无法验证“自己的页面100”和“接收到的页面101之前的页面”的内容是否相同; “收到第99页”和“收到第101页前两页”的第99页内容是否相同; 等等,没有办法验证前面的每一页。 “整本笔记本”的传播从物理上保证了整个内容的连贯性和完整性,从而也为内容验证提供了强有力的保障。

那么,我们能否找到一种更快、更高效的方法来验证笔记本的内容呢?

比特币分叉会影响比特币价格吗_比特币怎么比特币钱包_比特币特征

答案是肯定的:只要我们能对课堂上产生的单词笔记的每一页进行唯一编号即可。 我们在描述一个页面的时候,不能只说“页面x”,而应该说“页面xxx由xxx出品”。 更准确的说,如果我们采用“学号+页码”的方式进行编码,就可以避免整个笔记内容的扩散。

例如,当X制作第101页时,或者当他收到别人新发来的第101页时,只需要将这一页的完整内容复制到一个便条中并传播出去; ,他只传播页码。

比特币分叉会影响比特币价格吗_比特币特征_比特币怎么比特币钱包

第 101 页的 X 传播

W收到X的纸条后,如果他的内容不少于101页:

值得强调的是,W和X页面的不一致一定是发生在W的末尾,也就是说两者的页面内容一定是从某个页面“分叉”出来的; 我们的协议中肯定不会出现交错的不一致。 原因我这里就不多说了,有兴趣的读者可以自行思考其中的原因。

比特币怎么比特币钱包_比特币分叉会影响比特币价格吗_比特币特征

分叉不一致与交错不一致

有了“页码”的概念,我们的笔记传播规则就可以进一步简化:每次只传播一个新的页面,其序言页也被写入该页的笔记中。 也就是说,每条注释的格式如下:

比特币分叉会影响比特币价格吗_比特币特征_比特币怎么比特币钱包

比特币怎么比特币钱包_比特币分叉会影响比特币价格吗_比特币特征

页面格式

接收方只需要顺着前一页形成的链“顺藤摸瓜”就可以解决冲突。

在比特币中,每个“区块”都记录了其前一个区块的编号,这样系统中的所有区块都连接到一条固定的链上,就像一本完整的笔记本。 这样的链称为区块链。 每个簿记员手中的账户可以对应系统中的某个链。 “最长链”是保持大家账户一致性的核心秘诀。

有了这个概念,我们就可以回答“A转账给B时,B如何确认收款”的问题了。 B不需要询问系统中的每一个节点(事实上,B也不可能询问每一个节点),他只需要耐心等待A向他发起的交易串在链的前端就可以了。 在比特币中,如果一个区块后面跟着五六个区块,交易就可以被确认。

数字摘要

在上一节中,我们为“考试模型”中的每篇笔记介绍了一个非常重要的概念:唯一的页码,也给出了“学号+页码”的简单编号规则。 在比特币系统中,每个区块确实有一个“唯一编号”,但其编号规则却大不相同——这些规则被称为“数字摘要”。

所谓“数字摘要(也叫数字指纹、密码散列)”就是这样一种技术:它能将一个给定的普通计算机文件迅速转换成固定长度的数字串(严格来说:16位数字串),这串数字被称为原始文档的数字摘要。 并且,这串数字满足三个属性:

无论两个文件的内容多么相似,它们生成的数字摘要都大不相同。 如果两个文件相同,那么它们的数字摘要也相同。 这个特性确保了一旦一个文件发生了非常细微的变化,我们可以通过它的摘要快速找到它。 而不是对源文件的内容进行完整的比较。 对于给定的文件,您很难创建一个与它具有相同数字摘要的新文件。 此功能可确保您无法随意伪造新文件来替换原始文件。 您不能构造两个文件,使它们具有相同的数字摘要。 这个特性保证了如果你在一个系统中不断地产生新的文件,你可以通过总结这个技术来给不同的文件“编号”。

比特币特征_比特币分叉会影响比特币价格吗_比特币怎么比特币钱包

数字文摘技术

比特币怎么比特币钱包_比特币分叉会影响比特币价格吗_比特币特征

数字摘要的这些属性,就像我们的指纹一样,证明了我们每份文件的独特品质。 如果我们从人的角度来看这三个属性,它们是:

即使你们是双胞胎,你们的指纹也不一样。 想要找到和自己指纹相同的人,几乎是不可能的。 想要从人群中抓到两个人,并且让他们的指纹一样,几乎是不可能的。

在比特币系统中,一个区块的“唯一编号”是其全部内容的数字化概括,之所以能做到这一点,是利用了属性3。

数字摘要的引入也为比特币账本带来了一个有趣的特性:修改链上任何区块中的任何内容必须附带纠正所有后续区块。 因为根据属性 1:

因此,如果簿记员想要更改某个分类账,并且还想保持分类账的有效性,则他必须对所有后续分录进行更改。 现在请大家默默记住这个不起眼的功能。 在后面引入一些其他的规则之后,这个特性将成为比特币系统不可破坏的最重要的基石。

简要总结

至此,在不考虑“拜占庭问题”的情况下,我们构建了一个基本的方法来保证各个节点的账本是一致的:

收到交易后,验证交易的合法性。 将多个交易打包成一个区块,掷骰到合适的数字后广播区块,从而减少冲突。 收到别人发来的区块后,接受合法的区块并继续广播,以加速区块在系统中的传播。 对于相同深度的块,只接受先到达的块。当接受深度更大的块时,顺藤摸瓜检测前一个块,当有冲突时丢弃自己的份额。 为了支持5个,每个块都用数字摘要编号,每个块内部记录自己的前导码块

上图:比特币正宗科普(上)

下一篇:比特币正宗科普(下)