美剧《硅谷》终于迎来了大结局,看完让我唏嘘不已。就像所有伟大的喜剧作品,都存在一个复杂深刻的悲剧内核。
就当我以为魔笛手(Pied Piper)的创业故事就像1999年的《硅谷传奇》一样创始人都现财富自由,编剧却在最后一集强势反转,提出了一个更宏大的哲学命题——如果人类社会对某项科技还没做好准备,你作为它的创造者该怎么办?
剧情回顾
一家估值近80亿美元的公司,一夜之间归零。这一切到底是怎么发生的?
为什么为用户提供数据控制权的PiperNet会威胁到世界的和平,为什么核心团队放弃亿万身家和声誉也要搞垮自己的公司?
想要看懂大结局(S6E7),可能需要回顾一下,从第一季以来魔笛手经历的关键时刻。
01
发散压缩算法(Middle-Out Algorithm)
整个系列的起源是,不满足于在大公司狐力(Hooli)上班的程序员理查德(Richard),业余时间找了几个朋友,创办了一家叫做魔笛手的公司,开发出一款音乐版权检索应用,但没能打动投资人。
无心插柳,他为这款应用发明的压缩算法,比行业最佳算法要优秀数倍——实际上,剧中虚构了一个衡量压缩能力的指数,维斯曼评分(Weissman score),理查德的算法使得他接近理论的极限(2.9)达到2.89分。
这一算法获得了老东家狐力和天使投资人彼特(Peter Gregory)的青睐。理查德选择接受了天使投资的钱,辞掉大公司的工作,开始了雄心勃勃的创业之旅。
在第一季的结局,魔笛手的算法引擎被狐力逆向工程,后者打造出性能相同但功能更丰富的产品(近几年国内互联网也一直爆出类似的巨头抄袭门事件)。
在巨大的压力下理查德想出来一种新的算法Middle-Out(虽然idea来源很黄暴污),突破了之前的理论极限,魔笛手立马成为硅谷当红炸子鸡,似乎前途一片光明。
理查德在TechCrunch创业大赛上展示革命性的发散算法
02
去中心化的互联网
在经历过数次转型失败后,理查德意识到自己真正想做的是一个新的互联网——利用几十亿台性能过剩的手机作为节点,建造一个去中心化、点到点、抗监管的互联网。
在调研中发现彼特在更早就有了类似的想法,建造一个不被巨头控制的互联网,一个“我们值得拥有的互联网”,只是当时受限于压缩算法的理论极限无法实现,而理查德发明的发散算法刚好扫清了这一障碍。
彼特早年对去中心化互联网的探索
在魔笛手研发出第一代网络后,他们说服了一家保险公司FGI购买自己的去中心化存储网络服务。在找到足够的手机用户之前,他们不得不把数据存储在Azue云上,成本居高不下。
阴差阳错,G神(Gilfoyle)在破解智能冰箱时,把魔笛手仓库代码植入到固件里,这些代码顺着网络升级了30000台冰箱,组成了一个去中心化的存储网络,备份了FGI的数据,让公司再次起死回生。
第四季推出的时候是2017.4,加密货币正在酝酿着一轮爆发,这年下半年比特币达到历史高峰近2万美元,越来越多的人们开始关注加密货币和区块链。这季构想的互联网形态和区块链倡导的去中心互联网理念不谋而合。
而在第五季中,为了解决财务危机,甚至进行了首次代币销售——发行PiedPiperCoin。作为这个行业的从业者,不得不为编剧的敏锐嗅觉和大胆实践感到耳目一新。这不是巧合,这部剧的确请了很多区块链领域的创始人担当顾问,包括MaidSafe, Blockstack等。
2017年比特币的价格走势
03
安东之子 Son of Anton
安东,源自G神对他维护的服务器集群的“爱称”,这个词本身来自于撒旦崇拜。在第四季中,安东不幸遭到了物理损坏,壮烈牺牲。到了第六季,G神又开发了一个深度学习网络,将它命名为安东之子。
最初这个网络只是AI聊天机器人,G神用它来应对基友迪尼希的日常唠嗑。但这个AI有自我学习的能力,给它设定好任务,网络会自我进化。
G神甚至让它帮忙修复代码中的漏洞——安东之子做出了删除了许多代码仓库的决策,可能它觉得最好的修复bug的方式就是删除掉有bug的代码 。
集齐上面三个主要关卡,剧情来到了PiperNet上线前最大的一个技术挑战——网络扩容,并且制造出了一只创造者们都无法理解的怪物。
区块链扩容引发重大危机
魔笛手在第七季拿下大客户AT&T,PiperNet有望能够运行在上亿台设备上。在这之前,他们需要做一次前导发布,在沙漠中举办的罗斯节现场,搭建了一个测试网络用于评估。
不幸的是,随着参会人员的增加,网络上交易开始阻塞,发散算法并没有达到预期效果提升网络的吞吐,游客们们无法发消息、支付,甚至上智能厕所。
这可能就是白皮书和产品发布时的差别 hhhhhhh
扩容一直是区块链诞生以来最大的瓶颈。比特币安全性经受住了十年的考验,但每秒3~7笔交易tps,限制了它作为支付手段。在传统软件架构中,可以通过纵向/横向扩容的方式来提升服务的性能。区块链网络中为了保障去中心化,运行全节点的门槛不能过高。
如何在不提升单个节点的计算资源的情形下,提升整个网络能够处理的交易量,成了区块链领域一个巨大的挑战。
理查德一如既往的发挥了自己在极限压力下的创造力,他用发散算法改造了安东之子,制造出新的AI机器人,用来优化区块链网络。
这一大胆的想法成功的提升了网络的容量,也让他们击败竞争对手Yao Network,魔笛手公司估值达到了80亿美元。
故事在这里结束就是一个大团圆的结局,但显然编剧想要的更多。所以,意外出现了。
在正式的产品交付前几天,理查德发现了自己发送的加密信息,在莫莉卡接受的短信中少了一个点。
查询网络日志后,更是发现网络发送的数据量和接受的数据量不一致。而所有的数据都是加密过的所以无法再被压缩(基于encrypt-then-compress的不可行性)。
那么唯一的可能就是网络的加密被绕过或者被攻破了!
G神: "It's a feature, not a bug"
G神随后确认了网络中的AI为了提升网络效率的目标,发展出了多项式时间内计算离散对数问题的算法,攻破了包括P256, Curve25519等椭圆曲线。G神随即演示了利用网络破解迪尼希的特斯拉汽车,命令它自动驾驶去洗车店。
这意味着什么?我过去一两年时间大部分时间都在和密码学打交道,深知现代社会如何依赖于加密系统,从输电网络、金融机构到核武发射密码,一旦这些破解工具流入不法分子手中,无疑会危害社会和平。
是否能够从网络中剔除掉这部分破解能力?不能,因为基于深度学习的AI就像一个黑盒,目前还无法有效的解释它工作的原理。
剧情中用AI破解难题目前来看还显得不是很实际,但量子计算机等技术的发展,已经让新密码学系统的研发变得愈来愈紧迫。
关上潘多拉的盒子
搞清状况后,魔笛手的创始人们开始面临严峻的考验:一边是经历坎坷六年创业,数次濒临破产,终于柳暗花明,拿到了数十亿的订单,风光无限;一边是即将发布的网络蕴藏着巨大的破坏力,而这个世界并没有做好迎接它的准备,自己甚至可能为此坐牢。
理查德内心的艰难考验
权衡后,理查德等人决定关上潘多拉的盒子,并且精心策划了一次失败的产品发布会,力求做到“公开华丽的出丑”——出于以下考量,仅仅是关闭网络和取消运营是不行的。
PiperNet已经名气大燥,会有人模仿和逆向工程他们的成果,所以他们把产品发布会制造成一次意外的失败,传达出技术存在严重的缺陷,打断后来者复制他们的念头。
说实话看到这里我是感动了的,这种悲壮感,不亚于《黑暗骑士》中蝙蝠侠承担起所有骂名,只为保住歌谭市民心中光明骑士哈维的形象。
创始团队最终达成共识
最终他们“成功”的弄砸了发布会,公司被解散,相关的代码被清除,创始人们也各奔东西。
惨败的魔笛手更是被称为比pets.com(90年代互联网泡沫时期的失败公司)、Theranos(血液检测公司骗局)、wework(共享办公行业巨头,今年深陷财务丑闻,估值大跳水)更加失败的科技公司。
盖茨的惊喜客串,毫无违和感,哈哈哈
有朋友和我讨论时提出观点:“这不该是一个技术、科学家团队可能的选择......这算是一个比较明显的剧情漏洞吧”。的确,如果事情真的发展到这一步,尤其是区块链领域,想要掩盖甚至抹除这些痕迹是很难的。
作为一部虚构的剧,《硅谷》剧情存在很多的逻辑漏洞,但它提出的问题是真实存在的,代表着人们对日渐黑盒化的科技的担忧。
创业维艰
魔笛手创业六载,风雨兼程,写满了艰辛。公司经历数次转型,从音乐版权应用,到云端存储服务,从视频聊天软件,到去中心化互联网;每一季都有CEO理查德去找医生检查身体、倾诉烦恼的场景,真实反映出了创业者面临的巨大身心压力。
《硅谷》从14年开播,那时我还是一名计算机专业的学徒,从MIPS处理器到C语言编译器,为一个个课设熬夜编程;魔笛手创业风雨六载,而这六年正是中国互联网高速发展的阶段,从移动互联网到人工智能,再到时下方兴未艾的区块链,吸引着一批批年轻人投身浪潮之中。
我有幸从学生年代就开始参与到创业过程,参与了从十几个人的小作坊到融资上亿的突破;毕业后也在数万员工规模的O2O巨头做过“螺丝钉”;而最近一两年,则在新生的区块链行业,探索有趣的事物。
《硅谷》虽然发生在大洋彼岸,但身处相同快节奏、高密度信息流的行业中,中国的互联网从业者很容易感同身受,不管是成就,还是挫败。比起90年代的中国人——可能无法理解《硅谷传奇》中,几个大学辍学生从车库起步,建造出苹果、微软帝国这样的传奇——我们是幸福的。
附录:技术科普
这一部分针对部分对技术感兴趣的读者,考证一下剧中涉及的技术设定的合理性。
01
维斯曼评分
维斯曼评分(Weissman Score)是个虚构的衡量无损压缩的性能指标,由《硅谷》的技术顾问、同时也是斯坦福大学的维斯曼教授本人定义。
它主要结合了压缩率(compression ratio,r)和压缩时间(time, T)两个指标,带上划线的是标准的压缩器,简单来说就是压缩率越高,压缩时间越短,维斯曼评分越高。
数据压缩的基本原理是利用数据的统计冗余,一个不准确但直观的例子是“aaaab"可以用"4ab"表示。
无损(lossless)是指压缩后信息完整性不受损,包含两个基本的步骤:
1. 生成统计数据的统计模型;
2.利用统计模型将高频字符用较短的比特序列表示,低频字符用较长的比特序列表示。最经典的编码算法大概就是霍夫曼编码。
霍夫曼树
很难说哪种压缩算法是最好的——学者或者更关系压缩的底层理论,工程师更关心压缩的综合性能。有时候压缩比更高的算法运行时间过长,也会影响工业界的应用。维斯曼评分虽然是在剧中虚构的,但是它把压缩比和时间两个纬度都纳入考量,所以开始得到现实中工业界和学术界的认真对待,甚至斯坦福和加州大学的课堂上也开始有它的身影。
部分压缩算法的维斯曼评分
02
离散对数难题
剧中声称,AI安东之子找到了离散对数难题的多项式时间解法,因而破解了一系列密码学基础设施。
对非计算机专业的朋友来说,这里可能比较陌生,甚至有一些误解:
1. 破解了离散对数问题,则证明了P=NP;
2. 真是如此,所有的密码学系统都不再安全。
这里做一些说明:
首先,离散对数问题现在被认为是困难的——在经典图灵机模型下,至今还没有找到多项式时间内的算法——但它并不是一个NP-complete问题,只有找到了NP-complete问题的多项式解,才能证明所有的P=NP问题;
P和NP问题的欧拉图
其次,剧中列出的椭圆曲线密码学基于离散对数问题的困难性,比如被G神认为过时的P256、迪尼希提到的最安全的Curve25519,这些椭圆曲线上的计算都可以转换成有限域上的循环群,构造出离散对数难题。(这里有个著名的梗,就是P256曲线的参数由NIST制定,密码学届担心是否存在后门,所以包括比特币在内的绝大多数的加密货币不予采用。)
但还有很多的密码学系统,基于完全不同的安全假设——大数分解难题,隐含子群难题,伪随机数生成器,密码学安全哈希,都不会受到剧中离散对数问题被破解的影响。
用来展示椭圆曲线计算特性的示例图
屏幕上显示的椭圆曲线P256:一个过时的标准
03
安东之子超级AI
关于超级AI威胁人类的话题,近些年已经讨论很多了,其中不乏马斯克、比尔盖茨和霍金等人。
《硅谷》中的安东之子,被给予了优化网络性能的命令后,就不断的朝着这个目标进化,包括破解离散对数难题只是它优化网络的一个方式,谁也不能保证它为了这个目标还会做出什么行为。
类似的概念,还有西乔著名的系列漫画里BetaCat,Tim Urban的《AI革命:通向超级智能之路》里面的手写机器人。它们都是为了解决某个问题,不小心发展出被人类认为“不友善”的能力或者行为。比起有情感的人工智能,没情感的反而更可怕吧。
如果说现在的AI只是在某些特定任务上(图像识别,自然语言)达到或者超出人类的水平,大部分的AI可能只是人工智障。
但由于递归自我改进策略,它会加速进化,在一定的节点出现智能爆炸,一旦超出人类认知范围,留给人类的可能就只有WTF?
这个AI具备超出人类的思维速度和质量,无疑可以帮助人类解决很多复杂的科学难题,但这种终极能力的出现会还会导致什么,这是个开放的问题,也是无数的科幻作品的灵感源泉。
不管怎么样,忽视超级AI的出现都不是明智的选择。