当前位置: 首页 > news >正文

​Web3到底是个啥?

Web3到底是个啥?

Web3是近两年来科技领域最火热的概念之一,但是目前对于Web3的定义却仍然没有形成标准答案,相当多对于Web3的理解,都是建立在虚拟货币行业(即俗称的“币圈”)的逻辑基础之上的。

区块链服务网络(BSN)的核心理念,是在互联网上推动建立一个新的公共层,服务于各行各业、各种类型的分布式应用,并最终打造下一代分布式互联网。基于这一理念,BSN对于Web3也有着自己的理解。

今天我们将从自身的角度出发,来探讨Web3究竟是什么,希望在Web3正蓬勃发展的这一时间节点上,将我们的观点分享出来,为统一Web3相关的标准和概念做出贡献,帮助大家更好地理解Web3,也更好地理解BSN。

01 “Web3”一词的由来

1.互联网早期技术术语

“Web3”最早作为一个互联网技术术语出现在上个世纪90年代,当时的互联网的主要作用是展示数据,即供人阅读的网页。然而在一些技术先驱看来,未来的互联网应该能够处理数据,并且是大规模地让机器来处理数据——这一理念部分程度上在今天已经由AI大模型实现,于是他们提出了Web3的概念。

最早的Web3定义包含了两个核心理念:一是数据应该能够被机器读取,而不仅仅是供人阅读,因此当时出现了XML、RDF等格式,用于将数据标准化,以供机器识别和处理;二是在大多人对互联网的认识仍停留在网页阶段的时候,Web3这一概念已经在构想“Data Web”,即数据网络,思考如何让互联网进行大规模数据处理的问题。当时的人们认为互联网仅仅是一个分布式的文件存储网络,文件被存放在各处,用户通过调用IP地址来获取文件内容,类似于浏览器获取网页内容的过程。而基于Web3的设想,未来的互联网应该是一种“分布式数据库网络”,数据不仅是以文件的形式被存储和调用,还应该能够大规模地被机器读取和运算,从而提高人类的生产力和数据处理能力。

2.币圈话语体系下的Web3

今天大部分人听到的Web3事实上主要是币圈的一种市场宣传手段。2014年,以太坊的联合创始人之一Gavin Wood在参加一次会议时提出了Web3的概念,并基于Web3向前逆向定义出了Web2和Web1,从而建立了一套完整的币圈逻辑的Web3叙事。

在这套叙事逻辑中,从互联网出现到2004年属于Web1,主要特征是以静态网页的形态提供内容,用户只能浏览;Web2则是从2004年一直到现在,核心是内容不再仅由网站提供,用户也可以生产内容,但是这些内容数据仍然储存在各个网站的私有数据库中;而未来的Web3则强调用户不仅生产数据,基于分布式技术,用户还可以拥有并控制数据,并通过虚拟货币的通证经济和价值转移,让数据产生价值。

由于虚拟货币自身的属性特点,这一Web3的定义实际上仅局限于应用层,从某种程度上来说,主要是作为一个市场推广概念而存在的。

02 BSN所理解的Web3

1.广播式通讯与分布式技术

人类在1873年发明了电话,最初电话只能用于两个人之间的通讯。可以设想这样一个场景,当有多个人需要通过打电话的方式就一件事情进行讨论时,首先需要通过多个两两之间的电话来同步信息,而任何一个人提出意见或做出反馈,就要再重新进行一次多个两两之间的电话告知,甚至告知不同的意见和反馈的顺序不一致,也会对最终的讨论结果带来影响。反复几次之后,就会导致通讯变得非常混乱,很有可能在打了无数个两两之间的电话,消耗了大量的时间和资源之后,仍无法达成最终的结果。

人们开始意识到,如果能够让这些人在同一个电话中进行讨论,效率将会大大提高,于是在1980年前后,电话会议终于被发明出来。同样的场景,在电话会议的帮助下,可以让所有人同时参与讨论,短时间内高效解决问题,而不再需要打成千上万个电话。

站在数据传输的角度,两两之间的电话可以理解为点对点通讯,而电话会议则是广播式通讯。目前的互联网逻辑就类似于两两之间的电话,互联网上所有的数据传输都是点对点进行的。

比特币的出现具有划时代的意义,它的伟大之处就在于通过互联网的点对点结构模拟出了广播式通讯逻辑。正因如此,比特币才能高效地达成各种共识。人们常常将共识作为比特币最显著的特点之一,事实上共识只是基于高效的通讯带来的结果,没有广播式通讯,就无法达成共识。正是因为这种通讯方式的变化,带来了数据传输效率、准确性和可信性上的极大提升,进而大幅提高了人类的生产力。

区块链技术源于比特币,可以让IT系统进行广播式通讯,就如同为IT系统召开“电话会议”,改变了IT系统之间的数据传输方式,这也将为IT系统带来新的形态。从IT架构的角度来看,目前互联网上的IT系统大多数是由一家主体控制的单方系统,或者称为私有信息化系统,每个系统管理着自己的业务和数据。而基于高效的广播式通讯,以区块链为代表的分布式技术,会促成多方系统,或者称为公共信息化系统的形成,届时将由多个权利一致的角色共同管理一个系统,以及该系统的业务和数据。由此带来的透明、可信、互操作等优势,让IT系统之间可以以一种全新的方式进行更高效地协作,从整体上提高了效率,并能够带动人类社会生产力的提升。

  1. 什么才是真正的Web3

目前的互联网技术体系只能有效地服务于单方系统,而与多方系统的要求存在冲突。在不改变互联网底层物理设施的前提下,为了运行多方系统,云环境、操作系统、数据库技术等均需要发生变化,要有分布式云环境、分布式操作系统,数据库也需要变为多方共享的数据环境。

BSN所做的,就是构建多方系统所需的基础分布式云环境,而区块链则是目前最适合作为多方系统操作系统的技术。因此,BSN全面兼容了公链、联盟链、开放联盟链、私有链等各种类型的区块链及其底层框架,如何选择取决于用户自身的业务需求。

未来的互联网必须能够处理分布式应用和运行多方系统,因此BSN的核心理念认为互联网将会形成两层结构:一层是基于点对点通讯的私有层,专门处理单方系统和传统的互联网应用;另一层可以称为公共层,基于广播式通讯,用于处理多方系统和分布式应用,分布式技术在这一层中发挥着关键作用,这一层才是真正的Web3。

这并不意味着传统互联网的消失。在币圈的Web3逻辑中,Web1、Web2与Web3之间是相互迭代的关系,新的体系将会彻底替代原有的。而BSN理念中的互联网私有层和公共层将是共存的,根据不同的业务场景和不同的数据处理需求,任何机构、企业和个人都可以任意选择将IT系统部署在私有层还是公共层,或是同时部署在这两层。

03 下一代互联网应有更为广泛的定义

随着币圈的Web3定义广为传播,逐渐带来了一个后果,就是Web3与“下一代互联网”之间概念的混淆。从Web1、Web2再到Web3的提法,使得很多人误认为Web3就是下一代互联网,这实际上是不准确的。

在讨论下一代互联网时,首先必须明确互联网的本质其实是一个通讯工具,是数据传递的基础设施,它的作用是让数据能够从一个点传输到另一个点。而人们平时使用的社交、购物、支付等,与虚拟货币一样,都只是一种应用。币圈所谓的Web3基于虚拟货币的业务逻辑,而虚拟货币本身只是基于分布式架构的一个应用,因此币圈的Web3定义的其实是下一代互联网上的应用,而不是互联网本身的下一代。

不能因为一项应用是某个基础设施上的第一个或主要应用,就将这项应用与这个基础设施混为一谈。就像早期互联网上的电子邮件一样,整个互联网基础设施从上世纪60年代到90年代基本都是用于收发电子邮件,但并不能因此就将电子邮件视同为互联网。

定义下一代互联网,应该从互联网的本质出发。就通讯层面而言,下一代互联网将会是私有层和公共层并行的双层结构,而分布式技术是公共层的核心。就像现在互联网上有数以亿计的网站一样,下一代互联网的公共层上,也会有数以亿计个分布式网络环境,而BSN也是其中之一。

作为一个基于分布式技术的项目,BSN希望通过推广互联网公共层的概念,构建多方系统所需的基础分布式云环境,为未来所有基于分布式技术的新型操作系统、通信协议、数据库、开发工具和应用场景的创建建立基础,最终推动下一代分布式互联网的建立,为互联网技术、生产力乃至整个人类文明的进步贡献力量。

-END-

欢迎转发评论。

相关文章:

​Web3到底是个啥?

Web3到底是个啥? Web3是近两年来科技领域最火热的概念之一,但是目前对于Web3的定义却仍然没有形成标准答案,相当多对于Web3的理解,都是建立在虚拟货币行业(即俗称的“币圈”)的逻辑基础之上的。 区块链服务…...

pycharm、idea、golang等JetBrains其他IDE修改行分隔符(换行符)

文章目录 pycharm、idea、golang系列修改行分隔符我应该选择什么换行符JetBrains IDE,默认行分隔符 是跟随系统修改JetBrains IDE,默认行分隔符 pycharm、idea、golang系列修改行分隔符 一般来说,不同的开发环境和项目对换行格式的使用偏好不同: Windo…...

ThinkPHP函数深度解析

ThinkPHP是一个具有丰富功能和强大灵活性的PHP开发框架。在这篇文章中,我们将详细介绍ThinkPHP的一些关键函数,以帮助开发人员更好地理解和使用这个框架。 1. 入门:ThinkPHP的核心函数 1.1 C()函数 C()函数用于读取和设置配置参数。它是Thin…...

【java】【maven】【高级】MAVEN聚合继承属性等

目录 1、模块开发与设计 2、聚合 2、继承 3、属性 4、版本管理 5、资源配置 6、多环境配置 7、多环境开发配置 8、跳过测试 9、私服 前言:maven的高级使用包含分模块开发与设计、聚合、继承、属性、版本管理、资源配置、多环境配置、多环境开发配置、跳过…...

LeetCode150道面试经典题-合并两个有序数组(简单)

合并两个有序数组 题目: 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意&a…...

记录 运维三剑客一件部署的的docker-compose,yml文件

CAdvisor: 收集 InfluxDB: 存储 Grafana: 展示 version: 3.1volumes:grafana_data: {}services:influxdb:image: tutum/influxdb:0.9restart: alwaysenvironment:- PRE_CREATE_DBcadvisorports:- "8083:8083"- "8086:8086"volumes:- ./data/inf…...

Xposed框架开发

文章目录 xpose插件开发步骤清单文件新建一个类(插件入口点)设置入口点 Hook第一个实例zhuceji.apk一些常用的HOOKHookH5PluginHookProxyPluginHookSystem 资料Xposed原理初探 xpose插件开发步骤 magisk安装与配置 Xpose Framework API LSPosed magisk …...

2.13 Android ebpf非网络相关帮助函数API汇总(十二 本章完)

1.long bpf_user_ringbuf_drain(struct bpf_map *map, void *callback_fn, void *ctx, u64 flags) 描述:从指定的用户环形缓冲区中排出样本,并为每个此类样本调用提供的回调: long (*callback_fn)(struct bpf_dynptr *dynptr, void *ctx); 如果callback_fn返回0,帮助函数…...

关于游戏的笔记

关于搭建秦时明月2一键端,并且开启秘境神秘商人东海寻仙幻化 1.该游戏下主要的目录 gm端 服务框架 服务端 2.修改对应的文件 C:\qs\Q2Server\server\conf_common\ManagerAddress.xmlC:\qs\Q2Server\server\conf_manager\GateServer.xml修改ip 3.启动gm startup…...

vue diff 前后缀+最长递增子序列算法

文章目录 查找相同前后缀通过前后缀位置信息新增节点通过前后缀位置信息删除节点 中间部份 diff判断节点是否需要移动删除节点删除未查找到的节点删除多余节点 移动和新增节点最长递增子序列 求解最长递增子序列位置信息 查找相同前后缀 如上图所示,新旧 children 拥…...

【Python】Locust持续优化:InfluxDB与Grafana实现数据持久化与可视化分析

目录 前言 influxDB 安装运行InfluxDB 用Python 上报数据到influxdb ocust 数据写入到 influx Locust的生命周期 上报数据 优化升级 配置Grafana 总结 资料获取方法 前言 在进行性能测试时,我们需要对测试结果进行监控和分析,以便于及时发现问…...

数组模拟循环链表

5073. 空闲块 - AcWing题库 数组模拟循环链表 /*从当前位置开始遍历空闲块链表(初始是从地址最小的第一个空闲块开始),寻找满足条件的最小块 (即:大于等于请求空间的最小空闲块,如果有多个大小相同的最小空…...

第三章 图论 No.5最小生成树之虚拟源点,完全图与次小生成树

文章目录 虚拟源点:1146. 新的开始贪心或kruskal性质:1145. 北极通讯网络最小生成树与完全图:346. 走廊泼水节次小生成树:1148. 秘密的牛奶运输 虚拟源点:1146. 新的开始 1146. 新的开始 - AcWing题库 与一般的最小…...

RESTful API的讲解以及用PHP实现RESTful API

RESTful API是什么 RESTful是一种设计风格,是一种用于构建Web服务的架构。RESTful API是一种基于REST(Representational State Transfer)架构风格的Web服务接口设计规范。它强调使用HTTP协议中的请求方法(例如GET、POST、PUT、DEL…...

Spring中@Component和@Bean的区别

1. 用途不同 Component用于标识普通类 Bean是在配置类中声明和配置Bean对象 2. 使用方式不同 Component是一个类级别的注解,Spring通过ComponentScan注解扫描并注册为Bean. Bean是一个方法级别的注解,在配置类中手动声明和配置Bean 3. 控制权不同 Component注解修饰的类使…...

【问题解决】mysql 数据库字符串分割之后多行输出方法

背景: 项目需要从一张表查询出来数据插入到另一张表,其中有一个字段是用逗号分隔的字符串,需要多行输入到另一张表,那么这个如何实现呢 方案: 下面先粘贴下sql语句: select SUBSTRING_INDEX(SUBSTRING_…...

flutter开发实战-时间显示刚刚几分钟前几小时前

flutter开发实战-时间显示刚刚几分钟前几小时前 在开发中经常遇到从服务端获取的时间戳,需要转换显示刚刚、几分钟前、几小时前、几天前、年月日等格式。 一、代码实现 static String timeFormatterChatTimeStamp(int seconds) {try {int nowDateSeconds (DateTi…...

导出LLaMA等LLM模型为onnx

通过onnx模型可以在支持onnx推理的推理引擎上进行推理,从而可以将LLM部署在更加广泛的平台上面。此外还可以具有避免pytorch依赖,获得更好的性能等优势。 这篇博客(大模型LLaMa及周边项目(二) - 知乎)进行…...

回顾 OWASP 机器学习十大风险

日复一日,越来越多的机器学习 (ML) 模型正在开发中。机器学习模型用于查找训练数据中的模式,可以产生令人印象深刻的检测和分类能力。机器学习已经为人工智能的许多领域提供了动力,包括情感分析、图像分类、面部检测、威胁情报等。 数十亿美…...

ENSP软件的基本使用命令(第三十一课)

ENSP软件的基本使用命令(第三十一课) 下面的图片是今天操作的核心基础操作 1 命令行页面 交换机 路由器 PC机 分别展示一下 页面的样子 2 基本命令结构...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量&#xff0c;这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。

1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj&#xff0c;再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...

重启Eureka集群中的节点,对已经注册的服务有什么影响

先看答案&#xff0c;如果正确地操作&#xff0c;重启Eureka集群中的节点&#xff0c;对已经注册的服务影响非常小&#xff0c;甚至可以做到无感知。 但如果操作不当&#xff0c;可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

DingDing机器人群消息推送

文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人&#xff0c;点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置&#xff0c;详见说明文档 成功后&#xff0c;记录Webhook 2 API文档说明 点击设置说明 查看自…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

深入浅出WebGL:在浏览器中解锁3D世界的魔法钥匙

WebGL&#xff1a;在浏览器中解锁3D世界的魔法钥匙 引言&#xff1a;网页的边界正在消失 在数字化浪潮的推动下&#xff0c;网页早已不再是静态信息的展示窗口。如今&#xff0c;我们可以在浏览器中体验逼真的3D游戏、交互式数据可视化、虚拟实验室&#xff0c;甚至沉浸式的V…...

python可视化:俄乌战争时间线关键节点与深层原因

俄乌战争时间线可视化分析&#xff1a;关键节点与深层原因 俄乌战争是21世纪欧洲最具影响力的地缘政治冲突之一&#xff0c;自2022年2月爆发以来已持续超过3年。 本文将通过Python可视化工具&#xff0c;系统分析这场战争的时间线、关键节点及其背后的深层原因&#xff0c;全面…...