区块链漫游指南
没有人会想到,这个沉默了多年的blog居然还活着,更没有人会想到,它居然还更新了。。。
也没有啥起因,一切都很随意。我最近在学习一些区块链相关的技术,看到这篇文章感觉不错,正好也在提升英语,于是就打算给他翻译出来。那既然都已经翻译了,不如就发表出来吧。
英文原文在这里,如果英文不错的话,还是建议直接看原文,他有很多“银河系漫游指南”相关的梗,很难翻译出来(主要是我也不太懂这些梗),哈哈!
=========开始的分割线=========
本文要讨论的是:区块链、加密货币、智能合约、Web3 以及 NFT(非同质化交易),对这些概念,很多人都有自己的认知,但很少人理解它们的本质以及相互的关系。你正在读的这篇文章的目标,是对这些概念以及背后的技术和实现做一个结构化的介绍。本文以三部曲的形式,分成了5个部分(这是一个梗)。
现如今,IT、数字化、经济、民主和社会相关的很多问题,都被认为可以用基于区块链的方案来解决。但和很多其他领域一样,这里也充斥着各类思想家、淘金者、白嫖党、江湖骗子和末日先知,导致鱼龙混杂。
这一系列文章,目的是以一种易于阅读的方式,为菜鸟和老手提供可靠的洞见。重点是–在这个复杂的、纠缠不清的主题中尽可能–透明地、实质性地、有条理地展示其中的利害关系。本文会以尽量幽默的方式来给大家加深印象。
此鸿篇巨著会分为以下五个层次:
- 区块链本身,一种透明、持久化地存储数据的方法(本文);
- 建立在区块链之上的以比特币和以太坊为例的加密货币,这已经被誉为金融系统的革命了(在即将发表的文章中);以及
- 智能合约,作为有条件地加密货币交易的代表,被认为简化了在线合同的创建和执行(在即将发表的文章中)。智能合约也被用于创建:
- 非同质化代币(NFT),数字艺术品将彻底改变艺术家的支付形式、艺术品贸易和版权(在即将发表的文章中);以及
- 互联网民主化的承诺,被称为Web 3.0或Web3,也是分布式自治组织的基础(DAO;在即将发表的文章中)。
这五层中的每一层,都将先分四节呈现事实和客观分析,另外两节将是一些个人见解和家庭作业。由于比较复杂,这个也不是绝对的:
- 这个技术背后有哪些希望和承诺,以及它们旨在解决什么问题。
- 对实际技术内部原理的简介,以及其可能性和局限性。
- 基于区块链的解决方案是此问题的唯一解吗?如果不是,又有哪些备选方案和替代方案?
- 承诺背后的现实是什么?
- 基于上述分析,对该技术的主观评估。
- 在投资(资金或技术上)之前,需要问自己或专家的问题清单。
准备好了吗?玩了各种我也不知道啥意思的梗之后,让我们开始吧!
第一站:基础层,区块链本身。
- 区块链的倡导者痛批当前经济体制的贪婪、低效、不透明和过度复杂。然而,这些倡导者努力建立的目标却是一个新的贪婪、效率、不透明和过度复杂性的数字化体制。
- 每当有人问我,与没有区块链的方案相比,基于区块链的技术有什么看得见的好处吗?我要么是避而不谈,要么给出的答案会前后矛盾。
尽管如此,整个领域应该有更多的洞察。区块链生态系统提出了几个重要问题,这些问题的答案与我们社会的未来以及我们与技术的互动都息息相关。十几年来,“区块链”一词在Buzzword Charts中得分很高。仅凭这点就足以成为深入分析和理解这一现象的理由了。
第一部分: 区块链自身
- “足够先进的技术与魔法是无法区分的“,但如果某些技术被作为魔法在卖弄,那就该问一下此技术是真的有真材实料,还是它只能进行声光电的魔法表演了(换句话说:如果事情看起来好得令人难以置信,它往往是真的)。
- “如果您将区块链加到垃圾流程中,那你会得到一个垃圾区块链流程”。(换句话说:即使你买到了先进的技术和人才,好的解决方案也不一定会自动出现,如果这些技术带来了新的复杂性和低效率,就更不会了)。
- 仅仅是一个好主意并不能自动成为好的解决方案的一部分。(换句话说:即使是锤子也应该结识其他朋友,而不仅仅是钉子)。
- 信任确实可以提高效率并降低复杂性。但区块链的解决方案并不需要以任何形式的信任为前提,但代价是更低效率和更高的复杂性。(换句话说:复杂性是安全、透明度、效率和信任的敌人)。
这不是“管理者摘要”,而是“非经理人”(或非决策者)的摘要,因为我认为,当面临一项被认为是革命性的技术时,决策者尤其需要了解更多细节,以便他们可以区分这是昙花一现还是有真的好处。
区块链是为解决一个非常具体但特别复杂的问题而创建的:建立一种相当于纸币的数字货币,可以防止伪造,并保持匿名性。对于这个问题,直接使用区块链可能是一个很好的解决方案。但对于大多数其他场景来说,就会是大规模的过度工程,因为即使是对前提条件做微小改变也会带来更有效的解决方案。但要知晓和理解这些因素,就需要更深入地了解,这正是本文的目标所在。
在创作过程中,本文变得比原计划的还要庞大。幸好它在可读性和可理解性方面也有所提高了。换句话说,它本是以高管和决策者为目标受众而写的,但加入了许多令人难忘的类比和与现实世界的理解,也更适合作为茶余饭后的谈资了。
我认为本文做到了:您可以随时回来浏览某个段落,并在遗忘了某些内容时回头查看。章节中经常会有大字体、高亮的概述语,来帮助此类读者定位内容。
区块链,以及比特币,出现于2008年金融危机的高峰期,作为对银行在这场危机中的作用的制衡。银行先是利用不透明的金融产品从不良抵押贷款风险中获利,然后由于其系统相关性(“大而不能倒”),消耗了大量的救助资金。因此,对中央组织(银行、州政府等)的透明度和独立性的渴望是贯穿区块链生态系统各个层面的主旋律。
这个概念带有加密无政府主义和无政府资本主义的特征,即希望避免信任任何组织和机构,尤其不信任国家机构。只有程序(“代码即法律”)或自由的(即不受监管的)市场才值得信任。这种特征贯穿各个层面,尤其在加密货币和智能合约中最为明显。
目录(略,其实是我不知道怎么做)
愿景:
由于区块链和比特币是同一时代的产物,所以区块链一词有时也被口语化,指代基于它的应用(如加密货币、智能合同等)和整个生态。我先澄清一下这几个概念。
区块链具有(或应该具有)以下四到六个要素(还未有统一的定论):
Wikipedia | Christian Cachin/IBM | MoreThanDigital | |
链 | 分布式账本 | 数据完整性 | |
去中心化存储 | 密码学 | 可靠性 | |
共识 | 分布式共识 | 快速存储 | |
数据处理 security | 业务流程 | 可分析、透明 | |
透明、保密 | — | — | |
不可篡改 | — | — |
让我们以克里斯蒂安·卡钦 (Christian Cachin)的四要素为例来进行阐述:
- 一个记录了所有历史交易的不可篡改的分布式账本。
- 用密码学来确保会计的完整性和交易的真实性。
- 关于账本内容和交易有效性形成分布式、可容错的共识:区块链上的所有参与者都应该能对最终状态(例如账户余额)达成一致,即使不是所有参与者都随时在线。
- 业务流程(“业务逻辑”),旨在确保交易的有效性并执行它们(帐户管理、智能合同……)。这个领域会放到后续的两篇文章里具体展开。
这非常的抽象,尤其是这里并没有说明区块链要实现的确切目标。由于本文旨在解构这个复杂的问题,我们需要先回答一个问题:人们到底想使用这些功能来做什么?因此,让我们看看典型的“区块链的10大典型应用”,然后以此来说明其中的好处:
- 国际金融交易:数据一致性、放篡改、跳过所有中介→更低的交易成本和更快的交易速度。
- 医疗保健:在分布式网络允许存储敏感数据:患者记录、医疗结果和临床病史。仅能由所有者授权的用户才可访问。
- 身份管理:身份证件可以安全地数字化,永不丢失且更快更安全。
- 防止洗钱:透明度、记录保存和归因。
- 保险:创建智能合约,用于保险理赔和欺诈检测。
- 供应链管理:更简单的合同,可持续地跟踪物流,透明化地记录从原产地到商店的全链路。更快/更简单/更便宜的查询。
- 租车市场:访问权和所有权的控制、车辆自动租赁+账单、安全计费,即使是电动车也适用。
- 能源市场:处理可变、可跟踪的交易(私电并网)、充电站的计费/付款。
- 数字选举:无法被操纵,每张选票可跟踪。
- 学位证书:颁发国际公认的不能伪造的学位和学历证书
这些主题涵盖了广泛的领域,从区块链本身到加密货币和智能合约。如果这能解决现代社会中这么多悬而未决的问题,那就太好了。然而这些在过去的14年里并没有真正发生,所以一切还没那么简单。
在接下来的(很详细的)技术章节中,让我们先看看用于解决上述挑战的技术和特性,然后再在现实中加以应用。由于我们在这里专注于区块链本身,我们将在本文末尾讨论数据一致性/反篡改、防丢失、透明/记录和(部分)归因/可追溯性/伪造等主题。在奠定必要的基石后,我们将在后续文章中更详细地展开其余的要点。
技术:
即使是最简单的部分,即区块链,就已经相当复杂了。在我们深入研究之前,先看这个基于比特币的概述。
比特币的区块链由一连串的区块(上图中的“Chain”)组成,会随着时间而增长(在某些特定场景下也可以分叉,后面会提到)。
目前,比特币区块链已经约有73万个区块(译者注:2022年4月是73万个块,翻译时的2022年12月,已经有76万个区块了),并且,约10分钟就会新增一个新的区块。每个区块都包含了一组交易。整个事情由构建系统的计算机(节点)共同管理,实际上每个人都可以参与其中(无需特别授权)。
为了了解其中的相互作用,让我们分几个小步骤来分析它,这些步骤一起构成了本技术章节的小目录:
- 区块链的结构和功能
- 如何在没有值班人的情况下新增一个区块(共识)?
- 节点之间如何沟通(P2P网络)
- 人们为什么会自觉这样做(激励)?
- 一个有效的区块是如何产生的(挖矿和工作量证明PoW)
- 还能如何解决(权益证明和朋友证明)?
接下来是小结,以便你可以看到森林的所有树木(译者注:总揽全局)。
在我们分析区块链之前,让我们以“用纸张的办公室”来类比。我们将看到无政府的会计师(或公证人)存了很多防篡改的活页。
类比:公证人的办公室
让我们以现实世界的类比来开始对区块链技术的介绍:无政府的会计和公证办公室(作为初级公证人,他们最初只被允许处理小额金融资产。在后面的章节中,他们也将被允许对合同和有形资产的转让进行公证。这就是为什么我们现在就称他们为“公证人”,尽管目前他们只是记账而已)。
出于效率原因,几位公证人分担了这项工作。现在,大部头的账本已被废弃,取而代之的是使用活页(无论如何,在公证人中这更受欢迎)。所以,在第一天,负责任的公证人填写完了交易表,并盖章确认了。
第二天,值班公证人重复了同样的程序。但是,为了以后没有人可以将前一天的表格换掉,他今天的表格中包括前一天黄色表格的缩减副本。他像往常一样在晚上下班前盖了公章,以确认其准确性。
第三天,第三名公证人重复该过程。还是在晚上下班前,在他的交易表上盖章,也附上了前一天表格的缩减副本,在该副本上,也可以看到前天的缩减副本,以此类推。
继续这个过程,公证员们以协助的方式生成了一个共同的文件链。在这个链条中,是无法在不修改后续表格的情况下,修改掉以前的表格内容的。因为这肯定会背发现。
但协调公证员的权利和义务,是需要以信任和权威为基础和前提的。下面我们会讨论如何在没有事先共识的情况下解决纸质区块链的信任问题(从而信任任何人),因为这也是数字区块链的密码学基础。
简单起见,截止目前我们的初级公证员都是有固定的排班表的,他们都有各自的休息时间,因此对谁负责哪一天的记账工作是没有冲突的。但随着我们越来越接近了解真正的区块链,这种情况将会发生改变。
数字版的区块链
让我们切换到数字版区块链,比如比特币使用的区块链就是这样。它的工作原理与上面的活页表格非常相似:每个区块都包含了一个交易列表,有人负责验证交易的真实性,这个人就是“区块的创造者”;在加密货币中,他们也被称为“矿工”。
每个区块都会计算校验和(即所谓的“哈希值”),然后将前一个区块的校验和存储在当前区块中,类似于上面公证表中前一天的缩减副本。这就意味着,新的区块不可撤销地与其前一个区块绑定了,也就间接(或传递)地与所有的祖先区块绑定了。
为了加深印象,让我们稍微调整一下我们的乐高积木:不同于常规的乐高(块与块之间都可以匹配),新的积木每个块顶部的点都构成一个独特的图案(对应于其独特的哈希),上面的块必须有匹配的图案才能叠上去(就像事锁和钥匙一样)。
哈希函数的特点是,即使世界上所有的计算机在数十亿年内不做任何其他事情,他们也无法找到具有相同哈希值的第二个区块。最终的结果是,我们有一个存储在当前区块中的前一个区块的缩减副本。一般一个区块所占据的空间是1-2MB,而哈希只用了32个字节,大约少了5万倍。
(作为对比,在纸质版的比喻中,仍有可能直接从缩减副本中读出所有细节,但仅从哈希值中不可能读出前一区块的任何内容。但纸质副本和哈希的实际目的–对先前区块的唯一识别–在这两种情况下都完全得到了满足)。
通缉:无值班公证人名册
此前我们的公证员都有一个明确的值班表。每一天,都正好有一个人负责保管账本。账本是由双方同意或由他们的老板指派而产生的。但比特币是加密无政府主义和对中央权力机构在金融危机中的行为感到愤怒的产物;因此,这里必须没有任何形式的“监督者角色”!这就是比特币。无论老板在提高协调效率和创建规则方面有多大作用,但在某些时候,老板也可能会滥用他们的权力,而系统内将没有任何机制来阻止它。
在现实世界中,确实存在罢免“滥用职权或腐败的上级”的机制,但这种罢免往往是耗时耗力的。现实世界中用以预防此事的机制包括诚实、同情和信任。这些进化的优势可以导致避免出现这种情况或迅速补救。然而,这些都需要定期互动,因此不能扩展到80亿人。而且,无论如何,它们都不符合加密无政府主义的世界观,根据这种世界观,人们不希望让自己依赖任何人。
这就只剩下公证员之间的相互协商这一条路,即上述的共识。然而,我们不仅没有了制定值班表的老板,我们也没有来雇用公证员的老板,或者在某个公证员喜欢在预定的工作日去钓鱼的时候叫他们回来。
这意味着,我们需要一个必须应对不断变化的公证员人数的系统,他们都不想参加入职测试,也不想事先宣布他们的存在或缺席。最纯粹的混乱,或者,稍微好一点,一个自我组织的系统。
人类群体远不如鱼群那么同质化;因此,几乎没有十几个人以上的自组织群体。因此,对于更大的群体来说,迟早会出现分工结构。在标准化工作流程中,这些结构减少了协调工作,从而提高了效率。但这些权力地位等体系正是加密货币想尽量避免的。正如我们接下来会看到的那样,这是以牺牲效率为代价的。
组织结构
为了让我们的纸质版公证员组成公证处,我们需要两者兼而有:
- 组织结构(本章)
- 奖惩制度(胡萝卜和大棒),即老板和工资的替代品,我们将在下一章中介绍
首先是组织:所有想成为公证员的人都会可以成为平等合作伙伴网络的一部分,也称为同行,以交换信息。在这样一个点对点的网络中,(1)要包含在区块链中的交易会被传递给每个人,(2)新创建的块(或类比中,盖章的表单)会由每个人存储。
这个P2P系统是由一组计算机(”节点”,在上图中是带字母的圆圈)和它们之间的一些用于交换信息的链接(通道或 “边”)组成的。现在,如果蓝色节点A有一个新的信息,它会把它发送给其所有的相邻节点,如蓝色箭头所示(节点B和C)。类似的B将信息发送给了C和D(红色箭头),A被排除在外,因为那是B的信息来源,显然A一定已经有了这个信息。
在B和C之间的那条边上,信息在两个方向上都会被传播一次,因为在发送时,B和C都无法知道对方是否已经知道了这个信息。
这种所谓的 “泛滥(flooding) “创造了一个(微小的)潮汐,席卷了整个信道系统,到达了从A到G的所有节点。许多参与者将多次收到信息,在最坏的情况下,你的每个邻居都会给你发一遍。效率不高,但当你不能或不愿相信任何人时,就只能这样了。
最后,对我们的公证员来说,这意味着他们可以打消希望再有任何空闲时间的念头了。虽然这不是特别有利于激励,但它对容忍个别参与者的失败(甚至是恶意)是很有效的。由于缺乏中央权威,没有仲裁机制,所以每个人都必须首先照顾自己,尽可能少地依赖其他人。从加密无政府主义的角度来看,这种浪费比信任更好;这种模式在整个生态系统中一次又一次地伴随着我们。
胡萝卜和大棒
然而,上述通过公证网络泛滥的信息只是日常工作的一小部分:我们的公证员不仅要不停地转发所有的这些信息,而且每个人还要不断地更新交易清单,因为你不相信你的同事能做好。另一方面,这也意味着从现在开始,你将没有任何空闲时间,因为你要昼夜不停地忙于工作和检查你的同事的工作。即使这么做非常低效。
但首先要回到现实世界的日常工作。让一个团队保持“正轨”的方法之一是建立一套有明确标准和奖励的激励系统。对于人类团队来说,验证是否达到标准其实是非常困难的,即使已经在诸如计件工作上尝试过;这有点像劣币驱逐良币。很难持续下去,因为数量是以牺牲质量为代价的,或者团队成员会为了让自己的表现看起来更好,而贬低同事们的表现。阴谋、隐瞒、谎言和操纵,甚至可能达到破坏。这些都是电影和小说中保证悬念的关键因素,但在现实中,它们对生产力和实现共同目标是非常不利的。
在我们的公证处,流程是简单的、重复的、标准化的,这就是为什么大多数区块链假定工作情况是客观可衡量的。因此,为比特币创建了一个货币激励系统,根据具体的、可验证的规则,如果这个区块被普遍认可,就会给予奖励(以比特币计)。这就是为什么这个程序被称为 “工作证明”(PoW)。
到目前为止都很简单。但是如果某人的工作做得不够好,你怎么能惩罚他呢?咱们让工作变得如此艰难和乏味,以至于没有人自愿去做,除非他们能期望得到慷慨的回报!
所以,激励措施是基于人类最强烈的动机之一:贪婪,对金钱和权力的贪婪。而这种激励机制也是完美的,至少在表面上是这样。正是因为有了贪婪的魔力,让人们投入了空前的创造力,去寻找和发现漏洞。在本篇和下一篇文章的“现实”章节的事实之后,会有更多关于这个问题的内容。
工作和工资
任何在比特币区块链上添加了一个新区块的人,目前都会得到6.25个比特币(₿)的奖励,用于创建(“挖矿”)新区块,目前这相当于接近25万瑞士法郎。对于10分钟的工作来说,这很吸引人,也难怪贪婪会成为驱动力。(在下一篇文章中会有更多关于金融和它在生态系统中的作用的内容)
如果你想得到那25万,你要怎么做呢?
- 收集传入的有效交易(详见下一篇关于加密货币和交易的文章)。
- 在将要创建的新区块中包含尽可能多的待确认交易。
- 处理这个区块,直到完成“足够的工作”(后面会说明)。
- 然后,这些区块的创建者(“矿工”)就将获得6.25₿的奖励,以及该区块中包含的所有交易的交易费(截至今天,一个区块收取的交易费仅约为采矿奖励的1%)。但愿它是你的!
加密的谜题需要反复、艰苦的尝试才能得到解决,一旦解决就完成了“足够的工作”。例如,比特币网络上的矿机需要不知疲倦地投120*1021亿面的骰子,直到它出现了数字1。这次成功的骰子平均需要尝试120*1021亿次后才能成功。有了这个结果,即完成了“工作证明”,矿工就可以创建区块并领取奖励了。
当然,我们的公证人并不玩骰子。但他们喜欢捉迷藏游戏,是非常健忘又充满激情的太空游客。当他们完成交易收集工作后,他们将已完成的交易清单藏在地球表面5.1亿平方公里的某处,立即忘记具体位置,然后进入太空。从那他们尽可能快地将橡皮图章扔到地球表面,直到有人击中交易清单上的6×7厘米大小的盖章位(5.1亿平方公里/120*1021)≈42平方厘米。老实说!希望没人真拿地球这么玩~
计算机不会玩骰子也不掷公章,因为这俩都太简单了。因此,在尝试“挖”新块时,这个新的区块里有个特定的字段会被填充随机数,直到整个块的校验和(“hash”)值足够小;因为它每120*1021次只有一次。因此,经过无数次试验,这个足够小的hash就是我们工作的证明。(顺便说一句,如果不实际计算是无法预测块的hash值的,所以挖矿没有快捷方式)。
矿工的算力越大,这个谜题解决得就会越快。然而,比特币协议的设计决定指出,平均每10分钟才会新增一个新区块。为了确保随着整体算力的增加或减少,仍然维持在10分钟出块,就必须定期调整“足够的工作”的定义,以反映网络上可用的计算能力。在比特币网络中,这种难度调整大约每两周会进行一次。
在骰子的类比中,这意味着如果网络中有更多或更快的参与者,骰子的面数也会相应地滚动增加,所以就要更快地扔骰子,直到出现想要的点数。(就我们太空公证人而言,盖章的格子将缩小)。
结果就是:
- 谁能挖到矿,并获得出块奖励,其实很大程度上靠的是概率,为了实现更均匀、可预期的收益,矿工们聚集在矿池中,然后在矿池内分配收益。
- 有种可能的情况是,几个节点都很走运,几乎同时找到了无数个(大约1054个)可能的谜题的解之一。因此,此时几个有效的新区块会同时存在。一般来说,这些区块因其中包含的交易列表而不同,所以它们并不能互换。因此,系统必须做出选择,以决定继续使用哪个区块。详情见下。
- 如果说胡萝卜是中奖的机会(就像开彩票一样),那大棒就是对撕毁你的彩票。如果你付出了巨大的努力挖到了一个有效的区块,但比特币网络中的其他节点因为你犯了一个错误(例如记录了一个无效的交易)而不接受这个区块,那么你就被剥夺了获奖的机会。你将继续承担各种成本(电费、空调费、租金、其他摊销…),但甚至没有一丝获胜的机会。
- 只要有人认为他或她的累积总成本低于预期的区块收益,他们就会尝试扩张额外的采矿算力。所以,只要没有禁令改变规则,网络的总算力就会遵循比特币的价格而变化。
- 无论谁能以更低廉的价格获得电力(和制冷)都是有利可图的。因此,挖矿往往在电力成本低的地方进行,而且通常是火电。(除非你能免费“获得”电力)。
剑桥比特币能源消耗指数(CBECI)估算比特币开采的年用电量约为125 TWh, Digiconomist则认为是200 TWh。CBECI假设每千瓦时电价为5美分(对于西欧来说:不切实际的),仅电力就花费62.5或100亿美元,也即每天2000万或3200万美元(!),而且这一趋势还在上升。
这种高能耗也被作为“禁止工作证明加密货币”的一个论点而被提出来。尽管非常努力,但它应该(像所有的政治决定,但不仅仅是这些)总是被视为成本/效益分析的结果。对于这一点,我随后的加密货币文章会继续展开。
区块链中的不可篡改性
支持区块链的一个重要论据是它的不可篡改性。因此,想要替换现有区块链中的某个特定的块,而不影响后续的块,是不可能的(记得活页的比喻)。也就是说,我们不能简单地把其中一个蓝紫色区块(例图中标有 “OK “的区块)”就这样直接 “替换成青色区块(”BAD”),这就是为什么它也被划成了红色❌。这是由于所使用的加密散列函数的安全性所致。
那要怎么样,才能真的像这样直接替换区块呢?
比特币网络把巨量的算力和工作量证明相结合,而且消耗的电力是世界上最强大的超级计算机的500倍。尽管有这样惊人的计算能力,整个比特币网络也要计算20亿亿年才能用另一个新区块替换一个现有区块,并使其校验和(哈希值)与原始区块相同,即它可以被接受为链上的有效成员。(至于是否真的会被接受则是另一回事)。
20亿亿年后面有N个零(到底几个0我也不知道了,译者注)。大家都喜欢与宇宙的年龄进行比较:即使自130多亿年前的大爆炸以来,这些计算机都在连续做计算,也只能完成上述工作的极其微小的一部分(十二亿分之一;又是一堆零!)。(即使是找到“关于生命、宇宙和所有其他问题”的答案,可能也比这个更快一些)。
来自IT安全界的人,谨慎地称其为“不切实际”;然而,普通人更喜欢“不可能”。
备选方案
=========未完待续的分割线=========
原文实在太长了,而且有很多俏皮的俚语,我实在翻译不下去了。。。
先发出来给大家看看吧,如果大家觉得有必要,我就继续翻译。。
PS:为了写这文章,后台临时装php-dom插件、Wordpress也临时装了几个插件、还临时改了几行CSS。。。也是醉了!
依云 在 2023年01月19日 22:35 说:【 】
哇,居然又更新了~
bones7456 在 2023年02月13日 14:22 说:【 】
哈哈,我的上一个评论是:“是呀,离上一篇文章,居然有6年半了。更奇怪的是,居然还有读者,哈哈。”,就是回复的你的评论。。这一会儿,又是5年了。。。