导语
我们似乎已经习惯了随意地可逆撤销重做,错了,有什么大不了,
-
就当没发生过吧
-
忘了我说的吧
-
我们能重新开始吗? 好吧
什么,怎么听着这样耳熟?没错,我们已经如此习惯于将可逆性作为一种不言而喻的有用特性。毕竟,谁不喜欢无限的重做(不断以胜利的姿态示人)。
直到一种奇怪的东西——区块链的出现,在上面,我们记载的东西不可逆转,历史就是历史,没有血迹,但足够真实。
区块链的发明源于这样一种认识,即把工程的不可逆性转化为计算是有实用价值的。
最后它想证明,一份相对不会被篡改的历史记录具有经济价值。 是不是,
有点儿疯狂?
本文翻译自Venkatesh Rao 2017年的《Blockchains Never Forget》一文,因为太长所以分三部分翻译。作者的用词非常讲究,我试图在翻译时还原语言的美感,所以得进行持续修改;同时为了相对准确,在试图和原作者交流细节。 |
另,由于此文是vgr 2017年的作品,有些内容难免与今日情况有出入。
正文
区块链永远有记忆
就在三年前,也就是2014年,我写了一篇短篇小说,故事发生在一个大部分工作都围绕区块链展开的未来世界。这个故事设定在2120年后的某个时候,但似乎我们会比我想象的早一个世纪到达那里。通过区块链智能合约组织工作的想法一直在以惊人的速度向前发展。
在过去的几周里,我第一次亲身体验了这个分布式的未来。我将分享更多关于这一实验的细节和学到的经验教训,但我主要想把我在区块链深度探索的第一个结论喊出来:区块链是不可逆转的社会计算。
这传递出的信息是:区块链永远有记忆(blockchain never forgot)。区块链通过打造一个机构之外的/储存不可逆且不可消除的集体记忆/的基础设施,为未来全新的机构和技术景观的出现奠定基础。我想强调的是,这是建立在人为宽恕(artificial forgiveness)的基础上的。
在区块链上工作
token还代表存在于区块链上的智能合约
为了展开这场将涉及哲学,甚至是神学的讨论,首先让我分享一些关于2017年Ribbonfarm区块链实验的细节。
从表面上看,与传统的协作方式相比,在区块链上组织工作并没有太大的区别。以看板为例,看板是软件和制造环境中常用的工作流模型。下面这个图是看板在colony.io*上的呈现,运用到了区块链。
colony.io上的看板
这是我的私人Trello账户中的一个板子,它是用于组织看板工作流的流行工具之一。
trello中的看板
正如你所看到的,没什么明显的区别。如果你使用过看板,无论是贴了便签的实物白板,还是现在的数字工具,区块链的看板并没有什么本质的不同。这些都是相同的工作流管理:定义不同板子的功能和一眼就能看明白的工作流标签,比如to do,doing,done,给组员分配任务,跟踪工作进度,随着任务状态的更新,将板子从一列移动到另一列。
区块链中唯一不同的是,你可以为每个任务分配一个以token形式呈现的预算(在colony中,这些token位于私有区块链上,但原则上它们可以在任何区块链上,包括像以太坊这样的公共区块链)。一旦任务完成,这些token将被支付给完成任务的人。你可以借助这种token经济来创建和运行任务市场,或者你可以更进一步,想办法将token引入开放经济中,使之与其他资产的价值产生联系。)
在第一个实验中,我使用了colony平台来组织即将到来的ribbonfarm longform课程的作业评审。我们收到了77个应用程序的作业提交。我给每个作业设置了3个评论权限,人们写一条评论可以得到1个token奖励。然后我邀请了一些以前的ribbonfarm贡献者和长期读者来帮助进行评论。我们的想法是,保证每个应用至少由两个人评审,其中莎拉•佩里(Sarah Perry)和我担任这门课程的导师,从获得两张赞成票的应用中做出最终选择(当然也有否决或例外情况的酌情权)。
与任何市场一样,价格必须变动才能完成任务。我不得不两次提高报价,从1token到1.5token,再到2token。而且我还得提供必要激励,鼓励人们完成不止参与一个应用程序的评审。起初,我为5个应用(就是5个应用每个都有两个人评审)提供了10个token奖励,最后增加到12个。
与同期疯狂的公共加密市场不同,我们的小ribbonfarm市场实验比较井然有序。当市场清盘时,我们仅用了140多个token就对所有77个应用程序进行了评审。由于每个应用程序都被评审了两次,因此每次评审的成本平均约为1个token。以下是活动的快照。正如你所看到的,Tim Roy评论了两个,总共得到了3token。
好吧,到目前为止还算有趣,而且我也喜欢扮演银行家,通过行使权威和改变价格来操纵市场。但这也没什么特别的,不是吗? 这就是一种复杂但不神秘的市场特征。你可以把它设计成任何任务管理产品。该特性在概念上很简单,毕竟这只是记账。
除了一个与众不同的方面。
token还代表着存在于区块链上的智能合约。当一个任务被标记为完成并传输token时,它就才完成。 无论是企业级,还是法老级别,都得按照写出来的任务,然后完成任务。
没有回头路,没有重写历史这一说。但好的情况是,你可以有不同的观点,并从一个不同的历史记录的平行宇宙中分离出来(也就是去年DAO攻击之后发生的事情,那次攻击创建了以太坊(ETH)和以太坊经典(ETC)这两个平行宇宙)。
轮子和里程表
一份相对不会被篡改的历史记录具有经济价值
图片来源:Unsplash
基于区块链的技术和类似的非区块链技术之间的区别就像,你车里的里程表和其他所有仪表之间的区别。它们都是表盘或数字显示器,工作原理都类似于传感、测量、校准和显示。
但与仪表板上的其他仪器不同的是,里程表通常无法复位或回拨,并有工程设计和法律保护来确保这一点。因为一辆车的价值与它所行驶的英里数有很强的关系,所以在这种情况下,一份相对不会被篡改的历史记录具有经济价值。
现在,我们把这个想法应用到所有事情上。如果以一种既简单又便宜的方法确保每一项技术都有其自身运行历史的广义记忆会怎样? 如果里程表记录下了汽车的最快行驶速度且不可篡改?如果燃料或电池仪表保存完整的充/空循环或充/放电的历史记录切不可篡改? 这些都可以用硅和数学完成。不需要昂贵而缓慢的雕刻。无需蜡印,没有血迹。
如果文明本身有清晰的历史记忆会怎样?如果我们今天拍的所有照片和视频瞬间被不可逆转地保存到区块链,创造出一个可信的虚拟过去,我们可以通过虚拟现实时光机访问它,那会怎么样?
并不是所有的历史都同样重要或有趣,但关键是,历史和记忆是不可逆转的,并以某种方式反映到当前的行动中,甚至改变一项技术的基本特征。
好,你对工程的看法开始改变。
里程表是整个工程的典型人工制品,车轮是常规的工程,里程表是区块链式的工程。轮子可以向前或向后滚动。里程表只能向上滴答,无情地推动着汽车的贬值和逐渐变慢的速度值累积。
这意味着,当出现错误时,你不能简单地按下撤销按钮或还原更改。在我们的实验中,犯了错误。例如,人们偶然地评审了错误的应用程序包,因此有些应用程序得到了3个而不是2个评论,而其他应用程序只得到1个评论。
为了修正这些错误,我不得不分配返工任务,这是一种很常见的情况。但是由于设计上的原因,并没有直接的方法来反向事务。在一些情况下,当我在验证工作之前支付token时,人们会因为他们实际上没有做的工作而得到一两个token。
这就是众所周知的退款问题。对于普通的信用卡,退款事务在概念上是简单的计算逻辑反转。加法和减法一样容易。在区块链上,没有直接的方法来反转任何东西。这里将涉及人为宽恕(artificial forgiveness)这个概念,会在后面提到。
幸运的是,我设计了一个非常严格的流程,尽管我的流程没有获得任何6-sigma认证,但它非常干净,程序错误率非常低。
好了,这些不切实际的、珍贵如雪花片似的细节已经说够了。让我们来看看实践哲学和神学的关键细节:某些行为的不可逆转性。
可逆性特性和其缺陷
原子世界和比特世界的区别:不可逆性
图片来源:Unsplash
需要强调的是,我们在这里讨论的是社会不可逆性,这是一个需要大量工程才能实现的现象。
在物理层面上,计算当然像其他事情一样遵循热力学第二定律。事实证明,永久地删除一位——将一位设置为0,无论是1还是0——是一种增加熵的行为,并且是数字计算中不可逆转的(不可逆的物理,即体现在原子中)方面。比特与原子和数字二元论相遇的方面被打破了。
从历史上看,数字计算的物理不可逆性与实际用途无关。 即使是运行在全世界数据中心的最复杂的计算(包括所有的比特币挖矿),熵值的增加也比不上(例如)使用化石燃料引擎支持地球交通的熵值成本。更重要的是,它对计算的意义没有实际影响。与SSD相比,读写磁盘上的位可能涉及更多的净熵增加,并且你可能会重构代码以减少位删除并提高内存的效率,但是这对计算的意义并没有真正的影响。
在基本构成所有软件基础的常规计算中,撤销操作在概念上总是可能的,即使这种能力是人为限制的。例如,你需要某些制度限定的权力来批准信用卡的退款。
事实上,这就是比特和原子之间的定义区别。 在原子的世界里,一个掉下来又摔碎的杯子是不可能神奇地重新组合在一起的。国王所有的马,国王所有的人都不能再把胖墩儿组装起来了*。他们顶多能做个煎蛋卷。
*注:一个神奇的比喻,最早源于一首1797年的英文押韵诗
- Humpty Dumpty sat on a wall.
- Humpty Dumpty had a great fall.
- All the king’s horses,
- and all the king’s men,
- couldn’t put Humpty Dumpty together again
- 矮胖子,坐牆頭,
- 栽了一個大跟斗。
- 國王呀,齐兵馬,
- 破镜难圆没办法。
- –从1954年一直流传下来的版本
在数字世界中,破碎的玻璃可以重新恢复到原始状态。洒出的牛奶都可以流回破碎的玻璃,联想一下星球大战中的Yoda*。
*注:原文是Flow back into the unbroken glass, spilt milk can, if on-screen Yoda is.这里作者模仿星际大战中yoda大师特别的倒装说话习惯,同样使用了倒装的写法。
在比特的世界里,只要你保持完美的记录,你的存储介质不被损坏,原则上任何事情都可以被设计成逻辑可逆的,即使它不是热力学可逆的。当然,当规模变大时可能会有一些问题,但总有一些方法可以设计冗余。
撤销和Wabi-Sabi按钮
区块链将普通计算的逻辑可逆性作为一个需要修复的bug
图片来源:Unsplash
计算的可逆性不仅是原子和比特之间的主要区别,也是数字世界的主要卖点。(其他卖点比如:优于纸笔的计算速度。)
这个卖点,在历史上构成了数字世界相对于物理世界的最大竞争优势。文字处理机和打字机的最大区别在于,前者具有无限的撤销/重做的能力。《侠盗猎车手》和实体道路的最大区别在于前者可以让你的车“出故障”。在线投票和纸质投票(或在投票时打印纸质记录的电子投票机)最大的区别在于,你可以在前者中取消投票。
我们已经如此习惯于将可逆性作为一种不言而喻的有用特性——毕竟,谁不喜欢无限的重做(直到胜利)——但与此同时,我们很容易忽略关于区块链的最重要的事情:它将普通计算的逻辑可逆性视为一个需要修复的bug。 区块链的发明源于这样一种认识,即把工程的不可逆性转化为计算是有实用价值的。里程表和车轮一样重要。
这样做的方法是将物理排序的不可逆性(删除位会增加熵,所以计算需要消耗能量)与数学排序的不可逆性(难以反转的密码函数)结合起来。无论是物理上的,还是数学上的不可逆性本身都不足以在我们所讨论的计算中产生深层的不可逆性。 如果计算在能量方面是自由的,那么数学上的不可逆转性将是无用的。物理上的不可逆性如果没有一种方法可以通过数学把它偷偷带入算法中,那也是毫无用处的。
但是当两者都有可能时,才可以实现不可逆机制,例如工作量证明(Proof of Work)。你可以利用数学和物理,去设计不可逆的计算系统。虽然他们曾被成功的用来设计撤销按钮。
区块链所实现的并不是那种肤浅的社会不可逆性。 任何有能力的程序员都可以在不使用Merkle树、密码散列和工作证明算法的情况下将代码编写成软件。肤浅的社会不可逆性是一种错觉,认为拥有正确权限的管理员可以简单地取消事务和重做。或者更精确地说,这种肤浅的不可逆性始终与定义组织的权限体系结构相关。
在肤浅的不可逆性中,管理员的思想先于本体论中可逆的思想(如果你能原谅一个极客的玩笑:你决定做什么或不做什么,我将决定谁可以sudo或不sudo)。肤浅社会的不可逆性是相对的社会不可逆性。这种不可逆性只和当权者的授权程度有关,而且它永远不能穿透组织本身的核心,在开放的环境中找到根基。 威胁到权力结构的不可逆性,可以通过赋予合适的人改写历史的能力,被先天地包含在制度设计中。
另一方面,在区块链上记录事件(通过crypotgraphy-physical irsibility机制)对于实际用途来说实际上是不可逆的。在区块链上的某些制度中,你是否具有高级上帝级特权并不重要。即使你的私有区块链完全由一个实体拥有,这也没有关系。到目前为止,你可能已经了解到,与传统密码不同,传统密码是可恢复的,或者至少可以由计算机系统管理员重新设置,用于管理区块链活动的“钱包密码”如果丢失,将永远消失。没有管理员可以帮助你解锁丢失的资产(你仍然可以尝试使用蛮力解锁,但问题是,没有人可以通过命令覆盖数学)。
你正在体验的是数字版的覆水难收(Don’t cry over spilt milk)。
或者更准确地说,这种更深层次的可逆性概念领先于权威和许可的概念,这些概念进入了机构的设计。这是绝对的社会不可逆性。 它不是一组强加在某些可变角色上的关于可以做什么和不可以做什么的约束。
它是一种属性,一种记忆的属性。
不可逆性是区块链作为一个系统的必要条件。区块链上的工程是wabi-sabi工程。一种考虑不可逆性的设计模式,一种历史获得技术显著性的设计模式。伤口只能愈合,不能逆转。
在日本的“侘寂”美学模式(wabi-sabi)中,破碎的东西是用爱心修复的(通常用黄金等珍贵材料),然后具有了收藏价值,而不是假装没有发生过(比如美国保险公司做的那一套,用一大笔钱来试图掩盖一场车祸的痕迹)。它既实现了功能的修复,同时也保留了历史的痕迹。杯子上的裂纹变成了一条细细的金矿脉,永久记录着破碎的记忆。
可以想象,在任何基于区块链技术的工程构件中,一个通用的wabi-sabi按钮可以替代撤消按钮。一个按钮,当按下时,会导致愈合,原谅的事件,会使佛陀微笑。
下面问题来了,你能用这个强大的属性做什么?
(未完待续)
原文链接:https://www.ribbonfarm.com/2017/05/25/blockchains-never-forget/
作者: Venkatesh Rao 翻译:Jessie