Web3.0是什么?程序员如何抓住Web3.0时代机遇_程序员 与web3.0的关系-程序员宅基地

技术标签: Web3.0  人工智能  web3  程序员人生  软件开发  

最近Web3.0 ,元宇宙 的话题是今年技术热门话题之一;所以今天也想来写梳理一篇关于Web 3.0,和作为程序员的一些思考。

Web这个词已经诞生了 31 年,WWW(万维网)系统的出现再到互联网当前Web2.0阶段,技术思维不断的变迁。Web3.0是对下一代互联网的设计和设想。15年前,Web的发明人Tim Bernard-Lee爵士认为,目前互联网的局限在于,HTML是给人看的,没有元数据,不能被机器所理解。因此应该把数据赋予含义,开发出更智能、自动化程度更高的互联网应用,从而实现Web3.0,即语义网(Semantic Web)。但是大约在5年前,Lee爵士对下一代互联网的看法发生了变化,他发起了互联网大宪章运动,呼吁用户和从业者对互联网的未来进行广泛地讨论。

什么是Web3.0,

我们先来看看Web1.0 和2.0的定义。

Web1.0 ——“投喂模式”

随着 “WWW” 的出现,人们开始在页面上制作各种可展示的信息,例如新闻、资讯和各种图片等等,通过 Web,互联网上的资源,可以在一个网页里比较直观的展示出来,而且资源之间在网页上可以链来链去。

这一时间诞生了很多大家熟知的公司,例如谷歌、雅虎、搜狐、新浪,他们通过各种网页信息的展示构成了各大门户网站,然后吸引用户点击观看,以此定制广告,通过流量变现,后来我们常常称这一时期为 Web1.0(大约从 1991 年到 2004 年)。

根据一些人的说法,“在 Web 1.0 中,内容创造者很少,绝大多数用户只是作为内容的消费者。”

当时的网络被视为一种使信息访问民主化的方式,但除了访问朋友的 GeoCities 页面之外,没有其他很好的导航方式。这是非常混乱和压倒性的。

Web2.0 ——“交互模式”

其实在 Web2.0 概念被提出来时,还并没有 Web1.0 的说法。Web2.0 是由 Darcy DiNucci 于 1999 年发明,后来在 2004 年底的 O'Reilly Media Web2.0 大会上由 Tim O'Reilly 和 Dale Dougherty 推广,Web2.0 才更被大家所接受。而为了区分,便把之前的网络发展时期称为 Web1.0。

Web1.0 的特点是网站提供内容,用户阅读内容,就好比我们看电视,只能看别人想展现给我们的内容,而我们没有办法左右电视台播放的内容。

然而随着越来越多的人加入到互联网行业中,一些更有意思的商业模式逐渐诞生,比如博客的诞生,Facebook 社交平台的诞生,国内大家比较熟悉的就是 QQ 空间之类的,而这一类网站和应用最大的特点就是,允许用户自主生成内容,与网站和他人进行交互,互联互通,这也就是 Web2.0 的特点。

从 Web1.0 的“只读”到 Web2.0 的“交互”,其实并不是一个更替的过程,虽然现在大部分的互联网应用和产品都是属于 Web2.0,但仍有许多属于 Web1.0 的项目在运行。而身处 Web2.0 的许多互联网从业者,也在思考互联网下一步应该如何发展,于是,便有了各种 Web3.0 的畅想。

像谷歌、亚马逊、Facebook 和 Twitter 等平台的出现通过简化在线连接和交易来为互联网带来秩序。批评人士说,随著时间的推移,这些公司在Web2.0时代积累了太多的权力。Web2.0的这些科技巨头已经变成大中介和互联网的守门人了。今天我们在互联网上做的大部分的事情,比如搜索网络、与人们联系、分享内容,都被迫依赖由这些公司开发的带产权的不透明的服务代码,不然就无法去做那些事情。

Web3.0 ——“去中心化模式”

而Web3 是关于夺回一些权力。也是有史以来,第一次把经济系统内嵌到了互联网里。Web3.0的定义范围比较广。

随着人工智能的逐渐应用,一些新的互联网商业模式正在兴起,比如每当我们在阅读新闻时,网站的算法会根据我们之前的文章偏好,自动给推荐类似的文章,每次在网上购物,也会推荐更有倾向购买的物品。

这意味着网站可以通过用户的行为,开始学习和分析,变得更加智能,所以,一些互联网从业者便把 Web3.0 定义为“更智能的互联网”。Web3.0 是 Web2.0 的优化,大致地将 Web 3.0 贴上这么 4 个标签:

1、统一身份认证系统

2、数据确权与授权

3、隐私保护与抗审查

4、去中心化运行

Web 3.0 将带来透明、可信的互联网经济模式

因为用户已经免费使用了几十年的互联网内容,大家对于将个人数据通过《用户协议》和《隐私协议》的方式免费给网站、服务商使用的方法并不反感,甚至认为这是理所当然的事情。但我们忽略了,企业使用用户的数据赚到的钱,并不会返回给用户,在收入覆盖运营成本之后剩下的利润,用户无权获得。很多人觉得这理所当然,但这不公平。

无论是 Web 1.0 还是 Web 2.0,因为运营服务的中心化总是或多或少地带来透明度和信任的问题。这一问题可以通过数据权益通证化、数据确权与授权的区块链技术应用来得到解决。用户在 Web 3 的世界里产生的数据归用户所有,在没有得到用户的授权确认之前,使用者无权使用。同时由数据使用而产生的收益,用户也有可能通过数字加密货币行业的通证经济分一杯羹。

通证经济、数字资产的出现,也让用户得到了参与 Web 3.0 开发公司运行的机会,他们可以参与投票、参与分红,实现开发者与使用者的良性互动。用户既是使用者,又是维护者。

为什么我们需要Web3.0

Web1.0的开放协议让今天的互联网变得可能。但是,对于真实世界的软件平台服务来说,它们并不是一套完整的乐高积木。还有很多部分的协议缺失了,比如数据的存储协议,基于数据的计算协议等。

而Web2.0的科技巨头更进一步,提供了这些缺失协议的闭源版本,从而建立起了强大的商业模式(这是它们出现的本质原因)。

Web2.0有如下一些特点

  • 平台经济。平台最终必然走向垄断

  • 隐私换服务

  • 数据归平台方所有。对数据的任何挖掘、加工等产生的利润,归平台方所有

  • 依赖于平台而生存的某些职业,在平台的利益分配上,没有定价权

简单地说,Web2.0让平台成为最有钱有势的一方,所有人都在给平台打工。这种平台模式,不大可能从内部突破。

Web2.0,数据完全由企业掌控,会有如下问题

  • 数据易泄漏。外界的攻击,导致数据易被盗取。特别是很多企业内部数据用明文存储,一旦被盗,所有信息相当于完全公开

  • 数据易丢失。企业运维的事故性丢失,或黑客的攻击性丢失,或企业倒闭服务关停导致的数据丢失等等

  • 数据可被篡改。企业对其内部的数据库,有至高无上的权利,理论上来说,可修改任何数据(比如删除做恶的记录),即使是用的所谓纯增量数据库也是如此

  • 数据会被审查。审查这个东西争议很大,虽然在某些方面有积极的意义,但是在另一方面负面作用非常大

  • 数据会被打包售卖。这其实是一个灰色的商业模式,此不赘述

  • 数据孤岛。同一行业下竞争企业数据孤岛现象特别严重,数据的相互交互特别困难

数据有这么多潜在的问题,核心原因就是数据被视为企业最核心的资产,数据及数据的使用规则,完全由企业来掌控。普通用户完全没有权力参与其中。

从Web3.0的角度来看,如果数据依赖于人或机构,必定会出现上述现象。而如果数据本身依托于开放的协议以及数学算法,那么是有可能解决上述那些问题的。

而对于我们程序员的思考

从开发者的角度来看Web3.0 。一直以来我们有两种开发模式,一种是你做的是底层的协议,然后通过非营利性质的、公益性的方式来开发的。互联网最初就是由政府和大学机构设计的开放式协议。而且这种方式一开始其实运行得非常好。我们有了 HTTP 协议,TCP/IP 协议,HTML,SMTP(邮件协议),都非常棒。

但是你看看后面接下来20年的发展,就会发现,好像不太对劲。比如现在 OpenSSL 的问题—— OpenSSL 为全世界互联网用户访问一个网站提供了安全的保证,整个世界,所有上网的人都要依赖 OpenSSL ,它帮你把在网上输入的银行密码、用户密码这些敏感数据做加密,以防被人盗取。但 OpenSSL 后来出现过一个很致命的大 bug ,因为 SSL 只有一群自发的、兼职的程序员在维护。协议这个东西,它背后是没有商业价值的,OpenSSL 已经被抛弃了,因为它没有商业模式,成不了一门生意。所以真正会去做的人很少很少,哪怕它这么重要。

第二种开发方式是公司化的,我们有 Facebook 这样的巨头公司在做广告、有阿里巴巴、亚马逊这样的巨头公司在做电商。这些公司都发展得非常之快,他们创造了大量的营收利润,这些利润又会被拿过来继续支撑他们的发展。然后,世界上所有的聪明人、所有技术最好的工程师、所有的资金、生产力、所有人的精力,都被这些非常中心化的系统吸走了;另一方面,很多的个人开发者,或者小的创业公司,它们的生存空间正在被这些中心化的系统和平台一点点的挤掉。他们饱受巨头的“打压”和“追杀”。

要么你被平台直接封杀,这种例子在微信、Twitter、Facebook 上都很常见,要么你运气比较好的话,不会被封杀,但需要付 30% 的过路费给这些平台(苹果的 App Store )。

所以,全世界现在有一群非常不开心的程序员,他们想要一种新的方式去做东西。而这种状况恰好跟Web3.0 的出现相吻合。

51aspx.com也在紧跟时代的步伐,链接更多的可能性,与你一起探讨行业未来。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ruanjimu/article/details/122072570

智能推荐

动态版通讯录_动态通讯录-程序员宅基地

文章浏览阅读278次,点赞15次,收藏7次。目录一.通讯录的准备工作二.通讯录的实现步骤创建主菜单存放个人信息(静态)存放个人信息(动态)增加联系人(静态)增加联系人(动态)显示联系人删除指定的联系人查找指定联系人修改指定的联系人销毁通讯录(动态)三.源代码(动态)一.通讯录的准备工作首先我们要想一想开辟一个通讯录我们需要做哪些工作。要存放一些人的基本信息(名字+性别+年龄+电话+住址),增加联系人,删除联系人,修改联系人,查找联系人,最后要存入文档以便找不到。这里我们..._动态通讯录

win10和ubuntu的pyCharm配置python解释器_ubuntu conda环境文件夹中没有python.exe-程序员宅基地

文章浏览阅读2.5k次。ubuntu配置python3.6文件---新建项目---选择需要的python版本(基本解释器python3.6)创建---新建Python文件test01.py打开设置添加系统Python解释器,点齿轮--添加--系统解释器 选择python3 点击确定点击添加配置点击 “+” -> Python选定脚本路径点击确定,配置完成..._ubuntu conda环境文件夹中没有python.exe

StringUtils工具类常用方法汇总(判空、转换、移除、替换、反转)_stringutils.remove-程序员宅基地

文章浏览阅读4.9k次,点赞8次,收藏26次。Apache commons lang3包下的StringUtils工具类中封装了一些字符串操作的方法,非常实用,使用起来也非常方便。最近自己也经常在项目中使用到了里面的一些方法,在这里将常用的方法总结了一下,方便以后查阅,大家有兴趣也可以看一下。  首先需要说明的一点是,StringUtils类在操作字符串时,即使操作的为null值也是安全的,不会报NullPointerException,这一..._stringutils.remove

html如何做点击按钮左侧展开收起,如何使用CSS3 实现侧边栏展开收起动画-程序员宅基地

文章浏览阅读1.2k次。@keyframes规则用于创建动画。@keyframes 中规定某项 CSS 样式,就能创建由当前样式逐渐改为新样式的动画效果@keyframes 中创建动画时,请把它捆绑到某个选择器,否则不会产生动画效果。通过规定至少以下两项 CSS3 动画属性,即可将动画绑定到选择器:规定动画的名称规定动画的时长animationanimation 属性是一个简写属性,用于设置动画属性:animation-..._keyframes向左展开动画

python游戏程序代码大全_童年游戏,Python一行代码就能实现!-程序员宅基地

文章浏览阅读2.5k次。大家好,儿童节到了,虽然秃头程序员没有头发,但是童心还是一直都在的,今天就分享一个私藏的GitHub项目——free-python-games,一行代码就能进入使用Python开发的小游戏快乐玩耍!安装与使用安装当然也很简单一行代码就可以pip install freegames由于该项目中的所有游戏均是基于Python内置模块Turtle制作,所以没有太多依赖,安装不会有困难。安装完之后我们可以..._童年游戏代码大全

Eclipse中项目Src看不到.Java文件_eclipse导入的项目src下没java-程序员宅基地

文章浏览阅读5.2k次。Eclipse中项目Src看不到.Java文件需要从Java切换到java EE 工作空间_eclipse导入的项目src下没java

随便推点

YOLOV3实战4:Darknet中cfg文件说明和理解_yolo cfg-程序员宅基地

文章浏览阅读4.7w次,点赞89次,收藏435次。大家好,我是小p,从今天起,将逐渐从源码角度解析Darknet,欢迎加入对象检测群813221712讨论和交流,进群请看群公告!今天将要说明的是Darknet中的cfg文件,废话少说,直接干!(以cfg/yolov3.cfg为例,其它类似)[net] ★ [xxx]开始的行表示网络的一层,其后的内容为该层的参数配置,[net]为特殊的层,配置整个网..._yolo cfg

python生成唯一Id的几种方法_python并发生成唯一数据-程序员宅基地

文章浏览阅读2w次,点赞2次,收藏4次。# coding:utf-8import randomdef createRandomString(len): print ('wet'.center(10,'*')) raw = "" range1 = range(58, 65) # between 0~9 and A~Z range2 = range(91, 97) # between A~Z and a~..._python并发生成唯一数据

Maven1-配置及创建JavaSE项目_maven 创建javase工程-程序员宅基地

文章浏览阅读431次。一、Maven简介项目构建工具(不只是管理jar包),项目设计和编码由程序员来做,它做不了;而编译,运行,测试,打包,部署,jar管理它都能做Apache提供,Java开发的,运行Maven要有基本的java开发工具包Maven仓库:存储jar包本地仓库:当前本地电脑远程仓库:局域网中的服务器中央仓库:远程服务器有远程仓库:本地连接远程,远程仓库中有就下载到本地,没有就去连中央仓库,中央仓库下载到远程,远程再下载到本地,适合团队开发,远程仓库可以连接多个本地仓库,所以很多公_maven 创建javase工程

【转载】FPGA配置方式_quartus烧录-程序员宅基地

文章浏览阅读6.3k次,点赞2次,收藏31次。【概要】FPGA配置方式首先介绍下AS、PS、JTAG三种模式的区别。AS模式: 主动串行配置模式。将.pof文件烧写到flash(掉电不丢失)芯片,FPGA器件每次上电时,作为主控制器从配置器件flash(EPCS)主动读取程序文件并存放至FPGA内部的配置存储器(configure RAM),实现逻辑运作,该方法适用于不需要经常升级的场合,一次性读取程序文件;PS..._quartus烧录

GitHub集成Circle CI(附 Circle CI 配置示例文件)_circleci building status github-程序员宅基地

文章浏览阅读1.6k次。文章目录GitHub 集成Circle CICI(持续集成) 简单解释CI 工具Circle的使用将GitHub项目授权给 Circle CI书写 config.yml文件测试 Circle CI 配置文件是否生效备注写在最后GitHub 集成Circle CICI(持续集成) 简单解释CI 即 Continuous Integration. 当代码提交上来有变动的时候,在merge之前自动进行一些流程,如:代码风格检查、单元测试是否通过等。当被merge之后,又会自动进行一些流程,如:自动打包、_circleci building status github

matlab题目如何在一个圆形区域进行三维作图_meshgrid ,边界是圆-程序员宅基地

文章浏览阅读3.2k次,点赞3次,收藏7次。不废话上图[r,t]=meshgrid(0:0.1:2,0:0.02:2*pi);x=r.*cos(t);y=r.*sin(t);z=x.^2+y.^2;mesh(x,y,z)其实在数学上使用了一个圆的参数方程来实现绘制区域为圆形的效果在这个区域上面是一个碗状图形_meshgrid ,边界是圆