你有没有经历过下面两种情况?两种我都遇到过。
一个使用非常顺手,每天重度依赖的网站或者软件,忽然关闭,或者慢慢消失。从此找不到同样好的替代品。我用过一个很好的手机读书软件,后来,它停止了更新,但还能用。随着手机系统每年更新,有一天,我再也打不开它,一点图标就闪退,回到桌面。里面有我存的所有的书。再过一两年,它从手机商店里彻底消失。后来我换了新手机,就再也看不到它。
一个常用的按钮或者页面,忽然之间就不见了。可能被藏到更深的地方,或者换到别处,也可能被关闭或者下线。明明每天都能准确找到的东西,忽然有一天丢失,再也找不到,或者很难被找到。这种事情经常发生,对吗?
你正在车上坐得端端正正舒舒服服,忽然被一脚踢下车,然后看着这辆车自毁消失。或者像是手里有一把砍树用的斧头。它可能会坏掉,可能会变迟钝。这都可以理解。但是我不能理解,它好端端的,忽然有一天从我手里变透明,像烟一样消失。
新的互联网有没有可能解决这个问题呢?这需要解释一点点技术知识。
首先,这样一个软件跑在一台叫做服务器的电脑上。你可以在黑乎乎的机房里找到这台机器。如果这个服务器没人续费,付费中断,它就消失,就完了。现在,人们计划把这些软件分发到上万乃至数百万台服务器上。每一台机器上都运行着相同的软件版本。他们之间怎么同步?怎么保证最后所有机器上的软件和数据一致?这些具体技术性问题,留给开发者们。即便若干台机器或者一大片机器被破坏,整个机器群组依然可以提供完整服务。这解决了单点问题。
其次,有一个著名的网站叫做 “互联网的坟墓”,里面展示着各种死掉的软件和服务。这些软件和服务做得不够好吗?也许。但也有不少,因为他们所服务的人太少,收不到足够多的钱来保证这些服务的持续。在新的互联网,解决方案非常简单粗暴:首先,要有钱。要有钱,就要有钱包。而钱包只有持有密钥的人可以打开支付。
有了以上两个基础,还不够。这些服务器们怎么赚钱呢?答案是:处理数据,特别是处理新数据。
在软件里,有变量,有函数,有内存占用和吞吐。这些像是齿轮、传送带、钉子和榔头。数据从流水线一头进去,改头换面,从另外一头出来。这个过程会在数十个乃至上万台机器里同时发生,然后所有机器相互商量,决定他们之间产出的数据是否一致。如果数据都一样,他们就同意把这些数据分头记录下来,永久保存。在最后这一步,他们把最新的数据和之前的所有数据放在一起,计算出一个类似指纹一样的东西,然后把这个指纹放在所有数据中,最新数据的最后一行。这表示这一行用来验算和验证这之前所记录的所有数据。
人们把这些东西称为区块链、记账本。不过,树木的年轮也许是更好的比喻?
沿着树干靠近地面的地方横切,就能看见年轮。从中心开始,一圈圈展开。每一圈都靠着更近中心的一圈。在最外面,是树皮。我们很难把年轮单独切出来,告诉其他人:看,这是年轮的第几环。植物学家可以从每一圈的年轮中分析出植物成长乃至大气变化、环境变化的所有信息。但靠一环,这是不可能的任务。年轮的生长不是树的中心,而是最外层:里面的年轮一旦形成,就不会发生变化。在树干上,最活跃的有机组织不是年轮部分的树芯,而是树皮。
树皮,就是这些机器的角色和工作。积累起来的数据,就是年轮。树芯是树皮的积累,树皮一年年新层代谢,向外延展,逐步形成更粗的树干,以及一圈圈的年轮。
换一个日常生活角度,“打印店”也许是更熟悉的例子。你可能在在街边见到过,或者在办事儿的时候会临时用到。打印店会事先收取它们所应得的服务费。这些费用的费率事先写在程序和算法里。要开启这些服务,你必须支付费用,这就是加密钱包地址。钱包地址里要有钱——这一切才能串起来。
回到刚才的问题:小而美,但愿意花钱使用的人很少,这样的软件怎么活在 Web3 上?答案有几个方面。
1、使用这些小软件处理数据,你必须预先商量好,先付钱。先问好打印每一页的费用和总价格,达成交易,拿上一叠打印好的文件,付钱走人。
2、如果软件作者自己不收费(顺便一说,Web3 上的软件都是开源的,可以被任何人检查。这一部分将在另外一篇文章里单独讨论),你依然需要支付数据处理费和折旧的打印机成本。店主并不关心你要打印的是照片还是合同,他只关心你使用彩色打印机或者激光复印机,按照份数来收费。或者像是去书店买书,店主并不关心书的内容(从消费的角度),只要你按照标价付款,尽情购买。
3、打印店并不单独为某个软件收费。他们以相同的方式为其他很多软件收费,能赚不少钱。比如一个公司跑到打印店,定制了数千套精美的彩色照片打印。这能让店家赚不少钱,足以维持整个打印店里从店面到打印机的所有开销。现在,你也去了相同的店,花了一毛钱复印了一张信纸。你有钱包,有余额,足够支付复印成本和手续费。打印店毫不犹豫,以完全相同的礼节、礼貌和态度为你完成相同标准的服务。打印一份它就能赚一份钱,并不挑剔业务。
规模不大,频次不高的软件服务,在过去数十年,它们注定会倒闭或者消失。或者单纯依靠爱好者燃烧自己来存活。现在,只要这些软件被发布(顺便一说,发布环节是要收费的,因为这涉及到数据处理),它们就被分发到成千上万的打印店里,保存成模板(比方说,一份合同模板)。维护成本会分摊给使用打印服务的人。储存模板的成本非常低,而打印店则依靠大量新的数据业务来养活自己——现在的状态看,它们活得非常好。
这两个比喻可以相互对照:打印店和树皮像是一个东西。打印出来的一叠叠纸和年轮很像:正常情况下,一份文件总是需要按照一定顺序排列才能正常使用。而年轮里保存信息的格式就是打印店里储存的各种文件模板。
让我们重新来一遍:软件发布以后,托管给大量相互对话的电脑。每一台电脑都按照相同的方式运行这些软件,相互对照各自的成果,确保大家的运行结果一致,最后把产出的数据分头记录。在这个过程里,发布软件需要从钱包里付费,运行软件需要付费,储存软件处理出来的信息(比如,老师给你了一个小红花),也需要付费。重要的是,这一大堆电脑并不依赖单一软件存活,因为它从大量不同的客户需求上赚钱,而赚钱的方式却是唯一的:打印。对这群电脑而言,收入最稳定的办法不是挑活儿,或者把数据打包了卖给广告商,而是认认真真,老老实实,一视同仁地按照先后顺序,承接所有的打印任务。最后,技术上开源的程序和算法保证了这个过程。
在新的互联网 —— 按照最近的说法,在 Web3 之上,软件忽然消失的概率大幅降低(不会降到零)。只要这群电脑还按照约定接单,能稳定赚钱,打印店里的模板就一直可用。因为这些软件能找到简单的办法,让使用者直接付款给维护者,维护者也有更多动力,更多保障,有更大的动机保持软件可靠和更新:毕竟一个模板被用得越多,作者所分到的钱也就越多。就像一本书卖得多,作者和出版社能赚更多钱。
为什么叫做重启互联网系列?我不知道你会怎么想。但我个人更喜欢这样的时代:我买了一本书,我可以放在家里的书柜里,看着它一天天变黄。我极少担心它从书柜上忽然消失,或者少了几页,或者明明书柜一直关着,但其中几页被人用刀划开,还用笔涂黑。任何时候我打开它,我能回忆起我和它在一起的所有记忆和回忆,所有的美好和不好。
