我们从历史和堆栈角度了解了不同时期的互联网模式的特征,也理解了Web3的核心理念。
从本章开始,我们将进入Web3内部,从当前技术架构的问题入手,重点分析Web 2.0当前的架构与问题。
当前互联网的架构与问题
Web1.0和Web2.0互联网的本质是人类对信息流的记录、创造和分享能力的两次爆炸级增长。
自20世纪90年代以来,计算机用例的范围迅速扩大,涵盖电信、游戏、娱乐、文字处理及更多的应用。通过计算机网络传输信息的方便性,是社会自我组织方式的一个根本性变化。因此,我们看到了社交、娱乐、媒体、知识库及人类文明中其他重要信息流的巨大变化。
1-传统互联网架构细节
当今互联网中通用的计算机通信模型中,相关协议标准(OSI模型和TCP/IP模型)中只定义了数据的格式和传输规范,网络只作为信息传输的管道,没有对用户的身份和状态进行统一管理和统一存储。
身份和状态只独立存储在第三方浏览器和第三方平台的中心数据库中,在不同场景下数据不互通,无法迁移,也容易被黑客攻击或被平台“内鬼”随意篡改。
无状态互联网参与者无法保存自己的状态,也不能把状态从多个应用平台传递到另一个应用平台。
2-传统互联网的弊端
传统的互联网应用使用闭源代码,将业务运营逻辑变成了不透明的黑盒,从而垄断了数据。
而Web3中因为区块数据库和智能合约是公开的,数据所有权归属于每个节点,因此用户能够真正拥有自己的数据和链上数字资产,杜绝了像谷歌和苹果这样的大公司对个人身份和信息的控制和垄断,也杜绝了黑客攻击导致的大规模数据泄露。
3-Web 2.0中心化应用架构范例
Web 2.0中的中心化应用与Web3中的dApp应用体系完全不同。
以典型的微博为例,它是一个社交网站,允许用户在平台上共享自己创造的内容,浏览其他人发布的内容并进行交互。虽然操作看起来很简单,但微博的应用程序架构很复杂。
首先,必须有一个地方存储基本数据,如用户、职位、标签、评论、喜欢,等等。这样一来便需要一个不断更新的数据库,也就是Web2.0应用中的中央服务器。
其次,后端代码(使用Node.js、Java或Python等语言编写)必须定义微博的业务逻辑。例如,当一个新用户注册并发布一篇新博客,或者在别人的博客上发表评论时会发生什么。
最后,前端代码(通常用JavaScript、HTML和CSS编写)必须定义微博的页面逻辑。例如,界面的网站元素布局,当用户与页面上的不同元素交互时会发生什么。
综上所述,当用户在微博上发布动态时,需要与微博的前端交互,前端记录状态和数据变化,并传给后端服务器,服务器将变动改写到数据库中完成记录。
记录用户信息、用户资产和用户权益的所有代码都托管在中央服务器上,最后通过客户端或浏览器发送给用户。
以上就是一个Web 2.0应用通常的工作方式。
传统互联网的架构局限与闭源代码的弊端,到Web 2.0应用的复杂架构,都在局限用户思维与发展进程。
但在Web3 中,这一切都在改变。区块链技术为Web3应用程序提供了一个新方向,身份和状态被记录在Web3网络中。期待为大家展示Web3的dApp架构,体验用户交互新时尚。