首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

几张趣味图带你透彻了解区块链是如何工作的?

几张趣味图带你透彻了解区块链是如何工作的?

区块链的游戏规则是必须有足够的人不想依靠第三方来进行交易。 多少人才算“足够多”呢?最少三个。



我们假设有十个玩家想放弃银行或任何第三方,经相互同意,他们在不知道对方身份的情况下,拥有对方账户的详细信息。至此,游戏开始。




一个空白账本



每个玩家都从一个空白账本开始,随着“游戏”的开始,每个玩家不断往这个空账本上记东西,交易越来越多,账本的页数也在不断增加。这个账本就是我们追踪交易纪录的“寄存器”。



当有交易发生时



系统中的每个玩家都拥有一个空白账本,每当有交易发生时,他们就将交易记录在账本上。



现在,假设2号玩家想给9号玩家转10块钱。为了进行交易,2号在系统里吼一声“大伙儿,我要给9号妹子转10块钱,你们快在账本上记一下”。




接下来,每个玩家就开始检查2号是否真的有10块钱转给9号,如果她真的有足够的钱,那么所有玩家都会在账本的空白页记下这笔转账。这样,一笔交易就算完成了。




交易继续



随着时间的流逝,系统里有越来越多的玩家需要转账给其他人。无论他们什么时候想转账,都只需要在系统里告诉所有玩家,只要有一个人听到了,他/她就会将这笔交易记在账本上。



记账继续,直到所有玩家将当前的空白页用完。假设一页账本能记十笔交易,当十笔交易完成时,那么这个页面就不能再继续记账。




这时候只需将这页记录保存到文件夹中,然后翻到下一个空白页,继续记账就行。



那页被翻过去的页面



当我们将记满10笔交易记录的页面翻过去之前,需要使用系统中每个玩家都同意的“神秘锁(密钥)”来将它密封起来。通过密封,能够确保一旦将这页记录的副本发放到每个玩家的文件夹中后,任何人都无法对它做出任何更改。一旦进入文件夹中,它将永远被密封在里面。“密封”是这个游戏的关键所在。



如何密封页面



在我们了解如何封印页面之前,先来看看“封印”的工作原理。



魔法机器



想象一下,有一台被厚厚的墙壁包围着的机器,如果你从机器左边发送一个包含着内容的盒子进去,在右边,它会吐出一个包含其他内容的盒子。




这台机器被称为“哈希函数”,但我们不必那么学术,所以就叫它魔法机器吧。



假设你从左边输入数字4,我们会发现它从右边吐出下面的单词:'dcbea'。






是如何将数字4转换成这个词的?没人知道。 但我们需要知道这是一个不可逆转的过程。 如果我们知道右边出来的词语是“dcbea”,是没法计算出从左边给机器输进了什么东西,但如果我们每次从左边给机器输进数字4,右边必然会出现词语“dcbea”。



让我们试试输进不同的数字,比如“26”。我们这次得到'94c8e'。有趣!




如果我问你下面这个问题:



你能告诉我应该从机器的左侧输进什么东西,以便我能从右侧得到以三个零开头的数字或单词?例如,000ab或00098或000fa或其他内容。




我之前说过,这个机器有一个奇怪的属性:如果我知道右边输出的东西,是没办法算出左边输进了什么东西的。有这样一台机器,怎么可能回答得出上面的问题呢?



我想到一个方法,逐一尝试每一个数字,直到我们得出以000开头的词语。或许经过数千次的尝试,我们能得到这样的结果。

返回列表