原文标题:《Web3.0全景分析》
原文作者:李硕淼 Frank,ParallelVC 投资副总裁
一.\t人人都在谈的 Web3.0 究竟是什么?
互联网发展到现在已经经历了 Web1.0 阶段和 Web2.0 阶段两个阶段。Web1.0 阶段的网站多是静态网站,网络的使用者与网络信息之间没有交互的过程,使用者只能单一获取网络展示的信息,信息获取的有效性跟效率都相对较低。
随着网速的提升以及带宽的增加,人与互联网逐渐开始产生交互。
2003 年,O’Reilly Media 的副总裁戴尔·杜赫蒂提出 Web2.0 的概念。Web2.0 被称作可读写网络。在 Web2.0 初期,相较于 Web1.0,所有的网路用户可以自己创建内容并上传网络而不仅是从网络上获取信息,这大大增加了网络信息的丰富度。
随着近些年来 AI,大数据等技术的进一步发展,人机交互又被提升到了一个新的阶段。用户在网上产生的浏览信息、点击以及搜索等网上行为数据被捕捉并记录,技术后台通过用户的实时数据结合其过往信息可以分析出较为精准的用户画像,并根据用户画像来为用户推荐相应的产品或者信息。这样,既提高了商家的购买转化效率,同时也使得用户体更快捷的发现自己可能想要购买的商品,使用户体验变得更好。
但是信息集中化在方便的同时也有一个很大的弊端,就是用户所有的数据在其没有感知的情况下,被平台收集并且使用,甚至连数据的归属权都是模糊不清的。
在 Web1.0 以及 Web2.0 的初期,因为用户数据量较少,数据维度也相对较少,因此用户的个人数据无法产生太大的价值。
但是随着近些年来人们对于网络的使用权重加大,网络个人信息的价值也变得不可忽视。近两年,各国时有互联网公司侵犯个人隐私数据以及用户数据被盗的案例发生。未来随着人工智能物联网(AIoT)、5G 网络的发展,个人网络数据的维度将会更加全面,也更具价值,使得数据安全和数据隐私变得更加重要。
Web3.0 的出现就是为了解决目前 Web2.0 所面临的问题。而区块链网络因为具有去信任化,不可篡改性及确权的功能与性质,很好的满足了作为 Web3.0 底层技术的需求。同时因为网络架构的变化让数据不再是单纯的数字而是具有价值属性的商品,也使得我们现有的数据网络慢慢转变为价值网络。
上次写了一篇文章分析了去中心化存储在 Web3.0 建构当中起到的作用,以及去中心化存储的头部项目 filecoin 目前的发展状况。这次我将会结合 Web2.0 目前的架构情况来分析如果在未来想要完全落地 Web3.0 的构想,需要对目前的哪些技术组件进行改造,以及如何进行改造。
1. 目前 Web2.0 技术架构概览
图片来自 csdn
上图为目前 Web2.0 的技术架构方案,核心技术环节可以分为存储层,开发层,服务层,网络层,用户层和业务层。除此之外还需要测试平台,运维平台,数据平台和管理平台等辅助类平台的支持。下面将会展开研究每一个组建的具体作用以及在 Web2.0 到 Web3.0 的转换当中,是否需要进行相应的的升级。
一. 支持性功能平台
1. 管理平台
首先第一个是管理平台,管理平台主要服务于开发团队以及公司层面,其核心职责就是权限的管理,无论是业务系统,中间件系统还是平台系统。
管理平台的主要作用有两个。第一个是身份识别,需要确定当前操作人的身份,防止非法人员进入账号进行操作。第二个作用是划定不同操作人员的操作权限,防止未经授权的人员进行操作。
管理平台在未来 Web3.0 当时是不可缺少的一环。虽然目前的区块链项目都是基于目前公链开发的去中心化应用(Dapp),但是在未来的 Web3.0 世界中,不一定所有的项目都是新项目且完全开源和去中心化,更大的可能是目前的互联网企业进行迁移。那在这种情况下,管理平台仍然是不可以或缺的一个技术组件。即使对于去中心化项目,尤其是对于业务逻辑相对较为复杂的产品以及直接与金钱产生交互的项目,管理平台的必要性也是不能忽略的。
管理平台的缺失会导致严重的安全问题(包括外部黑客的攻击以及内部监守自盗的情况发生)。因为管理平台的主要是面向于 B 端用户且主要用于内部管理,因此没有进行去中心化改造的必要,完全可以延续目前的技术架构及产品设计。
2. 数据平台
数据平台是目前互联网技术架构中一个非常重要的部分。数据平台目前主要用于数据管理,数据分析和数据应用三个维度。
第一个维度是数据管理,数据管理包括数据采集,数据存储以及数据访问。首先是数据采集,目前的被采集的数据包括日志,用户行为,业务数据等信息。因为 Web3.0 是一个去中心化的网络架构,用户的数据也只属于用户。所以对于用户数据的采集机制是需要改造的,毫无疑问数据的收集工作还是需要 平台来提供的,因为用户没有获取以及收集个人数据的能力。但是平台获取之后如何确保其不作恶是一个需要研究的重要方向。数据存储,在上一篇文章进行了完整的分析。去中心化存储是不可或缺的,否则无法保证用户数据的安全性已经隐私性。数据访问服务主要负责对外提供协议用于读写数据,这一部分主要是协议层面与网络的去中心化与否没有直接关系,可以完整保留并且不需要特别的技术改进。最后是数据安全,因为数据变为去中心化存储,因为数据的安全的责任主要承担方变为了提供去中心化存储的机构,同时如何在数据产生到数据被存储到链上的中间环节也是非常重要的部分也是安全的薄弱部分,需要重点研究。
第二个维度是数据分析,数据分析维度中包括了数据统计和数据挖掘两个方面。这两个方面都是基于现有的数据进行进一步分析。与平台是否去中心化以及数据的归属权无直接关系。因此不需要进行特殊的技术改进。
第三个 维度是数据应用,数据应用层面主要依赖于大量的数据源以及强大的数据分析能力,只又通过数据分析出一定的概率才能应用。在 Web3.0 的时代里面虽然数据的归属权回到了用户手中,但是用户为了拥有更好的产品体验还是可以授权平台方使用自己的各类数据,因此数据丰富度不会收到太大的冲击,数据应用方面也不会有太大的阻碍。
3. 运维平台
运维平台主要是为了保证平台和应用程序的正常运营,核心的四大职责为配置,部署,监控以及应急。配置主要负责资源的管理,比如 IP 地址管理,虚拟接管理等。部署主要是负责将系统发布到线上,包括发布管理和回滚等。监控主要负责收集系统运营后的相关数据并进行监控。最后应急主要负责系统出现故障后的处理,例如下线故障机器,切换 IP 等。
运维平台的职责主要是保证平台的正常运行,与数据以及去中心化没有太大的交集,因此不需要做较大的改动。但是,因为未来可能平台的运营会与区块链技术产生一定的交集,所以需要对于链上信息及相关的运行情况进行管理和监控,这个部分是需要进行进一部分讲究及开发的。
4. 测试平台
测试平台主要用于日常平台上各个功能进行测试,主要分为用例管理,资源管理,任务管理和数据管理四个方面。相对于上面介绍的三种功能性平台,测试平台更为独立,与真实的业务场景没有太多的交互,因此未来发展到 web3.0 阶段, 测试平台也不需要进行大规模的升级或改进。
二. 核心分层
在整个 Web 的架构之中核心层可以分为 6 层,分别为存储层,开发层,服务层,网络层,用户层以及业务层。其中存储层,开发层,服务层以及网络层主要为后端的技术层,主要用于支撑应用软件,应用平台等的正常运营。而业务层以及有用户层主要为前段展示层,主要向用户展示信息以及进行交互。下面将会对这 6 层依次进行分析。
1. 业务层
业务层相对来说比较灵活,主要是根据不同的应用以及平台的具体业务逻辑进行设计。如果 Web3.0 继续延续目前主要地互联网架构,只是在去中心化存储和计算方面进行技术迭代,那么业务层不需要进行过多的调整。如果 Web3.0 是完全迁移到以区块链为技术底层的网络中,则业务层也需要进行相应的改造。因为在区块链为底层架构的网络中,数据的形态将发生改变,交易达成的方式和频率也和传统互联网架构略有不同。因此业务层需要根据其本身业务的特质来进行改变以免影响到正常使用。
2. 用户层
用户层相对来讲比较复杂,其中包括用户管理,信息推送和用户信息存储三大板块。其中用户管理和信息推送两个板块不需要较大的改进,因为不快不管是否网络为去中心化的,都需要拥有相同的用户登录系统(单点登录或授权登录)以及信息推送系统(核心为识别登入账号以及消息推送)。而不同于前面两个板块,用户信息存储板块将会变得相对比较复杂。
用户信息的存储又分为两个部分,第一部分是用户上传的信息,例如用户在微博上传的图片及信息以及在微信上传的信息。毫无疑问是属于用户的,但是这些又必须存储在平台或者应用端。一是因为大多数用户没有能力去独立设置属于个人的存储方案(去中心化或者中心化)。
另外因为用户的基数很大,且上传行为较为频繁。如果每个用户使用自己的存储方案,那么考虑到连接的延迟和调用的延迟,应用或者平台的用户体验将会受到很大的影响。但是如果全部都存储在平台端或者应用端又很难保证数据的隐私性,因为后端的技术无法直观的展现给用户,即使平台或者应用暗中访问存储甚至使用了用户的信息也是很难被察觉的。
因此如果这很的想要实现 Web3.0,除了解决去中心化存储这个基本的技术问题,还需要研究如何保证数据在被存入之前的安全以及隐私。用户信息的第二部分是指用户在网站上的行为数据,比如点击浏览了什么商品,或者查询了什么资料等。这类数据相对于用户上传的数据,更加难以管理。
因为所有的行为都发生在平台或者应用内,用户对数据拥有更弱的掌控权,甚至知情权。目前来看,用户是无法获知其本人在应用里面的行为数据,因此实际上来看归属权和使用权都是在平台一方的。如果想要让平台或者应用将数据的归属前还给用户本人可能更多的需要依赖法律法规的制定,否则平台及应用是不会放弃用户信息这类重要的资产。在技术方面,这类数据面临这和个人上传数据同样的问题,在数据产生之后如何保证被存入了去中心化存储,又如何保证在被存入之前开发者没有作恶是部分面临最大的难题。
3. 存储层
存储层可以简单的分成两个部分。第一个部分是数据库,包括 SQL(关系型数据库)和 NoSQL(非关系型数据库)。数据主要用来对数据进行管理的,可以对数据进行新增,查询,更新,删除等操作。数据库对于在存储中扮演者操作系统在电脑中的作用。即使未来实现了去中心化存储,数据库技术也是不可或缺的,因为没有了数据库,数据存储的效率,协同工作以及信息读取都会受到较大的影响。但就目前看来,相对去存储,数据库没有太大去中心化的必要性。
而存储层的第二个部分就是之前文章重点提到的去中心化存储技术,其中心化存储是实现 Web3.0 不可或缺的一个技术组成部分。只有实现了去中心化的存储,才能更好地保证数据的安全性以及隐私性,更多的信息可以参考上一篇文章,在这里不再过多赘述。
4. 开发层
开发层类似于上面提到的测试平台,在整个架构里面是纯功能组件,主要是为平台或者应用的开发提供支持。在开发层里面主要包括开发框架,服务器和容器三个具体技术环节。开发框架主要用于开发的骨架,对于不同的开发语言有不用的开发框架。这里的服务器主要指在软件层面对服务器的开发,使其与业务层, 用户层相连接,起到对平台或应用的支持作用。最后是开发容器,容器主要对开发之后的对象进行管理(包括生命周期,依赖关系等)。
开发层中的技术构成相对于网络结构来说比较独立,不需要为适应 Web3.0 从新设计技术架构。
5. 服务层
服务层主要用于协调在同一架构内,不同系统的写作问题。服务层中的主要三个功能模块为配置中心,服务中心和信息队列。配置中心主要用于统一调配所有服务器以支持各个业务模块,同时也要在故障发生之后迅速调配避免影响到实际运营。服务中心,主要是为了解决跨系统以来的配置和调度的问题,通过服务名字系统和服务总线系统对服务器进行识别以及调配。最后队列信息主要为了实现跨系统的异步通知。服务器模块主要用于对内用于支持平台或应用的开发,与具体底层网络结构相对独立。因为如果未来 Web3.0 的发展可以直接接纳目前的服务层。
6. 网络层
网络层和存储层相似,相较于 Web2.0 在 Web3.0 中将会又较大的架构改变,主要地变为从中心化架构转变为去中心化架构。网络成在传统的架构中主要包括负载均衡,CND,机房与中心三个基础模块。
在负载均衡中,包括 DNS 负载,硬件负载和软件负载。负载均衡的主要目的是为了让计算单元的负载达到均衡状态,除此之外负载均衡还需要基于负载,性能(吞吐量、响应时间)和业务进行考虑。负载均衡的主要服务对象主要是集中于平台或应用本身。但是其实 DNS 负载中依赖的 DNS(Domain Name System)是 Web 组成的一个重要成分,也是现在去中心化网络中重点探索的一个重点方向。
目前的域名系统为中心化系统,域名的系统可以简单的分为三层,最上层是 ICANN(The Internet Corporation for Assigned Names and Numbers 互联网名称与数字地址分配机构) 控制一切,居于中心地位。
第二层是域名登记机构,比如 Verisign,这些机构控制着顶级域名 (TLDs),比如.com。
居于最底层的是域名注册公司,他们直接面向客户,提供域名注册的零售服务。
在网络层面来看,ICANN 的绝对掌控权,也就意味着所有的域名及域名链接的网站都会接受 ICANN 的审查,同时信息也可能会被扣押和篡改,是的信息的真实性和自由度大大折扣。这里虽然不能通过对 DNS 去中心化来实现文章开头提到用户信息所有权的确认以及保护。但是如果实现 DNS 的完全去中心化,可以很好地时间网络的去中心化,也使得网络信息自由度大大提升。
不过目前看来 DNS 的去中心化难度较高,目前的项目如 handshake 还是要借助 ICANN 的中心化系统,主要是在 TLDs 和 CATs(证书授权机构)两个方面进行了去中心化的尝试。而从从总体来看 DNS 的去中心化与否不会对 Web3.0 造成实质影响,更多的是锦上添花。
第二个模块是 CDN(Content Delivery Network 内容分发网络),CDN 是现在网络中比较重要的一环。
CDN 依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN 的关键技术主要有内容存储和分发技术这两个环节,而其中需要进行去中化改造的还是内容存储的部分。在 CDN 中,边缘需要先对进行分发的内容进行缓存才能对用户进行在分发。而缓存的环节也是对数据的安全性和隐私性风险性也是最高的,可能面临 CDN 提供商盗取数据的情况发生,同时可能被外部对的黑客通过 ddos 等方法进行攻击。
对于加大型公司,为了保护其业务数据一般会搭建内部的 CDN 网络。而因为成本问题,小型企业主要是要依靠专业 CDN 提供商。CDN 整体的技术服务对象时候面向 ToB 企业,与个人用户数据的相关性较小。CDN 中传播技术的的去中心化不会对个人用户数据的安全性及隐私性带来太多的提高。
网络层的最后一个模块为机房与中心模块,这两个模块主要是以硬件为主。通过机房和中心中的应该来支持平台与应用的运行。
三. Web3.0 总结
Web3.0 的发展路径目前还是相对不够清晰,Web3 foundation 是比较早进行 Web3.0 尝试的团队,包括 Polkadot 等项目在内的的使命之一也是做为 Web3. 0 的基础底层框架。但是完全抛弃目前 Web2.0 的技术框架,从新建立一个全新的框架的可行性是比较低的。
首先,区块链技术毫无疑问还是不成熟的。
目前大家公认最好的公链-以太坊在现阶段也没有展现出能够作为 world computer 的可能性,而且其问题的主要还是集中在本身的底层技术逻辑上面,在底层技术问题解决之后好无以为还要面临应用层面的问题。区块链技术本身的特性决定了其很难承担互联网级别的交易数量以及用户人数,在对公链的考虑中,目前评估的主要环节还是 在 TPS 上面,但是如果想要取代现在的互联网架构即使 TPS 到达了需求也还是不够的。
区块链底层因为要优先考虑去中心化以及安全性,也增加了其对上层应用的限制以及要求。这些限制和要求使得应用无法设计较为复杂的业务逻辑。在这种前提之下,很难将传统 Web2.0 的很多应用完全迁移过来。
但即使迁移是可行的,也几乎没有传统项目会进行迁移。
一是因为本身的迁移成本就很高,区块链的底层逻辑与现在的互联网底层有着较大的不同,迁移就意味着要重新开发,试错这些都需要相当高的时间成本跟金钱成本,但在付出成本的同时又无法获得更多的用户或其他价值作为回报,反而会让其失去价值非常高的用户个人信息,因此目前的 app 是没有理由进行迁移的。同时,对于大多数的 app,例如国内最长用的外卖类应用,电商类应用以及地图应用,将其建立在区块链上面看不到实际的价值与意义。
同时,经过上面的分析可以得出,Web3.0 和现在 Web2.0 在技术层面主要的差别将会集中在去中心化存储和去中心化计算上面,而其他的技术模块都不需要有较大的变动。因此,相比较来讲保持目前 Web2.0 的技术机构,并在去中心化存储和去中心化计算上面进行升级和应用将会是一个更好的选择。
最后,从整体来看因为去中心化存储和去中心化计算技术的不成熟,使得 web3.0 需要更长的时间才可以实现。同时 Web2.0 到 Web3.0 的发展目前看起来也需要相关政策的推动。目前中国国内互联网用户对于个人信息的归属权和使用权没有太多的认知及要求,因此很难从用户的角度推动 Web2.0 向 Web3.0 发展。如果没有政策的推动,目前架构在传统互联网上面的应用也没有动力去主动求变,那么 Web3.0 的推动将会受到较大的阻碍。综合上面提到的所有信息和问题,Web3.0 会是未来一个很好的发展方向,但是目前还处于非常的早期的一个阶段,未来需要更长的时间来去发展和演变。
参考资料:https://www.theblockbeats.com