李子 佐治亚理工大学科学、技术与社会研究博士候选人
前一阵,河南郑州等地出现罕见暴雨,牵动着全国人民乃至全世界华人的心。 人们在网上展开了一场爱心接力,包括不断转发相关救助微博,用在线协作文档汇总救助信息。 而各种关于“灾害自救”的内容,也在网络上传播开来,有的甚至带有一丝末日将至的味道——包括没有干净饮用水应该如何处理尿液应急,以及在野外生存三天三夜需要打包哪些物件,等等。
互联网上这些关切与帮助,确实发挥了很大的作用。 但在河南汛区的许多人,遇到的却是另外一种困境: 断网。
大面积的停电带来的移动信号中断,不仅让人无法上网发布、查询各种救援信息,学习应急小贴士,更重要的,是许多更加基础社会功能的中断:
人们习惯了移动支付之后,身上没有现金了,于是支付成为了一个问题; 没有打车软件,也没有GPS,不知道该往哪里走; 还有共享单车,尽管服务提供方宣布单车免费骑,但因为没有网络,单车都无法解锁。
一场暴雨,暴露出这样一个问题: 当失去互联网之后,现代城市的我们也同样失去了一多半生活技能。
在过去二十年里,互联网进入到我们生活中的大部分领域,从学习到娱乐,从购物到健康,互联网的角色正越发重要。 尤其是过去十年,随着移动互联网的发展,让互联网的便利性在手机应用上得到巨大的体现。 移动支付、共享单车、外卖等各种O2O服务,类似的例子不需要再花篇幅赘述。
然而,当我们生活的方方面面都得到互联网帮助的时候,我们却很少意识到,这些五花八门的服务、功能 (其中很多还相当基础、不可或缺) ,全部都依托于我们看不见的电子信号,以及电子信号背后的基础设施。
从3G到4G再到5G,基础设施一再升级。 正是得益于不断提升的网速,才让即时的、数据量巨大的通信成为可能; 同时,我们也能够将需要瞬时、快速反应的功能,依托于移动网络——比如支付。 如果我们还处在“小灵通”的时代,打个电话都要站在风雨中不断变换姿势求信号,那么,随时随地扫码付钱这种事情是简直不能想象的。 在这一点上,我国的后发优势以及基建能力得以凸显,小县城农贸市场里的信号完全不比北京三里屯弱,这也使得更加基础、更加民生的功能得以在大范围内普遍实现。
然而,这种在平日状态下牢固、平稳且高效的系统,一旦遭遇不测,便会形成大规模的、波及面广的且短时间难以恢复的瘫痪状态。 这和各种依托互联网通信的各类服务的“中心化”有很大关系。 比如支付,传统的纸币,由国家发行并使用其相对稳固的主权作为其价值的担保,我拿五块钱去楼下买个冰棍,是不需要实时同步到某个数据中心的。 但依托互联网的交易是虚拟的,必须实现实时的、中心的通信,才能确保个人账户、商户账户的信息同步。
几乎所有依托于互联网、涉及交易的系统都是如此。 而通信系统,也同样依托于中继站、服务器,并非用户之间点对点进行。 这样的系统,由于其重要性和广泛性,就必须保证它能够承受各种各样的错误、事故乃至灾害,并且能够很快从各种错误中局部或者整体地恢复,保证大部分人的正常使用。 用技术术语来讲,这便是要提高系统的“鲁棒性” (robustness) 。
“鲁棒性”是一个专业术语,对于计算机软件来说,在输入错误、磁盘故障、网络过载或有意攻击情况下,能否不死机、不崩溃,就是该软件的鲁棒性。 同样的,广义上的技术系统也有“鲁棒性”,能否在遭遇各类不测时还顺畅运行。
用一个通俗的比方来讲——智能手机虽然功能强大,出了一点小问题我们基本束手无策; 而功能机,摔到地上碎成几块,拼起来之后还能照常通话,它的“鲁棒性”就很高。
我们现在的技术系统,功能可谓是越来越强大。 而现在的问题是,如何提高系统的“鲁棒性”? 一般而言有两种思路,一种是降低出错的频率,一种则是提高出错的恢复速度。
从基础设施的角度上来讲,重要基础设施的鲁棒性一定是非常高的,比如手机通信、银行支付等等,它们通常会用大量的数据备份,分散服务器等方式,保证一个地方出现小故障、不影响整体的功能。 同样也需要频繁的日常维护、设备更换。 这是鲁棒性的一个方面——极大降低出错的频率,且拥有大量冗余,保证在局部出错之后整体能继续得以运行。
但各种依托于互联网的林林总总的服务,则没有办法承担构建这种极其稳固的系统的成本,而且相对受制于互联网本身的设施运行。 大多情况下,许多技术产品的架构,甚至是过于复杂的,要一个简简单单的东西日常顺利运行,需要非常多其他的东西无缝配合,而这些东西在出问题之前很难意识到。
大量的智能应用,使用的其实是中心系统的计算能力以及数据。 比如出行健康码,它需要移动定位信息、移动数据网络,再配合个人的信息输入 (有时候还要绑定手机号收发短信、绑定身份证号、进行人脸识别等等) 才能正常生成。
如何避免这样的系统因为一个环节出错而失灵? 在无法实质性降低出错频率的时候,可以考虑通过快速的、灵活的恢复能力,提升系统的鲁棒性。 在计算机领域,这种设计被称为“面向恢复的计算” (recovery oriented computing) 。 相关领域已经有许多复杂的技术设计案例,但在更广的、联系到人的应用层面上,我们的确可以从这种思路中学习一些基本的原理。
一是在合理的地方去中心化,让广泛分布的个人设备和硬件承担更多计算与授权的职责。 比如使用近场通信 (NFC) ,实现小范围的、甚至点对点的通信和传输。 譬如在通信方式上,传统的磁卡和IC卡就要“简单粗暴”很多,这种情况下,不需要每一个设备都联通网络,磁卡里存储的信息就足够支撑点对点的交易了。
而在加密方面,除了实时输入密码、扫二维码等需要联网的方式,也可以考虑提供授权码——比如知名的“二步授权”秘钥软件“Duo”就有一键生成授权码的功能,这些码用固定的加密算法生成,可以打印出来、或者用手抄写出来,放在安全的地方,一旦手机丢失或者网络失灵,这些授权码就能派上用场。
另一点则是在小的范围内,让一个技术系统具备自成一体的能力,并根据更大范围内的环境进行自适应的调整。 一座学校,一所医院,一个街区的交通信号,甚至是一套“智能家居”等等,都可以有自己的数据备份、紧急状态下的操作方案,无须依赖外部通信网络。 必要的时候,也能够给予相关人员以自主性。
上面所举的例子,都是出于技术系统本身。 但除此之外,最根本的还是要让各种各样的系统为人服务,提高人本身的组织能力,承担起建立社会网络的功用。
前文提到,当失去互联网的时候,我们发现失去了在现代城市的生活技能。 因为互联网一个基本的作用就是将原子化的个体,用可量化、可计算的经济关系,隔空绑定在一起。 互联网帮我们翻越了很多物理阻隔,平台的出现也帮我们省去了从前必不可少的社会交往环节,自由网购、订餐、叫出租,在这些过程中甚至不必和任何具体的个人打交道。
然而,没了互联网,一个人就仿佛空降到了从前未至的陌生地域一般,再熟悉的城市也变得寸步难行。 我们所担心的,不仅仅是各种依托于互联网的技术无法实现,而是我们在脱离技术之后,不知道如何使用现实生活中的资源。
河南暴雨期间,很多社区回到了“原始”社会的通信以及交往状态。 在小卖部,人们用“以物易物”的方式购物,而在街道巷口,与天气和路况有关的信息,也通过口口相传的方式交流。 这些方式看起来非常简单,也带着一丝温情,但却是建立在信任程度很高的社会基础之上的。
实际上,互联网相关的技术也能够和人、和社群相结合,去培育、组织线下的关系,这些关系不仅是空间层面的 (社区、小区等) ,也可以是专业层面的 (某个职业、某种技能) 。 其中很多关系,也可以通过技术的手段得到强化 (例如线上协作等) 。 这些关系都应该以某种方式落到现实中,构建起社区的、集体范围内的社会资本 (social capital) ,在遭遇灾害或者不测的时候,能在小范围内形成互信的、快速行动的网络,线上线下协同互助。
另外,现有的成熟技术,也可以实现局部的、小范围的、快速的技术开发,例如微信的“小程序”功能——在求助信息大量发布的时候,开发者依托现有的地图功能模块,迅速开发出了集成求助信息的小程序。 在这个案例里,数据和计算的“中心”并不负责经手一切,但是却可以提供一个相对开放的框架,局部人员可以根据自己的需求迅速反应,并和线下具体个体的需求紧密结合。 这种经验也可以通过社群充分传递,在一个基本的层面累积快速反应的能力。
无论如何,一个健康的社会,必然是和技术系统和谐相处、相辅相成的。 我们既应该提升复杂技术系统的稳定性,也应该重视线下人与人之间的关系。 灾难过后,需要认真思考的东西还有很多,我们都必须认真审视技术如何参与了社会的各个环节,以及在下次灾难到来之前,究竟如何使用技术,建造一个真正牢固、紧密且充满人性的社会。
(本文仅代表作者个人观点,不代表腾讯研究院立场。 )