区块链搭便车指南

原文链接

2022 年 07 月 11 日

区块链搭便车指南

区块链、加密货币、智能合约、Web3和NFT是大众话题。差不多每个人都有自己的观点,但几乎没有人了解它们的基础概念或他们之间的关系。您正在阅读的是一系列文章的第一部分。本系列的目标,是针对(这些技术的)承诺、其背后的技术以及现实情况,提供结构化的展示。本三部曲分为五个部分(译注:来自《银河系搭便车指南》的一个梗,形容文章章节数会产生变化),使用日常生活中的类比,如太空行走、投掷图章、无政府主义公证人等,解释了这些概念。

几乎任何问题,即使是与 IT、数字化、经济、民主和社会相去甚远的问题,都有基于区块链的解决方案被提出。就像每一个新话题一样,各种思想家、淘金者、不速之客、江湖骗子和末日先知们轮番登场,让人难以看清问题的本质。

本系列文章的目标是以易于阅读的方式为新手和专家提供可靠的见解。重点是 —— 在这个复杂、纠缠不清的话题中尽可能多地 —— 以透明、实质性和结构化的方式展示各种属性和关系。文章将通过说明性的文字,以及令人难忘的(有时是搞笑的)隐喻来提供指导。

这个庞大的主题将分为五层:

  1. 区块链本身,一种透明且不可变地存储数据的方式(本文);
  2. 加密货币建立在区块链之上,如比特币和以太坊等,被吹捧为彻底改变我们的金融体系(在即将发表的文章中); 以及
  3. 智能合约 —— 作为(有条件的)加密货币交易的概括 —— 被誉为简化合约的构建和执行(在即将发表的文章中)。
    这些智能合约用于构建:
  4. 不可替代的代币 (NFT)、准备彻底改变艺术家收款、艺术品贸易和版权的数字艺术品(在即将发表的文章中); 以及
  5. 互联网民主化的承诺,称为 Web 3.0 或 Web3,也是去中心化自治组织(DAO;在即将发表的文章中)的基础。

上面五层中的每一层都将先用四个章节进行介绍和客观分析,再加两章的个人评估和一个自行思考的问题列表。由于事物的复杂性,章节并不总是下面这样的组织方式

  1. 技术的背后有哪些希望和承诺,以及它们应该解决哪些问题。
  2. 一个简单的介绍,阐述实际技术的内部工作原理,以及它们的可能性和局限性。
  3. 基于区块链的解决方案是解决问题的唯一可能性吗? 如果不是,什么是可选项和替代品
  4. 承诺背后的现实是什么?
  5. 基于上述条目对该技术的主观评价
  6. 在投资(财务或技术)特定层之前要询问自己或咨询专家的问题列表。

准备好了吗? 让我们眨一下我们的电子拇指,把我们的通天鱼放到我们的耳朵里(译注:都是《银河系搭便车指南》里面的名词),我们出发! 第一站:基础层,区块链本身。

我试图让这段文字尽可能保持中立。然而,在我的研究中,我学到了两件事:

  1. 区块链倡导者批评当前的经济体系受到贪婪、效率低下、缺乏透明度和复杂性过度的困扰。然而,这些倡导者的工作目标是一种新(现在的修饰词是数字化)的经济,它受到贪婪、效率低下、缺乏透明度和复杂性过度的困扰。
  2. 每当我要求给出相对于没有区块链的解决方案,基于区块链的技术所能带来的实际好处时,得到的答案都是回避或不一致的。

然而,这整个领域需要更多的洞察力。区块链生态系统提出了几个重要的问题,这些问题的解决与我们社会的未来及我们与技术的互动息息相关。十多年来,“区块链”一词能够在流行语排行榜中获得高分。仅此一项就值得我们去深入分析和理解这一现象。

第 1 部分:区块链本身

太长不看版本(或:给所有非管理人员的摘要)

  1. 足够先进的技术与魔法没有区别”,但如果某些技术被当作魔法出售,那么重要的是要询问该技术是否真的可以做到它所声称的那样,或它是否只能产生魔法烟雾和镜子。 (或者,换一种说法,如果某件事看起来好得令人难以置信,那么它通常不可信)。
  2. 如果你将区块链添加到垃圾流程中,你将拥有垃圾区块链流程”。(或者换一种说法:好的解决方案不会通过购买顾问或技术而自动浮出水面,如果这些会带来新的复杂性和低效率的话,那就更不用说了)。
  3. 一个好主意本身并不会自动成为一个好的解决方案的一部分。(或者换一种说法:即使是锤子也应该认识其他朋友,而不仅仅是钉子)。
  4. 信任提高了效率,并降低了复杂性。区块链解决方案希望消除任何形式的信任。他们以低效率和复杂的方式来达成这一目的。(或者换一种说法:复杂性是安全、透明、效率和信任的敌人)。

这不是“管理层总结”,而是“非管理人员(或非决策者)”的总结,因为我认为决策者尤其应该对一种被认为是革命性的技术了解的更多一点,这样他们才可以提出正确的问题,以区分眩目的光环和实际利益。 区块链被创建出来的原因,是为了解决一个非常具体、特别复杂的问题:创建一种纸币的数字等价物,试图防止伪造的同时,尝试(!)保持其匿名性。对于这个问题,当它可以直接应用时,它可能是一个很好的解决方案。但对于大多数其他过程而言,它做了大量的过度设计,因为即使是对前提条件的微小更改,也会产生更有效的解决方案。但要了解和理解这些要素,需要对它们做更深入的了解。而这正是本文的目标。

在本文创作过程中,文字量变得比最初计划的更多。然而,这换来了更好的可读性和可理解性。换句话说,本文写作的目标受众是高管和决策者(以及老人和小孩),包含许多令人印象深刻的类比,以及与现实世界的对照解释,也适合作为商务或家庭聚餐增添活力的谈资。

我认为文字是有价值的:文字的优点是你可以随时浏览个别段落,因为自己读到的太晚而感到遗憾,但不会(因为错过它而感到)愤怒。希望文中经常性的夸张和华丽的介绍性语句能帮助你一直读完本文。

区块链,以及随之而来的比特币,在 2008 年金融危机最严重的时候,作为银行在这场危机中的角色的反对者而出现。银行首先通过基于不良抵押贷款风险的不透明金融产品获利,然后又由于它们的系统相关性(“太大而不能倒”),获得了救助资金。因此,对中央组织(银行、国家)的独立性和透明度的渴望,是贯穿区块链生态系统各个层面的主旨。

这种发展带有密码无政府主义无政府资本主义的特征,即那些想要避免信任组织和结构,尤其是不信任国家的运动。 只有程序(“代码就是法律”)或免费的,即不受监管的市场才值得信任。这种特性贯穿于各个层面,尽管它们在加密货币和智能合约中最为明显。

承诺

这是区块链爱好者会建议你阅读的唯一的一章。

由于区块链和比特币同时出现,区块链这一术语有时也被通俗地代指(pars pro toto,译注:即以部分代表整体)基于区块链的应用程序(加密货币、智能合约等)以及各自的生态系统。在本系列的上下文中,我将尝试清楚地区分这些术语。

区块链具有或应该具有的四到六个属性没有统一定义:

Wikipedia(维基)Christian Cachin/IBMMoreThanDigital
Chaining
(链)
Distributed Ledger
(分布式账本)
Data integrity
(数据一致性)
Decentralized storage
(去中心化存储)
Cryptography
(密码学)
Reliability
(可靠性)
Consensus(共识)Distributed Consensus
(分布式共识)
Fast storage
(快速存储)
Manipulation security
(操作安全)
Business processes
(业务流程)
Analysis, transparency
(分析,透明度)
Transparency, confidentiality
(透明度,保密性)
————
Nonrepudiation(不可否认性)————

让我们以 Christian Cachin 的演讲中的四个类别为例:

  1. 分布式账本作为交易列表,具有不可更改的交易历史。
  2. 密码学确保会计记录的完整性和交易的真实性。
  3. 账本内容的分布式、容错共识和交易有效性:所有区块链参与者都应该能够就共同的世界观(例如账户余额)达成一致,即使并非所有参与者都始终可用。
  4. 业务流程(“业务逻辑”),用于确保交易的有效性并实施(账户管理、智能合约等)。我们将把这个领域推迟到接下来的两篇文章中,那里有理解它们所必须的上下文。

这非常抽象,尤其是在尚不清楚要实现的实际目标是什么的情况下。既然本文已经着手清晰地构建这个复杂的问题,并且我们希望根据这个目标来进行评估,我们需要先回答一个问题:人们到底想使用这些功能做什么?因此,让我们来看一个典型的“区块链的10种应用”列表,然后提取或构建其中列出的好处:

  1. 国际金融交易:数据一致性、防篡改、去除中介→降低交易成本、提高交易速度。
  2. 医疗保健:分布式网络中的存储允许存储敏感数据:患者记录、医学发现和临床历史。只能由所有者授权的用户访问。
  3. 身份管理:身份证件可以安全数字化转换,不丢失数据;更安全,更快捷。
  4. 预防洗钱:透明度、记录保存和归属。
  5. 保险:用于索赔处理、保险欺诈检测的智能合约。
  6. 供应链管理:更简单的合同、货物的持续跟踪、供应链从原产地到商店的透明文档。更快/更简单/更便宜的调查。
  7. 移动性:访问权限、所有权文件、自动车辆租赁+计费、即使使用电动汽车也能安全计费。
  8. 能源市场:处理变化、交易的可追溯性(私人能源馈入)、电子加油站的计费/支付。
  9. 数字选举:无需担心操纵,跟踪每张选票。
  10. 学位证书:颁发不能伪造、国际认可的学位/证书。

这些主题涵盖范围非常广泛,从区块链本身到加密货币和智能合约。如果这能解决现代文明的许多突出问题,那就太好了。然而,由于这件事在过去的 14 年中并未发生,因此问题看起来似乎不是那么简单。

在接下来的(大型)技术章节中,让我们先看看用于解决这些挑战的特性和技术,然后再进行事实核查。由于我们在这里关注区块链本身,我们将在本文末尾讨论数据一致性/防篡改、数据丢失预防、透明度/记录和(部分)归属/可追溯性/伪造等主题。奠定必要的基石之后,我们会在后续文章中更详细地介绍其余要点。

技术

在本章,我们将探索几乎无法穿透的丛林,并绘制地图。

区块链仅仅是最底层的技术,就已经相当复杂。在我们深入之前,先大概了解一下比特币。

比特币区块链元素概述。 左边是实际的链,是块的串联。每个块(中间)特别包含一个交易列表(右边)。

比特币区块链由随着时间增长的区块链(上图中标记为“链”)组成。(在特殊情况下,它也可以分支,我们将在下面看到。

目前,比特币区块链大约有 730,000 个块,大约每 10 分钟添加一个新块。这些块中的每一个都包含一组交易。整件事由构建系统的计算机(节点)共同(通过共识)管理,实际上每个人都可以参与(不需要特别授权)。

为了理解其中的交互,让我们分几步来了解它,这正是本技术章节的部分目录:

  1. 区块链的结构和功能
  2. 没有值勤表的情况下,如何添加区块(共识)
  3. 节点之间如何相互通信(点对点网络)
  4. 为什么有人会为了集体做事(激励)
  5. 一个有效的块是如何生成的(挖掘和工作量证明)
  6. 要解决问题还需要做些什么(权益证明和朋友们)

后面还有一个简短的总结,让你可以既看见树木,又看见树林。

在我们分析一个数字区块链之前,让我们将其与纸张和办公室进行类比。我们将观察无政府主义的会计师们(或公证人们)是如何保存一套防篡改的活页集的。欢迎那些想要参与(并且知道《银河系搭便车指南》的背景故事)的人将他们想象成 Golgafrinchan “B” 方舟的成员

类比:公证处

在这个小节,我们为自己构建一个不变的活页集。

让我们从模拟世界的类比开始我们了解区块链之路:会计事务所和公证处之间的无政府状态混合。(作为初级公证人,他们最初只被允许处理小额金融资产。在后面的章节中,他们被允许对合同和有形资产的转让进行公证。这就是为什么即使现在我们也称他们为“公证人”,尽管目前他们更喜欢记账)。

出于效率原因,几位公证人分担这项工作。由于随之而来的慢性背痛,收集了上个世纪的确认信息的又大又厚的公证书已经被废弃了。取而代之的是活页收藏夹(这在法律人员中似乎更受欢迎)。所以在第一天,负责的公证人填写交易清单并用她的公章确认了其准确性。

第一张盖章活页

第二天,值班公证人重复同样的程序。但为了避免公证员日后用另一张纸替换前一天的活页,他今天的活页包括了前一天黄色活页的缩小副本。他像往常一样在晚上给这份活页组合盖章,以确认其准确性。

第二张盖章活页带有第一张的复印件

第三天,由第三位公证人重复该过程。这个人还是在晚上将他的活页与前一天的活页的缩小副本一起盖章,在上面可以看到前一天和更前一天的缩小副本,依此类推。

第三张盖章活页带有第二张的复印件,上面也可以看到第一张

当这个过程继续下去,公证人以协作的方式生成了一个共同的文件链。在这条链上,如果不同时调整所有后续的文档,就无法替换先前的文档。这肯定会引起注意。

但是,盖章的权力和义务的协调同样需要权威的信任和认可。下面我们将看到,如何在没有事先协议的情况下解决纸质区块链(并因此信任所有人),因为这也是数字区块链的密码无政府主义基础。

为简单起见,我们的初级公证人现在有一个固定的工作时间表,并享受他们的休息时间,所以对于哪一天谁负责没有冲突。随着我们对真正的区块链理解的逐步加深,这种情况将会改变。

数字区块链

在这个小节,我们用乐高积木将活页集变成数字化的记录。

让我们切换到数字区块链,以比特币使用的区块链为例。它的工作方式与上面的活页集非常相似:每个块都包含一个交易列表,并且有人断言该列表的真实性。这个人在这里通常被称为“创造者”;在加密货币中,他们更常见的名字是“矿工”。

每个块都可以计算得到一个加密校验和,即所谓的哈希,然后将前一个块的校验和存储在当前块中,类似于上面公证人示例中前一天的缩小副本。这意味着新的块被不可撤销地绑定到它的前一个块,并且间接(或传递)地绑定到它的所有祖先。

作为乐高积木堆叠起来的区块链

为了更深入地理解这一点,让我们稍微调整一下我们的可堆叠积木:众所周知,常规乐高图案总是相同的,每个积木都匹配其他积木,现在这点不复存在了;每个积木顶部都有一个独特的点图案,对应它独特的哈希。现在,下一个方块必须像对应的锁和钥匙一样,具有完全匹配的孔图案,以便两个方块可以堆叠。

每个块都是独一无二的(尤其是它的顶部图案)

这里使用的哈希值的特性是,即使世界上所有的计算机数十亿年来什么都不做,它们也找不到第二个具有相同哈希值的块。这样的最终结果是,我们完美地将存储在当前块中的前一个块移了出来:典型情况下,前一个块原本需要占用 1-2 兆字节,现在只使用了 32 个字节,大约减少了 50,000 倍。

下一个块必须有匹配的孔,否则堆叠会失败

(相对于前面纸张的类比来说,仍然可以从略微缩小的纸质副本中直接读出所有细节,而仅从哈希中不可能读出前一个块的任何内容。然而,对于实际目的而言,使用纸质副本,或使用哈希作为前一个块的唯一标识,这两种做法都完全满足需求)。

通缉:没有值勤表的公证人

在这个小节里,我们解放了公证人,并且最终让他们独立的生活和工作。

我们的公证人曾经有一个明确的值勤表:每天,只有一个人负责盖章。值勤表是由多方商定或由他们的老板指定的。比特币是加密无政府状态对金融危机中中央权力结构行为的愤怒两者结合的产物;因此,那里绝不能有任何类型的监管角色!无论老板在提高协调效率和制定规则方面有多么有用,在某些时候老板可能会滥用他们的权力,并且系统内没有机制可以阻止它。

在现实世界中,存在罢免滥用职权或腐败的上级的机制,但这种罢免有时可能是漫长而费力的。要在早期阶段预防和发现错误的发展,现实世界所使用的机制包括诚实、同理心和信任。这些机制属于进化优势,能导致避免错误或迅速纠正它们。然而,这些机制需要定期的互动,因此无法扩展到 80 亿人。无论如何,它们不适合加密无政府主义的世界观,根据这种世界观,一个人不想让自己依赖其他任何人。

鱼群和鸟群提供了可能是自组织的最著名的例子。也许你们中的一些人甚至会想起“海底总动员”中对月鱼的夸张(因此特别迷人)的描绘。(图片: adiprayogo liemena at Pexels

只剩下公证人之间的协议这一条路了,也就是上面提到的共识。然而,我们不仅没有制定值勤表的老板,如果其中一位公证人喜欢在预定的工作日去钓鱼,我们也没有雇用公证人或召回公证人的老板。

这意味着,我们需要这样一个系统,它必须能够应对不断变化的公证人数量。这些公证人们都不想事先进行能力倾向测试,也不想事先宣布他们的存在或缺席。纯粹是一团糟。或者,好一点的选择是,一个自组织(或者,更博学一点的说法,自生成)系统

人类群体远不像鱼群那样同质化;因此,几乎没有十几个人以上的自组织团体。所以,对于更大的群体,其架构迟早会出现分工。在标准化的工作流程中,这样的架构减少了协调工作,从而提高了效率。但这样的架构具有相关权力位置和依赖关系,而这正是人们希望通过加密货币避免的。这是以效率为代价的,我们将在下面看到这一点。

组织架构

这一小节介绍了公证人是如何在家庭办公室里与其他人相互交流的。

为了让我们的纸上公证人组成公证处,我们需要同时具备以下两条

  1. 一套组织架构(在本小节中)以及
  2. 一套激励或惩罚制度(胡萝卜加大棒),即老板和工资的替代品,我们将在接下来的一节中讨论。

首先是组织架构:为交换信息这一目的,所有想要尽力成为公证人的人(也称为peers,即对等点),都会成为平等的合作伙伴网络的一部分。在这样的点对点网络中,(1)交易会被包含在区块链中,并传达给每个人,以及(2)新创建的块(或者类比一下,盖章的支票),将由每个人保存一份。

一个将他们全部绑定的网络

这样的点对点系统是一组计算机(“节点”,在上图中带有字母的圆圈)和它们之间的许多连接(通道或“边缘”),节点可以在这些连接上交换消息。现在,如果蓝色节点 A 有一条新消息,它会将其发送给它的所有邻居,如蓝色箭头所示; 在图示的情况下,就是发给了节点 B 和 C。如果信息对于这两个节点是新的,并且通过了它们的有效性检查,它们接下来会将信息发送给所有其他邻居:因此 B 将消息发送给 C 和 D(红色箭头)。A 被忽略了,因为 B 已经从 A 那里收到了消息,所以 B 知道 A 一定已经拥有了这个信息。

C 依次将消息发送给它的邻居 B、E 和 F。在 B 和 C 之间的连接上,消息在两个方向上各传播一次,因为在发送的时间点,B 和 C 无法知道它们邻居的节点是否已经知道该消息。

这种所谓的“消息洪水”会产生一次(微小的)潮汐,会席卷整个通讯系统,到达从 A 到 G 的所有节点。许多参与者会重复多次收到消息,在最坏的情况下,每个邻居都会发来一次。这样效率不高,但当你不能或不会信任其他任何人时,就是这样。

最后,对我们的公证人来说,这意味着他们可以放弃任何想再次拥有空闲时间的想法了。虽然这不是特别有利于激励,但它对个体参与者的失败(甚至恶意)具有很强的抵抗力。由于缺乏中央权威,没有制裁的选择,所以每个人都必须首先注意自己,并尽可能少地依赖别人。从密码无政府主义的角度来看,这种浪费比信任更好。这种模式在整个生态系统中一次又一次地伴随着我们。

胡萝卜与大棒

这一小节是关于如何激励自由职业者的。

上文提到了通过公证人网络的消息洪水,然而,这只是日常工作的一小部分:我们的公证人不仅要不断转发所有消息,而且每个人还要不断更新交易列表,因为你不信任你同事的工作是不是做对了。另一方面,这也意味着从现在开始你就没有空闲时间了,因为你正忙于夜以继日地工作,以及检查同事的工作。这甚至是以非常低效的方式完成的。

但让我们先来回顾一下现实世界的日常工作:让团队“保持正轨”的一种方法是创建一个具有明确标准和奖励的激励系统。对于人工团队,验证标准是否得到满足是非常困难的,即使尝试使用计件工作制也是一样,举例来说,众所周知的,(计件工作制)会减少团队(良好的)内驱力,并将其主要转换为(不那么强大的)外部动机,这被称为过度合理化效应。而这几乎是不可持续的,因为数量是以牺牲质量为代价的,可能会有团队成员为了让自己的表现看起来更好,就去贬低同事的表现:阴谋、隐瞒、谎言和操纵,甚至消极怠工。这些都是保证电影和小说悬念的关键要素,但在现实中,它们对生产力和共同目标的实现极为有害。

在我们的非常规的公证处,流程简单、重复且标准化,这就是为什么大多数区块链都假设工作绩效具有客观可衡量性。因此,比特币为新块的创建而创造了一个货币激励系统,如果新块被普遍认可,它会根据具体的、可验证的规则,(用比特币)来奖励(新块的创建者)。这就是这个过程被称为“工作量证明”(PoW)的原因。

到目前为止,一切都很简单。但是,如果他们的工作做得不够好,你能怎么惩罚他们呢?你让工作变得如此费力和乏味,以至于没有人自愿去做,除非他们能期望得到丰厚的回报!

因此,这种激励正是基于人类最强大的激励因素之一:贪婪。对金钱和权力的贪婪。而且这种激励也很有效,至少表面如此。正是因为它现在正在腐化的力量,贪婪引导着人类取之不尽的创造力为其服务,并为之寻找和发现漏洞。关于这一点,在这篇文章的“现实”章节,和下一篇文章中,有着更多事实。

工作和工资

这一小节说的是,诚实的合作,最终会得到回报。

任何想要在比特币区块链中添加新区块的人都会因创建(“挖掘”)新区块而获得目前 6¼ 比特币 (₿) 的奖励,目前的价值相当于不到 25 万瑞士法郎(或者差不多的,$ 或 € 或 £)。对于10分钟的工作来说,结果还不错!难怪贪婪已经成为驱动力。(在下一篇文章中,有更多金融相关的内容,以及它在生态系统中的作用)。

如果你想赚到那一百万的四分之一(译注:即上一段中提到的 25 万),你需要些做什么?

  1. 收集传入的有效交易(关于这一点的更多内容在下一篇关于加密货币和交易的文章中)。
  2. 在要创建的新区块中包含尽可能多的待处理交易。
  3. 处理块直到完成“足够的工作”(接下来会解释)。
  4. 这些区块的创建者(“矿工”)接下来会获得 6¼ ₿ 奖励以及该区块中所包含的所有交易的交易费用(截至今日,一个区块收取的交易费用仅相当于挖矿奖励的大约 1%)。希望拿到它的就是你!

当一个密码难题经过重复、艰苦的试错而得到解决时,“足够的工作”就完成了。举例来说,比特币网络上的任何采矿计算机都可以不知疲倦地掷一个 120 sextillion 个面的骰子(sextillion 是一个 1 后面跟着 21 个零!),直到掷出一个 1。这次成功的结果是在平均 120 sextillion 次尝试后获得的。有了这个结果,也就是“工作量证明”,矿工就可以认领区块并收集奖励。

这种所谓的 d100(或“百分骰子”)“只有” 100 个面。平均而言,掷 100 次就能掷出一个 1。

当然,我们的公证人不掷骰子。但他们喜欢捉迷藏游戏,非常健忘,同时也是热情的太空游客。这就是为什么,当他们的交易收集工作完成后,他们将完成的交易清单隐藏在地球表面这 5.1 亿平方公里的某个地方,并立即忘记了放在哪里,然后飞向了太空。在那里,他们以最快的速度将橡皮图章扔到地球表面,直到其中一个印到他们那张交易清单上 6 厘米乘 7 厘米的盖章区域。(5.1 亿平方公里 / 120 sextillion ≈ 42 平方厘米。42)。老实说!希望没有人真的考虑将地球当作一个巨大的球……)。(译者注:作者只是简单比喻解决该问题所需要的计算量而已)

我们的公证人不断地从国际空间站丢下 120 sextillion 个图章

计算机不掷骰子扔图章,这两种技术都太容易作弊了。计算机的做法是,当试图“挖掘”一个新块时,在这个新候选块中的一个特别指定的字段填充随机内容,直到该块上的校验和(“哈希”)的值足够小;小到每 120 sextillion 次才出现一次。要得到这个足够小的哈希,需要经过无数次的试验,因此这是我们的工作量证明。(顺便说一句,如果不实际计算,就无法预测块的哈希,即没有捷径)。(译者注:哈希其中一个特点是防碰撞,也就是说,即使只修改其中一位数字,结果差距就会很大,因此无法通过逐步推导得出结果。参考链接

用于挖矿的计算能力越多,解决这个难题的速度就越快。然而,比特币协议的设计决定声明,平均每 10 分钟应该添加一个新块。为了确保在计算能力的增加或波动时保持这种情况,必须定期调整“足够的工作量”的定义,以反映网络上可用的计算能力。在比特币中,这种难度的调整每两周发生一次。

在骰子的类比中,这意味着如果网络中有更多或者更快的参与者,那么骰子应该换成更大的,参与者因此必须更频繁地滚动骰子,直到出现一个 1。(在我们的公证人去了太空的情况下,盖章的目标区域的大小将减小)。

这导致了以下几个结果:

  1. 谁能“挖到”区块并“赢得”一百万的四分之一非常取决于机会。为了实现更均匀、可预测的支出,矿工聚集在矿池中,然后将收益分配给他们自己。
  2. 可能会发生这样的情况,几个节点几乎同时幸运地找到了密码难题的无数可能(大约有 10^54 个)的解决方案之一。此时,几个有效的新块会同时存在。这些区块中包含的交易列表通常是不同的,因此它们不可互换。在这种情况下,系统必须选择继续使用哪个块。详情见下
    所有未能成功“掷骰子”的其他人都有下一个区块的另一个机会(就像买彩票)。在某个时候,大胜利必须到来……
  3. 虽然胡萝卜是获胜的机会(就像买到的一张彩票),但大棒可以被看作是对彩票的肆意撕裂:如果你付出了巨大的努力来挖掘一个有效的区块(“掷出了 1” ),但因为你犯了一个错误(例如,记录了无效交易),那么比特币网络中的其他节点不会接受该块,这样你就输了,除了应计成本(计算机的电费和冷却、租金、摊销……),你将别无所得,甚至没有一丝丝获胜的机会。
  4. 只要有人认为他或她的累积成本低于一个区块收益的长期预期份额,他们就会尝试建立额外的挖矿能力。即是说,只要没有禁令改变规则,计算能力就会跟随比特币的价格。
  5. 谁能够廉价地获得电力(和冷却),谁就处于优势地位。因此,采矿往往在电力成本低的地方进行,通常是燃煤发电。(除非你“得到”免费的电)。

在事实上禁止加密货币后,中国的采矿率崩溃(黄色)(图片:CBECI)。

剑桥比特币能源消耗指数(CBECI)估计,开采比特币的用电量为每年 125 TWh,Digiconomist 的估计为每年 200 TWh。在 CBECI 假定(针对西欧而言:不切实际)的低电价(每千瓦时 5 美分)下,仅用电一项,就将花费 62.5 到 100 亿美元,相当于每天 2000 到 3200 万美元(!),并且这个趋势正在上升。

这样的高能耗也被用作禁用那些使用工作量证明的加密货币的论据。尽管这样代价高昂,但它应该(像所有政治决策一样,但不仅仅是这些)始终被视为成本/收益分析的结果。对于这个话题,我将推迟到后续的加密货币文章中讨论。

区块链中的不变性

这一小节,我们将尝试伪造,并光荣地失败。

找到匹配的替换块是“不可能的”

支持区块链的重要论据之一是它的不变性。如果在将来想用另一个块去替换区块链中现有的、已建立的块,就必须辛苦的同时调整它所有后续的块(回忆一下活页收藏夹的比喻),这是不可能的。 也就是说,我们不能“就那样”简单地将其中一个蓝紫色块(例如,在上图中标记为“OK”的那个)替换成青色块(“BAD”),这就是为什么青色块被红色划掉的原因。这是由所使用的加密哈希函数的安全性保证的。

如果要“就那样”替换块,会发生什么?

比特币网络结合了强大的计算能力来实现工作量证明,消耗的电力是世界上最强大的超级计算机的 500 倍。尽管有这种惊人的计算能力,整个比特币网络必须计算 20 octillion (1 octillion 是 10 的 27 次方)年才能用另一个块替换一个块,以便其校验和(哈希)与原始块的校验和(哈希)相同,即它可以被接受为链的有效成员。(它是否真的被接受是另一回事)。

20 quindecillion 年应该写成 2 后面跟着 49 个零。谁会喜欢与宇宙的年龄进行比较呢:就算所有计算机自 130 亿年前的大爆炸以来都必须不断计算,也只能完成他们永远无法完成的的西西弗斯作品中微不足道的一部分(1 dodecillion 分之一;dodecillion 是 1 后面跟着 39 个零) !)。(跟替换块相比,有可能 Deep Thought 找到“关于生命、宇宙和其他所有其他问题的问题”的答案都会更快一些)。

来自 IT 安全行业的人们会谨慎地称之为“不切实际”;然而,作为普通人,我们直接说“不可能”。

替代规则

这一小节里,公证人开始寻找重复性较低、更容易的工作。

工作量证明,这一规则不可避免地导致了能源浪费,而这点通常只会随着时间或受欢迎程度增长而增长。不止环保主义者,连采矿计算机(“钻机”)的运营商自己对此都不满意:他们希望自己能赚更多的钱,而不是把钱花在电力和硬件上。因此,一些替代系统已经被纳入考虑范围,特别是权益证明(PoS)和历史证明(PoH)。

所有这些规则的目标是同时实现安全、速度和去中心化。不幸的是,目前开放的区块链中,还没有人能够同时实现这三个目标。尽管进行了密集的尝试,但到目前为止,始终必须在某些方面做出权衡,这个现实被称为“区块链三难困境”。

权益证明

到目前为止,没有一个著名的区块链有效地使用了权益证明。总部位于楚格以太坊,位于比特币之后,排名第二,目前仍在工作量证明的基础上运行,其当前的电力消耗在比特币的一半以上。多年来,以太坊一直想有效地引入 PoS。该计划经过多次推迟目前定于 2022 年第二季度与 PoW 并行工作,PoW 仍保持运行。

什么是权益证明?基本的假设是,你拥有的加密货币份额越多,你就越有可能关心加密货币本身的发展,正由于此,你不会损害加密货币的利益。(由于这样假设了极度同质化的人性,因此这种说法必然不能涵盖所有人。)

让我们再从一个类比开始,一个自组织的村庄。负责工作量证明的公证人天天忙碌奔波,严重干扰了村民们每天的工作和休闲生活。由于睡眠不足,公证人们也变得非常反社会;没有人愿意再与他们有任何关系。因此,长老委员会决定切换到权益证明,于是公证人们从(工作量证明的)矿工转换为(权益证明的)验证者。

下面以负责三月份的验证人委员会的例子,来说明 PoS 的流程:

权益证明(PoS)委员会活动时间表

  • 拥有一公顷以上土地所有权的所有者,可以要求在新的 PoS 村议会中拥有发言权。不足一公顷的所有者必须与其他人联合加入一个池子,并找出一个代表;池子中的内部组织与其他居民无关。
  • 1 月之前:任何想要申请发言权的人都必须为此投入财产,即所谓的“下注”(由此你的土地也将成为赌注)。该申请(以及随附的财产质押)会被输入区块链并经过公证(稍后我们将看到如何实现这一点)。
  • 1 月:每个月,从拥有活跃份额的土地中,为下下个月(此处为 3 月)选出 128 公顷。这些土地的代表将被聘为 3 月份的“验证人”(或确认人)。
  • 这样参与的 PoS 取代了 PoW 挖矿。它也带有胡萝卜和大棒:在验证人的服务月份(并且只有那时),他们的工作类似于 PoW 公证人。就像我们上面看到的,他们不需要做那些无用的工作(无休止的掷骰子或盖章)来验证自己的诚实,而是提供一部分真实财产的质押,以此作为他们诚实的保证。
  • 2 月:委员会为他们的使命做好心理准备(以确保每个人在 3 月初都在同一条船上)。
  • 3 月:每天,其中一名值班的验证人也被选为“提议者”。此人维护当天的活页清单。在一天结束时,他们在清单上盖章,再次用前一天活页的小副本进行链接。
  • 4 月:所有验证人都会审查其服务月份的活页集。
  • 5 月:我们的(3 月)验证人找到当月(5 月)负责的验证人。在那里,他们在当前(5 月)的活页上签名,来申明他们对每天的提议者所提交的工作的支持。这个过程被称为“认证”。一旦所有 3 月验证人中的 ⅔ 认证完成,3 月就被认为是“合理的”(或者更简单地说,已确认),并且 3 月的验证人将获得他们的成功奖励:额外的新地块份额(胡萝卜,PoW 的“挖矿奖励”的替代品)。

PoW 愚蠢的重复性工作已经被放弃,其代价是更复杂的协调工作。在上面显示的抽象级别上,它可能听起来非常简单和令人信服。然而,与 PoS 在以太坊上的实际功能相比,上面的描述经过了大量的简化

以太坊将这项工作拆分到 65 个区块链(一个主链或协调链,也叫“信标链”;和 64 个交易链,也叫“分片链”)上,这一事实带来的额外的复杂性在上文中没有被提及。

然而,在任何分布式系统中,最大的复杂性总是来自于错误的检测和特殊情况的处理。有无数罕见的极端情况必须得到明智地处理,同时还必须确保一切继续运行,即使出现了问题:比如,提议者或其他验证人请病假、系统超载或因其他原因不可用;提议者和其他验证人之间存在分歧;有人在选举期间睡着了;还有很多。在以太坊的例子里,对不法行为者进行适当的惩罚,对其他人给予奖励,所有这些都是以自动化的方式实施的。即使在最不幸的错误组合下,系统也必须始终能够以有意义的方式继续运行

随机数是这个游戏的一个特殊的弱点。举例来说,在随机、公平地选择委员会成员,或在成员之间分配提议者活动时,随机数是必需的。然而,在区块链环境中,随机性绝非易事,这项看似微不足道的任务是在 Ethereum-PoS 中通过精心设计的“智能合约”与以下几点实现的:(1)参与者自己是利益相关者,(2)投入更多的加密货币作为质押, (3) 通过分配和收集积分的方式,再次使用胡萝卜加大棒。这个被称为“RANDAO”的随机数智能合约,只是整个过程中的众多小齿轮中的一个。 (未来的另一篇文章专门讨论智能合约的工作原理。)

正如我们所见到的那样,区块链本身只有在无数的智能合约不断紧密正确交互的情况下才能工作,就像一个经过微调的发条一样。然而,反过来,区块链的功能是否正常运行也取决于这些智能合约。计算机科学家们不惜一切代价地试图避免分布式系统中的这种循环依赖,因为它们会导致更多的复杂性和额外的单点故障。

Ethereum-PoS VIP 休息室的正式会员资格起价为 32 Ether,目前价值约为 80,000 法郎。如果计算机在错误的时刻(例如,在上面提到的“RANDAO”期间)崩溃,或其网络连接中断,部分甚至全部的质押可能会丢失

权益证明与工作量证明的风险对比

如果工作量证明的机器出现故障(崩溃、电源故障、网络问题、DoS 攻击……),其获利的机会可能会降低,但之前赚取的任何资金都不会受到影响。

另一方面,使用权益证明,您希望“质押”尽可能多的资产,因为利润是按质押资本的比例分配的。如果计算机在错误的时间点出现故障,您的全部质押资金就会消失。

有许可的区块链

基于比特币模型的区块链是面向公众并且开放(“无许可”)的,除了这种区块链,还有所谓的私有或“有许可的”区块链,后者在商业应用的封闭用户群体中很受欢迎:要加入这个封闭用户群体,需要签署传统的纸质合同。然后每个成员都被允许将一个计算节点集成到这个封闭系统中。

然后,这些计算节点将确保只有在获得至少 2/3 多数批准的情况下才将新条目添加到区块链中。因此,系统不受拜占庭错误的影响,即是说,只要少于 1/3 的节点失败或发生错误/恶意行为,系统就可以正常运行。

在这样一个受控的环境中,跟任何人都可以随时加入或离开的模型相比,检测或阻止占主导地位的玩家会容易得多,无需提出任何问题。但相对的,有许可的模型也缺乏公共区块链所追求的普遍性。

此外,有许可的模型主要用于货币以外的应用,因此它通常不是自筹资金的。“矿工”不能获得系统固有的东西(例如比特币)。相反,必须有某人支付系统成本(计算机、电力)。“某人”通常是专门为运营该区块链而成立的组织。但这样的话,该计划就不再是完全去中心化的:因为有一个中央集权机构为其提供资金。

链条顶部摆动的幅度最大

这一小节中,我们来解决乐高塔建筑冲突的问题,并重新检查它的稳定性。

自 2009 年到现在,比特币区块链已经发展到了超过 730,000 个“乐高积木块”的高度我们已经看到,在底部拉出一个块并更换它是“不可能的”。毕竟它是乐高而不是叠叠乐!

但它的顶部是什么样子呢?在以运气(橡皮图章或掷骰子)为特征的采矿过程中,几个新的有效但不同的块可能在几乎同一时刻被创造出来。将新块的相关信息通知到所有节点通常需要几十秒,有时甚至超过一分钟。因此,大约每 11 天,就有两个潜在的最新区块同时处于广泛的流通中。但链上只能留下一个,因为必须以某种方式保证对账户余额的共识。

有时,有多个(同时出现的)新块

因此,最上面的几个块被认为是不安全的,通常要等它们上面堆叠了大约六个块才可以,这平均需要一个小时,但也可能需要长达 6 小时(等待时间仅取决于掷骰子的运气)。这样,在某处突然出现一条额外的、更长的链的可能性就很低了。

这引出了进一步的结论:

  1. 如果有多个候选块在运行,则每个参与者选择其中一个候选块作为后续块的基础,而不管所有其他参与者的决定。(通常,这是他看到的第一个有效区块)。
  2. 大多数人不“满意”的候选区块仍位于区块链无关的旁路分支中,因此被忽略。
  3. “是否满意”是由程序代码中的规则定义的,并且可能会随着时间而改变
  4. 换而言之,即便有个别顽固的少数人仍然乘坐他们的专列(“硬分叉”,一种独立宣言),路线仍是由大多数人决定的。硬分叉这种机制也被用于有针对性的歧视或排斥成员和技术
  5. 大多数成员无法识别那些仅仅出现在其中一个旁路分支中的交易。但如果交易基本上是有效的,它应该被包含在下一个常规块之一中,从而最终得到认可。

技术总结

这是再次将所有内容好好梳理的一个小节。

功耗相当于 500 台超级计算机或一个工业化国家的数百万台计算机,正在不断尝试解决密码学问题。随着更多或更快的计算机参与其中,问题难度增加,从而保持平均每 10 分钟创建一个新块。解决这个密码学问题(“工作量证明”)旨在确认一个人是否有足够的兴趣认真致力于区块链的原则,即:不作弊。

然而,如果有足够多的人不同意规则(或一起作弊),这些(改变后的)规则就会成为事实上的标准(“代码就是法律”)。这也是实施变更、或衍生副产品、或排斥成员时所采用的方式。

要提供这些计算资源,需要承担每天 2000-3000 万法郎的巨大电力成本,并且遵守规则;其动机是基于从无到有铸造出来的新加密货币的价值(目前每 10 分钟大约 25 万法郎)和交易费用(目前每个区块几千法郎)。反过来,正如我们稍后还将看到的,人们也希望制定规则,以使得加密货币的收入或价值变得尽可能高。

替代品

这一节,我们来回顾一下其他的产品。

从区块链爱好者的角度来看,起初,世界是荒凉而空无一物的,中本聪在第一天将世界分为光明(区块链和比特币)和黑暗(其他的一切),然后他就退休了;也许是为了津津有味地观看他的第一个 100 万比特币的价格走势。

但是,工作起来不知疲倦的数字考古学家发现,即使在那之前,有一些重要的方法已经存在了:

史前的历史和早期历史

这一小节,我们将回到比特币大爆炸之前。

图片来源:Alan T. Sherman, Farid Javani, Haibin Zhang, and Enis Golaszewski: On the Origins and Variations of Blockchain Technologies, IEEE Security & Privacy, Jan/Feb 2019

David Chaum,一位忙碌的密码学家,在本系列中我们还将会遇到他几次,在他 1982 年的论文“相互可疑的群体建立、维护和信任的计算机系统”中,他已经在致力于类似区块链的协议。

在 1990/91 年,Stuart Haber 和 W. Scott Stornetta 通过时间戳解决了数字过程的可追溯性问题,数字签名可以确认数字文件在某个时间点的存在。特别是,他们研究了如何使伪造(回溯)时间戳的发行透明化并因此被识别为伪造品的问题。自 1995 年以来,他们的方法的一种变体一直被作为 PGP 数字时间戳服务持续使用

当您想要证明某个文档在某个特定时间点存在,或者想要确认该文档自该时间点以来有没有被修改时,时间戳特别有用。其应用领域非常广泛,从发明专利到版权和取证都在使用。

1997 年,Ross Anderson 描述了 Eternity Service,这是一种匿名的去中心化存储介质,可以保护文档免受拒绝服务攻击。自 2000 年以来,LOCKSS(Lots of Copies Keep Stuff Safe)系统一直以分散的方式保护数字文档免受丢失或损坏。2003 年,LOCKSS 研究还促成了第一个(屡获殊荣的)工作量证明系统,用于建立共识

2001 年以来,已经出现了用于跟踪程序源代码开发的分布式系统,其中当前状态通过前一个状态的哈希(上面反复提到的“校验和”)来指向前一个状态,因此不可能向后替换以前的状态。源代码管理系统Git在 2005 年发布,是为Linux内核的分布式开发而编写的,它已经成为开源项目源代码管理的主导形式,也是企业软件开发不可或缺的一部分。因此,Git 可以说是世界上使用最广泛的区块链解决方案。与之前描述的系统相比,每个开发人员都可以根据自己的意愿发展他们的私有链。通过(人与人之间的)对话达成共识。多链并不是真正的问题,当建立新的共识时,以分布式方式完成的工作不会丢失。

区块链三难困境

在这一小节中我们学会了一件事,同时获得所有东西很难。

无法同时获得三者

区块链三难困境假设你最多可以同时实现以下三个属性中的两个:安全性、速度和去中心化。没有正式的证据证明这一点; 然而,到目前为止,每个区块链项目都以某种形式遇到了这个障碍。

因此,任何相反的断言都应极其谨慎。请记住:“如果某件事看起来好得令人难以置信,那么它很可能是假的。”

可以少一点吗?

我们在这一小节再次看到,我们想要的更少,就会得到更多。

如果您可以省略其中一个,一切都会变得更容易(请参阅后文的列举)

从功能性的角度来看,我们也可以组成一个三角形:

  1. 达成全体共识(每个人在他们的账簿上看到相同的状态,即分布式账本),
  2. 参与者之间完全没有任何信任;以及
  3. 希望每个人能够输入自己的数据,只要满足某些最低要求就可以;他们不必去找协调员来做这件事。

正如我们所见,同时实现所有三个目标的成本非常高。如果我们可以省略其中至少一个,问题就会更容易解决。因此,让我们一个一个的来看看它们:

我们需要全体共识吗?

让我们将共识问题分为三种情况:承包商之间的私有区块链、仅用于可追溯性的公共区块链和带有加密货币的公共区块链。

私有区块链的主要用途是让商业伙伴相互保证某些事情。根据事情的性质,这些大多是双边合同。这不需要全体共识,只需两个商业伙伴同意。这比全体共识要简单得多,并且可以更有效地实施。因此,区块链的复杂性是完全不必要的,甚至是有害的(较慢的响应时间、不必要的宣传、成本……)。

对于构建货币或后续文章中的其他元素的公共区块链,乍一看,全体共识似乎很重要,因为每个人都应该了解每个账户的余额。但即使这样,全体共识也不是强制性的,正如我们将在其他支付解决方案中看到的那样;局部共识或一致性(这比全体共识简单得多,因为它只需要没有矛盾,而不是完美的一致)通常就足够了。但有关加密货币的文章中有更多关于全体共识的内容。

如果公共区块链仅用作信息存储库,就像大多数基于区块链的公共部门数字化项目一样,则完全不需要全体共识。完整性、透明度和信息未被篡改的证据已经足够了,而且这些属性更容易实现。如果我想证明证书没有被更改,来自受信任机构的数字签名就足够了。尽管不变性经常被引用为一个目标,但实际上它通常并不是可取的。拼写或故意破坏等造成的错误应该能够被纠正,并且被遗忘权也必须被考虑在内。也就是说,条目应该可以更正或删除,但这些更改应该是可追溯的,追溯可以只能由监管机构实施,也可以允许公众查询,这取决于实际应用

(技术上最昂贵和最复杂的附加选项是防止多次并行使用单一货币,也就是“双重支出”。只有在区块链记录重要事物时,比如货币之类,只能使用一次,在那时我们才需要它。有关此内容的更多信息,请参阅即将发​​表的关于加密货币的文章)。

昂贵的额外费用真的有必要吗?

我们需要每个人的写权限吗?

在许多用例中,只有少数授权作者;理想情况下,他们甚至属于同一个组织(商业登记处、土地登记处……)。 或者,众所周知,他们只负责部分数据(等级制度、联邦制……)。这也就是说,即使有必要达成共识,谁可以为达成共识做出什么贡献也很清楚。同样的,这导致了更简单的解决方案。

你想要一点信任吗?

如果至少有一点点信任,并且在这种信任被滥用时可以使用外部机制(媒体、法院等)处理,那么无论什么证明和全自动共识的巨大努力都将毫无意义。

现实

这一章,我们来重温最初的承诺。

让我们再看看区块链作为灵丹妙药出售时的承诺

提前说明:由于“承诺”中的主题只是非常笼统的表述,无法进行详细分析。尽管如此,我将我个人对此类系统的期望添加为需求,并试图通过这样的作法来使这一部分更加具体。

我根据八个标准对该主题进行分析:

  • 他们是否需要完整性、可追溯性、不变性或防止双重支出
  • 全体共识”分为两部分:
    1. 我们需要一些全体性或多边性的东西吗,还是更简单的双边协议就足够了? (“两个以上的组织”)
    2. 多边/全体共识是必须的吗?(两个组织之间的共识要容易得多;如果只需要一致性,这也适用)
  • 这是否是一个技术(或技术上可解决的)问题,或者我们是否更愿意在这里处理第 8 层问题,即人类希望参与决策或被允许走自己的路。
  • 最后但并非最不重要的一点:在我看来,将各个流程实现完整、全球统一的数字化,从根本上来说是否是一个好主意(泛指或特指通过区块链实现)。

可以在下表中找到纯粹的金融主题“金融交易”和“洗钱”;不过,它们将在下一篇文章中讨论。

主题完整性可追溯性不变性组织 >2共识双重支出第8层好主意
金融交易(✅)(✅)(✅)
保健☹️
身份管理
洗钱
保险(✅)
供应链(✅)
流动性
能源市场
数字选举(❌)☹️
数字证书(✅)

让我们以几个热门话题为例:

数字选举

这一小节中,我们再次对数字化选举的想法感到不寒而栗。

几年前,电子投票在瑞士已经被热烈的讨论过了,所以这里只是几个关键点。在投票方面,信任至关重要:

因此,我们想要获得完整性和不变性,但大规模的可追溯性已经很危险了。

我们确实有一个严格的等级制度(联邦、州、市级),而不是一群相互不信任的人;因此,只需将结果传递给更高级别的层级(并验证它们是否包含在结果中),就可以确保全体共识。

事实证明,各种电子系统存在不可靠、容易被操控有故障或不安全的问题。即使不存在这些技术问题(但是,部分技术问题也是基本问题),不透明或缺乏可追溯性的问题仍然存在:目前,在许多瑞士城市都可以观察到纸质计票过程。多亏了这些提出批评的公众,伯尔尼市的一些电子计数问题也可以被识别得到改进

这意味着电子投票可能看起来很明智,但它具有选举舞弊或者(甚至更糟的)失去信任的高风险,而且几乎没有任何时间优势(至少在瑞士,结果通常在投票结束后几个小时就知道了)。尽管进行了激烈的讨论,但甚至没有人开始展示区块链如何在这方面提供帮助(除了挥手致意的一般性主张)。相反,我完全可以想象,这样的系统将是任何极权主义政权所梦寐以求的。

因此,我认为电子区块链投票绝对是一个可怕的想法,没有理由去否定这一点。

数字证书

仅能给出不及格成绩的一个小节。

在德国,一个将学校成绩单区块链化的项目在花费超过 100 万欧元后刚刚被取消,但没有取得任何成果。

首先,人们担心任何有保证的真实数字文件都会增加数据或身份盗窃的压力。另一方面,如何保证数据的质量是值得怀疑的,大致如下:

“区块链骗不了你,但你可以骗区块链。”

(顺便说一句,这是区块链预言机问题的一半。)

第三,这也提出了区块链将有助于学位证书的问题:

  • 在任何学校,都有几个人自然地参与向证书提供数据的过程,因此有可能直接或间接地颁发不正确的证书。虚假或伪造的证书如果以这种方式被引入这个受信任的过程,将变得与正确证书无法区分,无论它们是否在区块链上。
  • 无论如何,完整性、可追溯性和不变性将由官方机构的数字签名来保证,因此不需要(额外的)区块链。
  • 可以通过独立的时间戳来防止证书的后续回溯
  • 学校之间没有必要达成共识。每个学校都可以独立为其毕业生颁发证书。
  • 甚至区块链的去中心化也受到了破坏:文件真实性的验证只能通过德国联邦的中央网关进行。
  • 数字学位证书不被人普遍接受的原因是缺乏对一个统一的过程的广泛认可,而不是其技术实施的复杂性。即是说,这是一个典型的第 8 层问题(译注:即人的问题)。

此外,在实现应用程序时,违反了(不仅是 Web)应用安全设计的基础概念,将普遍接受的设计标准(例如使用少数简单的工具、不信任任何用户输入……)抛诸脑后。这些东西应该从一开始就考虑和构建,而不仅是在你想构建一个特别值得信赖的应用时。

这个项目不仅显示出似乎从未有人问过一些基本的问题。它使用了 16 个(!)区块链,引发了很大的问题。早在一年前,一个昂贵的疫苗接种证书原型(后来没有投入使用)被各方公开批评,因为大家不理解为何它浮夸的使用了 5 个区块链。这个项目的区块链增加到了 16 个,这不仅看起来很奇怪,而且,恕我直言,只能得出两个结论:

  1. 这 16 条区块链中没有一条能够保证在未来可靠的持续运行并保持安全,也就是发挥其主要作用————作为一个持久而值得信赖的存储媒介。
  2. 合伙人中牵扯了太多特殊的利益关系:每个人都想推动“他们的”区块链。

两者都没有表现出对区块链及其支持者的信心。

这两个项目(疫苗接种证明和证书)都使用了多个区块链这一点,还指出了共识是无关紧要的。相反的,最重要的其实是在某个时间点(也就是时间戳)之前的(非常非常简单的)创造证明

(顺便说一句,这个项目还提供了另一个可怕的例子,它说明了技术实现如何经常性的彻底忽视重要用户群的需求。例如,学生们当然是为这项技术的重要受益者,他们期望该项目以完全不同的方式成功完成:当他们的表现不令人满意时,他们希望得到及时的反馈,告知他们可以做些什么来改变这一点。这与文凭上的数字签名无关。)

供应链 1:出处/原产地

这一小节我们又重来了一次。故意的。

香蕉真的是在人道条件下种植的吗?我桌上的药品是真药还是没有潜在危险的假药?这些是区块链技术应该解决的问题。我们还是长话短说,因为很多想法在上面证书的例子中已经解释过了:

在这两种情况下,区块链都不是解决方案,只有信任(和控制)可以提供帮助。是的,这需要人际接触和奇怪的现场访问;但其他任何事情都只不过是对欺诈的公开邀请。把它处理掉吧。

供应链 2:承包

只有标准流程有帮助的一个小节。

供应链的第二个承诺是更容易和更快地形成合同。只有当合同双方意见不一致时,合同才真正重要。然后它必须是无懈可击的,何时合同义务被视为已完成,应该接受哪些争议解决机制,这些在合同中应该有明确的规则。只要一切都是阳光和玫瑰,对各自职责的粗略定义就绰绰有余了。

区块链中的合约(更重要的是,正如我们将看到的,智能合约)也必须适用于那些恶劣的条件。只有当一个人可以依赖交易对手的合作(共同利益、信任、小风险……)或可以重用标准化合同中的元素时,才会出现真正的速度优势。

评估

这一章,我们回顾一下那些幻灭的东西。

以下是前几页的简要摘要:

  • 区块链被赋予了各种属性,但这些属性很少被具体地证明其合理性。相反的,需求的模糊性、系统的复杂性、解释中缺乏结构,区块链似乎根本没有减少这些问题。
  • 真需要透明和安全时,简单、清晰的解决方案总是更可取的。复杂的解决方案不仅造成了更高的错误或误用的可能性;也经常被故意用来掩盖真实的过程
  • 每当你实现一个过程,你都应该提前知道哪些技术功能是你真正需要的。明确你的目标和基本要求,这样可以简化实现,并减少最终解决方案的资源消耗;通常效果非常明显。
  • 技术本身几乎是微不足道的;但是通过假设复杂的分布式依赖关系,并拒绝包含哪怕是一点点信任的暗示,会得到复杂且低效的解决方案。
  • 每个主流区块链的电费每天至少达到 2000 万法郎,并且还在不断上升。直接再融资是不可能的,只能将其寄托于希望(在一个绝对试图谴责信任的系统中!)。
  • 通过建立(有时是过高的)经济激励措施,人类的贪婪被过度激活,其他美德被废弃。
  • 替代方法(例如权益证明)过于依赖额外的复杂性,其副作用很难预见。另外,对网络攻击者来说,针对权益证明参与者的有针对性的攻击在经济上可能非常有利可图。
  • 对于区块链所声明的许多目标应用,审计日志、数字签名和时间戳的组合就足够了。从几乎任何角度来看,它们也更容易实施,并且更便宜。
  • 如果应用程序要安全,则必须包括所有过程和参与者,尤其是用户。复杂性和不透明性往往会导致用户采取对策,进而危及整个系统。
  • 对安全机制(不仅是区块链)的考虑不周的使用,只会导致所有诚实的参与者在日常工作中不断受到看起来毫无意义的障碍的影响,而坏人几乎不需要任何额外的努力,或者相对还更容易一些。这绝不应该是数字化的目的。

被误用的安全机制,包括区块链,对好人来说是一个令人生畏的障碍,但对坏人却没有保护作用。(图片来源不明)

由此我们可以得出其他一些结论,其中:

  • 作为魔法出售的技术,几乎没有一个像魔法一样易于使用。相反,对魔法缺乏理解这件事,可能隐藏着更大的隐患,这是童话故事中熟悉的主题。
  • 数字化不能简单地通过使用技术(不管是不是魔法)来解决。流程和流程中涉及的人员至少同样重要。
  • 通常,一点信任可以大幅简化解决方案。但相关各方都必须争取(得到别人的信任)。
  • 区块链的创建是为了解决一个非常具体、特别复杂的问题:试图模仿纸币的数字货币,即匿名但难以伪造的数字对象。对于这个问题,当它可以直接应用时,它可能是一个很好的解决方案。但对于大多数其他过程而言,它做了大量的过度设计,因为即使是对前提条件的微小更改,也会产生更有效的解决方案。下面的(简化的)图表也说明了这一点。

根据 DHS S&TD 的区块链决策路线绘制的决策图。
(图片来源:NIST IR 8202:区块链技术概述,2018 年;第 42 页 的再创作,
PDF 第 53 页原文中的图片

对于每一种可能的数字化路线,都存在许多使用区块链的建议。然而,尽管十多年来投资了数百万美元,仍然没有可以广泛宣传的利用区块链特定属性的成功秘诀出现。区块链概念背后的一些看问题的角度和思考是令人振奋和有希望的,但这些灵感还没有得到成功的实现。也许这是因为区块链确实没有在加密货币环境之外创造价值;或者可能是因为对它的工作原理缺乏理解。我希望对这种理解有所贡献,并且很高兴听到成功(以及没有成功)的数字化项目。

问题

结束的一章。

以下是一些有助于将以数据为中心的业务流程构建为数字化服务的问题。如果这个具体的数字化过程要使用区块链的话,在参与的各方(“利益相关者”)开始讨论 “ 区块链吗?如果用它的话,该怎么做?” 这个话题之前,应该先达成共识。我希望下面这些问题能够支持尽可能多的项目更清楚地处理他们的数据!

— — — — ✀ — — — — — — — — — — — — — — — —

数据生命周期问卷

  • 数据:我们在谈论的数据究竟具有哪些属性(结构、依赖关系、数据保护)?
  • 结构:数据的格式、结构和依赖关系是什么?
  • 标准:完整性、可追溯性、不变性、机密性或全球共识是否必要?
  • 输入:数据源是什么?数据如何进入系统?
  • 质量:如何确保输入数据的质量(正确性、一致性、真实性、完整性……)?
  • 错误文化:如果错误数据(有意或无意)潜入,会/应该/必须发生什么?
  • 格式更改:未来应如何处理数据结构或格式的更改?
  • 数据保护:个人数据的更正或删除权应如何落实?
  • 处理:应该对这些数据执行哪些处理步骤?
  • 信任:可以认为参与者之间的不信任会长期持续吗?这种不信任可以通过等级制度或(工作)合同来管理吗?
  • 输出:数据应该如何处理?
  • 效果:根据这些结果,应该(自动)采取什么行动?
  • 结束:数据是否会过期?到那时应该怎么办?
  • 普遍性:这些属性是否同样适用于所有数据?

— — — — ✀ — — — — — — — — — — — — — — — —

一旦数据必须被修改或删除,这些数据就可能不适合区块链。但还是有其他选项

这份并不仅仅局限于区块链的,关于数据生命周期的调查问卷,还有一份经过布局调整、重新组织和扩展过的版本

进一步阅读


原作者:Marcel Waldvogel

转载请注明出处

Top