《 Web3.0 架构》写作主线

在2020年这个时间点上,每个人对 Web3.0 的理解都可能略有不同。本文来聊聊我正在写的《 Web3.0 架构》这本书会按照怎样的思路构建整个技术体系呢?换句话说,Web3.0 要解决的最大的一个问题是什么呢?要选用什么技术,从哪些角度来解决这个问题?

一个目标

不错,技术是用来解决人们的问题的。Web1.0 出现解决的如何是用统一的格式方便的分享信息。Web2.0 解决人和人之间的如何在线交互。那么 Web3.0 的核心目标是什么呢?

首先,Web3.0 的目标必须简短清晰,这样才能形成全球共识。网上有观点认为,互联网目前最大的问题是数据寡头垄断,所以 Web3.0 的目的是要用去中心化技术干掉互联网巨头。思路并没有错,但是作为工程师,我们的答案不是要干掉什么,而是要建设什么。本书认为 ”数据确权“,也就是把数据当做一种资产并且产权归个人,是 Web3.0 的最核心的目标。只要实现了”数据确权“,所谓的数据寡头,数据孤岛,隐私等等 Web2.0 的问题也都会解决。去摧毁谁不是目的,如果某些巨头能够推动这个目标,我们也是支持的。

当然,Web 是全球人的,不同的人有不同的目标,本书只是去瞄准最核心的一个。例如,Web1.0 的目的是分享,根本没有考虑过安全。但是网景公司,非要在 Web1.0 的不安全的基础上去努力构建一个安全的通信机制,于是 HTTPS 被发明出来了,人们从此可以放心的在网站上填写自己的信用卡信息了。Web2.0 并不是为隐私而生的,整个的架构是云计算的中心化的架构,人和人之间的交互要基于对第三方平台的信任。但是也有人要在上面去构建隐私的互联网,例如,洋葱网络 TOR 项目。Web 是覆盖全球的大系统,不同的目标可以保留多种可能,催生下一代 Web 的诞生。但是核心的愿景在一段时期内,肯定只有一个,本书会围绕这一个目标来聊,保证主线清晰。

而 Web3.0 的核心目标就是:数据确权。

两项技术

我们要做的事情明确了,但是用什么技术来做成这件事情呢?是用已有技术,还是抛弃过往,用区块链解决一切?

首先,Web3.0 要基于已有 Web 技术来做,原因有两个。

第一个原因,区块链的承载能力是有限的。很多区块链项目,倾向于脱离 Web2.0 的已有的技术基础设施,用区块链解决一切问题。但是本书支持 Blockstack 项目 CEO Muneeb 的一句话

区块链是不可能扩容的,就这么简单。Blockchain is NOT scalable PEIROD.

把 Web 的功能完全的搬到区块链,不是当下的区块链架构所能够承载的。区块链是非常昂贵的基础设施,每件事情都在链上完成,成本不允许。区块链项目 Nervos 团队有个”加密法院“的说法非常有启发性。大致的意思是,每个国家法院数量不多,不可能所有的纠纷都到法院解决。但是通过法院的威慑作用,大部分人是不敢犯法的,而且很多事情是法庭以外就可以解决的。类似的,Web3.0 的一个 App ,主体逻辑依然应该采用已有的 Web 技术来开发,只把一些关键的需要信任的业务交给区块链完成,而区块链就相当于一个”加密法院“。

第二个原因是,技术发展是渐进的,新技术只能在原有的基础之上慢慢生长出来。Web 已有的基础设施包括,Web 服务器软件,PKI 基础设施,各大公司的云计算架构的业务,DNS 域名服务,软件开发框架等等。这些都是多年真金白银的投入,不可能一下子推翻,合理利用,是可以服务“数据确权”这个目标的。

第二项技术就是区块链。“数据确权“的确需要对 Web2.0 做出一些颠覆性的改变才能实现,其中最核心的一点是要摆脱对平台公司的信任。例如,我在淘宝上发一个差评,为何几年之后,人们依然会相信差评是我发出的呢?这是因为大家相信淘宝的数据库,不能被我自己或者淘宝店主篡改的。淘宝作为可信第三方,提供了商业活动所必须的信任。或者,我用支付宝购买了一件商品,支付是否成功,也取决于大家对支付宝数据库的信任,而数据库属于平台公司的,所以本质上也是基于对平台公司的信任,才能完成支付。Web2.0 如果不能摆脱对平台公司的信任,也不可能实现用户真正的自己持有数据。去除了平台带来的信任,谁来提供信任呢?目前看来,可行的一套思路是从 Web2.0 的中心化的信任,转向去中心化信任,也就是信任很多来自不同利益体的人。而去中心化信任,至少在目前,最佳的技术实现就是区块链。

总结一下,实现 Web3.0 要基于两项技术。一个是已有的 Web 技术,因为技术发展是要在目前基础上逐渐长出来的,重启一套全新技术,很难落地。另一个是区块链,它可以提供去中心化的信任,替代平台提供的中心化信任。

三个角度

有了方向和技术,那么 Web3.0 到底要在哪几个角度发力呢?

第一个角度是去中心化。Web2.0 的主要架构是云计算。所谓云,说白了就是别人的计算机。传统 PC 时代,我们写了报告用 Office ,计算和数据存储都是在我们自己机器上的,现在有了云服务 Google Docs ,那么文档实际上是在谷歌的服务器上去写的。这种云计算的架构,天然的会把数据交给互联网公司。所以 Web3.0 要做的第一件事情是,让用户存储自己的数据。公司可以为用户提供好用的工具,但是不能控制用户的数据。数据只有用户自己能看到,如果在互联网上传播,那么信息一定是加密的。数据可以存在用户自己的设备上,也可以加密后存在云服务上。问题来了,服务器上看不到数据了,如何实现原有的功能呢?App 架构上的调整肯定是巨大的,这里不展开,书中会有详细描述。

第二个角度是去信任化。如果仅仅是为了更好的分享,去掉中心是相对比较容易的。例如,Web 之父 Tim Berners-Lee 的语义网以及 Solid 项目,都是可以做到的。但是 Web 发展到2.0阶段之所以能够腾飞,是因为 Web 承载起了经济体,或者说尊重了私人商业利益。但是有利益,也就有了欺诈。例如,我自己存储了一个对淘宝商品的评论,注明了我在什么时间,评论了什么。注意这样的评论是跟私人商业利益紧密相关的,所以我完全有动机去篡改时间或者评论内容。没有了平台公司提供的信任,谁来保证用户没有篡改自己的数据呢?有人说,Web3.0 是“可信互联网”,而信任的基础就是区块链提供的不被单一方把持的不可篡改数据。区块链的不可篡改,加上数字签名这样的密码学方法,就可以提供信任。

第三个角度是数字空间独立。Web 不可能再回到刚诞生时候的那种纯洁的以分享为目的的状态了,因为 Web2.0 重塑了经济,人们尝到了甜点,不可能再退回去。但是 Web2.0 上面没有独立的数字经济,而只是肉身世界的经济的入口。很多时候 Web2.0 的低效率就来源于跟肉身世界的绑定,造成很多过程是不能自动化的。而且全球化的时代,Web 作为一个天然全球化的存在,却被出自不同地域和文化背景的规范所约束,带来了各种贸易上的摩擦。现在,区块链带来了不可篡改的数据和加密货币,带来了不依赖地域文化而是基于数学规则来解决商业争端和支付的能力,所以让构建一个全球化的,承载独立数字经济的独立数字空间成为了可能。

这就是本书中要展开阐述的 Web3.0 的三个发展角度:去中心化,去信任化,和数字空间独立。

结论

到这里,《 Web3.0 架构》的主线就介绍给各位了,总结起来就是”一个目标,两种技术,三个角度“。“一个目标”指的是”数据确权“,有了明确的目标才能知道技术上要做哪些选型,哪些方面能妥协,哪些不能妥协。”两种技术“是 Web 和区块链。Web 纵然有种种不足,但它是几十年来人人互联的主要方式,真金白银的投入带来的基础,不可能一下推翻。同时,对云计算这种中心化架构和对中心的信任的依赖必须推翻,取而代指的只可能是去中心化的信任,目前区块链是实现去中心化信任的最佳技术。”三个角度“指的是:去中心化,去信任化和数字空间独立。