主页 > imtoken安卓官网 > 写给文科生:用图像隐喻来说明比特币和区块链的原理和思想

写给文科生:用图像隐喻来说明比特币和区块链的原理和思想

imtoken安卓官网 2023-03-09 05:52:15

本文旨在让除了互联网以外对计算机一窍不通的文科学生能够逻辑地理解比特币和区块链的思想。本文不使用 utxo、哈希数、公钥密钥、工作量证明 pow 等比特币术语。一切都以类比来解释。不过,还是需要读者有很强的好奇心,因为比特币的整个逻辑链长达25000英里,环环相扣,连绵不断。如果没有足够的好奇心或咖啡因,恐怕这篇文章只能用来帮助睡眠。当然,助眠也是一种美德。好吧,让我们言归正传。

比特币和区块链的设计目的是在进行电子商务交易时完成可靠的支付,例如淘宝拉草、地铁刷卡进站。但是有一个前提,不要通过银行或者支付宝。比特币的思想认为银行不好,支付宝不好,第三方权威都不好。因此,比特币所指的支付是一种在线支付,在没有银行存在的情况下,只有支付者在网络中喊“我支付了”才能完成。

这个想法被称为“去中心化”。 “去中心化”是比特币和区块链的根本追求。可以说,整个设计思路是基于“去中心化”。 (本文不解释“去中心化”的好处,请自学)

用真钱支付时,支付的本质是一个转账过程。一块毛爷爷被张寡妇交给了老王。无需第三方参与支付。张寡妇肯定亏了100块钱,老王肯定赚了100块钱。由于交付是一个物理上可靠的过程如何将比特币存在自己的电脑里,因此付款是安全可靠的。

但电商支付不同,其本质是一个账户扣减的过程。如果张寡妇给老王发了100元的微信红包,微信团队将从张寡妇的账户中扣除100元,并在老王的账户中增加100元。正是因为微信团队和银行等第三方在技术上可靠、可雇佣,我们才认为电子支付是可靠的。所以,问题来了,放弃这样一个权威的第三方(去中心化)。让张寡妇和老王自己加减自己的账,既是司机又是交警。他们如何确保付款可靠?这就是比特币和区块链的设计初衷。

为保证付款可靠,我们只需要确认两件事:

一件事是付款意图。也就是说,确认给老王的100块钱是张寡妇自己发起的,不是别人的伪装。

另一件事是负担能力。那是为了确认张寡妇手里确实还有至少100块钱。

只要以上两点都得到确认,就可以可靠地进行付款。下面我们来看看比特币系统是如何做到的。

比特币系统通过数字签名保证支付意图的确认。数字签名到底是什么鬼?文科生看不懂。所以我们用一个类比来说明数字签名。

在比特币世界中,付款是通过签发支票来完成的。张寡妇给了老王100元,表示她签了一张支票,上面写着“我张寡妇给老王一百元”。该检查将在比特币网络中公开(广播)。网络中的所有用户都是平等的见证人,迟早会收到通知。现在,他们想知道这张支票是不是真的来自张寡妇。比特币系统提供的解决方案是这样的,请看数字签名的类比。

如何将比特币存在自己的电脑里

每个用户在开户时都会获得两瓶自己的药水(密码)。一瓶药水用于隐藏笔迹,并由用户私下保存。另一种药水是用来复制字迹的,它是公开的,人人都可以使用,所有人都知道它的主人是谁。使用者的隐形药水和可见药水严格对应。 A的隐身药水只能显示被A自己的隐身药水隐藏的字迹,不能显示被别人的隐身药水隐藏的字迹。

那么你如何使用这个工具呢?张寡妇在一张纸的前半部分写下“张寡妇给老王100”。在页面的后半部分,我必须写同样的文字“张寡妇给法老100”。然后,她用她隐藏的隐形药水使页面后半部分的句子不可见(加密)。所以论文的上半部分是可读的,而下半部分是秘密的。

此检查将被广播。网友看到后,前半部分写着张寡妇,后半部分被涂掉了。如何?简单的!张寡妇的显灵药不是公开的吗?用它。只要后半页的字能显露(解密),就说明这张支票只能来自张寡妇。否则,肯定是另一个寡妇冒充张寡妇。付款意向确认已完成。

相信有些文科生会在这里问,这并不能证实支付意向的真实性,因为用户隐藏的隐形药水有可能被别人盗取(密码被盗), 或者用户在胁迫下发起其他人支付。但是很抱歉,这不是系统问题,而是用户个人问题。该系统提供了一个逻辑严密的认证方案。但用户有责任保护自己的密码并让自己处于安全的环境中。

这里解释了如何确认付款意图。显然,不可能用别人的名字写支票。

接下来,我们需要确认支付能力。也就是说,张寡妇真的有100块钱要付给老王吗?

任何支付能力的确认都必须通过“账户审核”。如果有银行,则总帐存储在银行数据库中。但是,比特币需要去中心化,不需要银行。那么总账在哪里呢?

答案是“分布式账本”,比特币的账本,每人一份,存在于每个用户的电脑上。同样,每个用户,用一只手,将互联网上最新的支付广播添加到他的计算机上的总账中,而不需要睡觉。因此,随着交易的不断发生,每台计算机上的账本也在不断的增长,这就是所谓的“分布式记账”。

实际上,比特币系统将银行数据库的账户管理功能平等地委托给每个用户。这是由用户计算机中的比特币程序自动完成的。

不难~我也能想到!文科生是图森的典范。想清楚,既然个人有总账,个人可以记账,那张三和李四的账本不一样怎么办?毕竟账本在个人电脑上,很容易出错,还有造假的机会!在这种情况下,你会听谁的?

如何将比特币存在自己的电脑里

分布式记账的特点是用户彼此平等,无需信任。所以它必须设计一种机制,让用户只要在互不信任的环境中遵循一些相同的规则(共识),就能得到可信的结果。

所以我们不得不拆解比特币的分布式记账思想,细细咀嚼。

比特币系统的账本是这样设计的:

许多支票都存放在文件柜中。文件柜从旧到新依次连接,形成一条长长的链条。

链条会越来越长:最新的文件柜来了,里面装满了最新的支票。它将连接到链条的最后一个(绕组)。只有在链上,这个柜子里的支票才算有效,即支付成功。

刷新你的英语。在比特币系统中,这些文件柜被称为blocks,意思是数据块,但一般翻译为“块”。由“块”组成的链自然就是区块链,“区块链”。

这就是传说中的区块链。事实上,它只是比特币系统采用的账本结构,同时也是账本的增长方式。在这一点上,不明白为什么,只知道:就是这样,就是这样。

那么让我们看看,在这种会计模式下,谁来做什么?不太复杂:几乎每个用户都在做同样的事情。

用户的计算机中已经安装了区块链,文件柜中加载了历史支付信息。用户将收听网络上的广播。听到某张支票(如“A付N元给B”)后如何将比特币存在自己的电脑里,用手中的区块链检查确认。然后将它与许多其他检查一起加载到一个新块中。最终,用户将希望将这个新文件柜连接到他们自己的区块链(链上)的背面。请注意,新文件柜和区块链都在用户自己的计算机上。

然而,邓邓邓,这是敲黑板划重点的地方:

如何将比特币存在自己的电脑里

新的文件柜能不能上链,不是由用户决定的!谁说了算?命运!手动遮住脸。然而,这不只是一个玩笑,它是整个比特币设计中最严重的地方!你不能在你的电脑上做任何你想做的事。

让我们用一个比喻来解释命运是如何运作的。在每个文件柜中,都有一个随机数,可以在上面填充债券的数量。在比特币系统中,每个用户都是会算命的算命先生。我们知道,链条是一堆“数字”,而最新的文件柜也是一堆“数字”连同它的亲和力。我们将链条和最新的文件柜视为一对。用户可以根据夫妻的“数”来计算他们是否“有缘”。如果没有机会,你会讨厌长链,最新的文件柜一定不能“上链”。咳咳,我没开车。

但是,不上链不代表就没有机会。事实上,连接的数量为您提供了无限的机会。您可以找到与您的命运相匹配的正确号码!不幸的是,这些算命先生不是很好。他们只会算命,却没有能力去算算命应该是多少。所以,如果用户想把文件柜上链,只能从0开始,每次加1,尝试一个一个计算。

这是一种幸运。经过无数次详尽的尝试后,偶尔会有人提醒他们,他们的关系很好。恭喜!这个文件块准备上链了,真是尴尬。张清芳和优可李霖的婚事,忽然在他耳边响起。用户看着他拉开大文件柜,给自己套上链子,心里松了口气~我真的不会开车……

问题是,把它弄得这么复杂有意思吗?有趣的是,区块链的链结构不依赖于序号,而是依赖于缘分的关系。用户可以在自己的电脑上伪造区块链支票,篡改区块链上的文件柜。他们似乎可以肆无忌惮地行事。但实际上,一旦你改变它,文件柜和链条的关系就改变了。链结构被破坏(不是链)。上链是比特币系统中最困难的事情。即便是在自己的电脑上,为了将一个文件柜连接到区块链上,用户也不得不付出巨大的工作量来满足命运的关系,反复用尽寻找那个隶属编号。没有办法避免!

想象一个由 100 人组成的网络,机会均等。现在分成两个阵营,你们 1 对 99 的竞争者。每个用户都在寻找他们的文件柜在链上的连接数。哪个派系更有可能先计算?当然是99人队。简而言之,一个人多的营地有更好的机会。数量上的差异越大,机会的差异就越大。个人想要比整个网络更早地计算出关系的数量, 机会总是存在的,但是非常渺茫。

计算关系数意味着区块链有另一个部分。先计算关系数的人,他的区块链增长速度比别人快。

现在我们终于可以回到我们之前面临的问题了:每个人都有一个总账,每个人都有一个总账。彼此之间没有信任,审计账目时听谁的?采用什么机制达成共识?

比特币系统的答案很简单:最长链原理。以网络上最长的区块链为准。以长寿为美是共识。

这句话使程序像这样自动运行:用户总是在监控网络中是否有其他比他们自己更长的区块链。每当找到它时,将其复制并替换您自己的短链。接下来用这条链查账,当然新的文件柜也接在这条链的后面。如果你先找到关系数,那么你的链+1成为全网最长的,全网复制你自己的链。当然,这种可能性非常渺茫。一个更常见的情况是你没有找到关系的数量,并且网络上已经有+1个区块链。所以它被复制过来替换它自己的链。上面的整个过程一遍又一遍地重复。

如何将比特币存在自己的电脑里

你不能完全理解吗?这很正常,以一个好人的方式看待区块链是非常吃力的。现在我们要跟着张寡妇做坏人,看看如果张寡妇要造假账本会怎样。

第一种情况,张寡妇没有100元,但她向老王广播了一张100元的支票。但其他用户查看了旧账户,发现张寡妇无法支付足够的钱,因此拒绝将支票存入最新的文件柜。支付失败。这里不需要最长链原理,但是说明要作弊,不能伪造当前支票,只能修改旧账户。也就是去已经上传到链上的文件柜去修改。

第二种情况,现在最长的链条上一共有20个文件柜,大家都在忙着收拾第21个。张寡妇不久前向老王广播了一张100元的支票。这张支票是有效的,存放在链条上的第 20 个文件柜中。现在张寡妇要删除支票,相当于从老王那里拿回了100块钱。

于是张寡妇断网,在电脑上手动修改了区块链,并删除了20号文件柜中的支票。这样做,她打破了20号文件柜与前19个链接的关系。链。她的区块链中只剩下 19 个部分。

然后张寡妇不得不重新计算20号柜的债券数量,费了好长时间终于把它重新上链了。张寡妇的区块链还有 20 个部分。但这还不够。因为要让网络接受自己的账本,它必须是最长的区块链。于是,张寡妇花了很多时间计算21号档案柜的结婚人数。

当张寡妇终于有了21条链时,她再次上线播放了她最长的链。然而,她的心情却被打破了,因为她发现网络上最长的区块链已经达到了数万节。这一点也不奇怪。在她数着结婚数的同时,数以千万计的互联网用户也在疯狂地数着。每次张寡妇试一个号码,网上都试了几千万个不同的号码。太慢了,她的区块链永远赶不上网络上最长的。她想把那100块钱拿回来,可她什么也做不了,只能找老王当面商量。

假设张寡妇要删除的支票不是在 20 号柜子,而是在 17 号柜子,对她来说更糟。因为她破坏了从17号柜开始所有的缘分。链子要一一重新计算,重新计算每个柜子的键数17、18、19、20 当然结果是一样的,PC上的区块链会远远落后于网络上最长的链。

我们发现任何修改过的区块链都无法赶上网络上最长的链。也就是说,对账本的任何修改都不会被确认。

这是最长链原理。这让坏人绝望。

逻辑链太长,是时候关闭它了。我们之前的问题是,在收到“张寡妇给老王100块钱”这样的支票广播后,如何确认张寡妇有支付能力。

如何将比特币存在自己的电脑里

确认支付能力只不过是检查帐户的问题。现在我们可以放心,比特币系统的账本保存在区块链上。网络上最长的区块链是不法分子无法触及的。只要我们信任最长的链,我们就可以轻松查看寡妇的旧账户,看看她名下是否有足够的比特币支付给老王。

糟糕,让比特币系统处理付款需要花费大量精力。用户不能以虚假名义开支票,用户也不能开超出自己财力的支票。没有银行,但它和银行一样好。比特币实现了去中心化支付的理想。

如果你理解了上面的类比,文科生可能也会感叹,比特币和区块链并不神秘,也不是特别深奥,而是异常的精确和复杂。

我们经常看到比特币和区块链不是一回事的说法。比特币只是区块链技术的一种应用。区块链技术还可以应用于更多领域。相信坚持读到这里的文科生也能明白这句话的意思。

区块链实现了历史数据公开透明、无处不在、不可篡改的功能。历史不再保存在档案中,而是保存在每个用户的硬盘中。每个用户都在记录现在,让历史继续,但不能触及过去。档案很容易改书或烧毁,但要更改区块链或烧毁网络上的所有硬盘则要困难得多。历史不再是一个会打扮的小女孩。

文末送礼:对智能合约的理解

支票的本质是一个承诺。区块链可以保证做出的承诺不会被收回。从承诺的角度来看,区块链的应用范围得到了扩展,比如“智能合约”。

智能合约实际上是存储在区块链中的程序。举个简单的例子,村长告诉张寡妇,50元先到账,三天后给。张寡妇没有让村长写借条。却让他广播了一个智能合约:“三天后,我会以村长的名义给张寡妇写一张50元的支票。”三天后,村长忘记了,但系统会自动从村长的账户里给张寡妇开一张50元的支票。不能后悔不能撤消。

一个真实的例子是在某个国家的国际机场退税。游客经常抱怨退税公司在用户信息齐全的情况下千方百计拖延退税、扣税、增加手续费等。所以机场决定将退税流程广播到区块链上。只要游客提供所有合法材料,程序就会自动从机场账户向用户账户支付相应的退税金额。

对于这样的自动退税,区块链当然不是必需的。也可以使用传统程序来完成。但是区块链中的程序是人人都可以看到的,很容易查到花样。它不能改变。一旦具备条件,就必须落实:国家的退税精神可以延续,不受第三方退税公司的操纵。此外,即使机场电脑系统出现故障,任何个人电脑或手机都可以独立完成退税手续的执行。这些优势是传统程序所不具备的。

向看到这一切的文科学生致敬!向沉睡的文科学生说好梦!