最近看了一些Web3.0的文章,总结了一些个人的理解:

Web3.0 通过区块链基础设施管理用户数据,重构用户和互联网平台之间的关系和交互,重新定义了互联网应用的架构方式和交互模式。

Web 1.0 中,以浏览性的网站(只能看)为代表,如Baidu、搜狐、163等。

Web 2.0 中,以可读+可写的网站为代表,用户之间可以互动,但互联网平台仍然控制着用户数据和信息,如 微信、QQ、钉钉、B站、小红书、抖音等。

Web 3.0中、可读+可写+拥有。用户和互联网平台是独立存在的,可以拒绝填写身份信息,不需要同意任何隐私协议。用户可以通过数字密钥或钱包登录任何平台。

一、Web2 基础架构

前端代码中主要定义前端交互逻辑

后端代码主要处理请求的业务逻辑

数据库用于存储所有数据

当然还会有MQ、Redis等中间件

交互模式如下:

客户端->服务端->数据库->服务端->客户端

二、Web3 基础架构
  • 前端保持与 Web2 应用程序相同

  • 只改变后端处理和交互模式

  • 前端与底层区块链网络交互

  • 交互层发起事务并写入数据,在区块链上索引并读取数据

  • 基于协议构建 dApp

  • 区块链协议和智能合约取代特定业务逻辑的后端代码

  • 前端代码直接与区块链网络交互

  • 智能合约 = 定义业务逻辑

  • 以太坊虚拟机 = 在不同操作环境下,按照相同的业务逻辑进行数据计算和处理

  • 区块链 = 数据被打包成块,永久存储在链上

  • 前端->智能合约->EVM->区块链->前端

  • 节点是应用程序和区块链网络之间的关键

  • 两种主流实现方式:

  • 自己构建和运行节点

  • 使用第三方提供的节点服务

  • 在 Web2 中,身份信息存储在平台上

  • 在 Web3 中,身份信息基于公钥和私钥。钱包(Metamask)被用作访问任何 web3 应用程序的接口。

  • 星际文件系统(IPFS, Interplanetary File System) - 一种网络传输协议,旨在创建持久和分布式存储以及共享文件,也是一个点对点超媒体分发协议。

  • Swarm 是一种去中心化的存储、服务和通信协议,为 dApp 的部署提供无许可、抗审查的基础设施。

  • 由于数据被打包在每个块中并链接在一起,因此是一个链表结构。解码需要处理链上的加密数据。API 用于查询和索引数据。

  • 除此之外,web 服务用于提供一些特效以及其他业务逻辑并返回给前端。

Web3.0对于我们开发者来说和一个很好机会,这也代表了未来5~10年互联网应用发展的趋势。

文章引用链接:https://xie.infoq.cn/article/d02da57ef0c2dac35f27927d1

一问读懂Web3 架构的更多相关文章

  1. 让你分分钟读懂CPU架构及芯片厂商

    CPU架构是CPU厂商给属于同一系列的CPU产品定的一个规范,主要目的是为了区分 不同类型CPU的重要标示.目前市面上的CPU指令集分类主要分有两大阵营,一个是intel.AMD为首的复杂指令集CPU ...

  2. [转]一图读懂JVM架构解析

    每个Java开发人员都知道字节码经由JRE(Java运行时环境)执行.但他们或许不知道JRE其实是由Java虚拟机(JVM)实现,JVM分析字节码,解释并执行它.作为开发人员,了解JVM的架构是非常重 ...

  3. 一文读懂RESTful架构

    转载自https://zhuanlan.zhihu.com/p/381554129 RESTful架构究竟是什么 别着急,想要了解RESTful,我们先来了解一位大佬Roy Thomas Fieldi ...

  4. 即时通讯新手入门:一文读懂什么是Nginx?它能否实现IM的负载均衡?

    本文引用了“蔷薇Nina”的“Nginx 相关介绍(Nginx是什么?能干嘛?)”一文部分内容,感谢作者的无私分享. 1.引言   Nginx(及其衍生产品)是目前被大量使用的服务端反向代理和负载均衡 ...

  5. 一篇文章,读懂Netty的高性能架构之道

    一篇文章,读懂Netty的高性能架构之道 Netty是由JBOSS提供的一个java开源框架,是一个高性能.异步事件驱动的NIO框架,它提供了对TCP.UDP和文件传输的支持,作为一个异步NIO框架, ...

  6. 【Zigbee技术入门教程-02】一图读懂ZStack协议栈的基本架构和工作机理

    [Zigbee技术入门教程-02]一图读懂ZStack协议栈的基本架构和工作机理 广东职业技术学院  欧浩源  ohy3686@foxmail.com Z-Stack协议栈是一个基于任务轮询方式的操作 ...

  7. 一片非常有趣的文章 三分钟读懂TT猫分布式、微服务和集群之路

    原文http://www.cnblogs.com/smallSevens/p/7501932.html#3782600 三分钟读懂TT猫分布式.微服务和集群之路   针对新手入门的普及,有过大型网站技 ...

  8. 【一起来烧脑】读懂HTTP知识体系

    背景 读懂HTTP很重要,参加过面试的小伙伴都很清楚,无论是技术面试面试题出得怎样,都有机会让你讲解一下HTTP,大部分都会问一下. 面试官:考考你网络协议的知识,TCP协议和UDP协议的区别,HTT ...

  9. 如何读懂Framework源码?如何从应用深入到Framework?

    如何读懂Framework源码? 首先,我也是一个应用层开发者,我想大部分有"如何读懂Framework源码?"这个疑问的,应该大都是应用层开发. 那对于我们来讲,读源码最大的问题 ...

  10. 如何快速读懂大型C++程序代码

    要搞清楚别人的代码,首先,你要了解代码涉及的领域知识,这是最重要的,不懂领域知识,只看代码本身,不可能搞的明白.其次,你得找各种文档:需求文档(要做什么),设计文档(怎么做的),先搞清楚你即将要阅读是 ...

随机推荐

  1. 华为交换机STP常用命令

    STP配置和选路规则 stp enable 在交换机上启用STP stp mode stp dis stp 查看stp配置 dis stp brief 查看接口摘要信息 stp priority 40 ...

  2. Java云原生崛起微服务框架Quarkus入门实践

    @ 目录 概述 定义 GraalVM简介 为何使用 特性 官方性能 实战 入门示例 步骤 安装GraalVM 创建quarkus工程 Idea导入项目 Idea运行和调试 打包成普通的Jar 打包成依 ...

  3. 22.通用视图GenericAPIView、属性和方法

    generics.ListCreateAPIView #源码 class ListCreateAPIView(mixins.ListModelMixin, mixins.CreateModelMixi ...

  4. 【原创】All in One i.MXRT1050/RT1020 SPI Flash Algorithm for J-Flash

    2020年,这个给大家一种很漫长的恍惚感的一年,终于是过去了.这一年我们很多新的人生第一次就这么被发生了,第一次居家办公这么长时间(很多人肥膘都长了不少,我却瘦了2斤,不知是工作太积极了还是被家里小怪 ...

  5. 三种梯度下降法的对比(BGD & SGD & MBGD)

    常用的梯度下降法分为: 批量梯度下降法(Batch Gradient Descent) 随机梯度下降法(Stochastic Gradient Descent) 小批量梯度下降法(Mini-Batch ...

  6. 禁止eslint对指定代码检测

    有时候我们引入外部文件的API时,eslint无法识别,编译的时候就会出现warn eslint是可以禁用对指定代码的检测: 单行注释 let map = new BMap.Map('map') // ...

  7. git的介绍、git的功能特性、git工作流程、git 过滤文件、git多分支管理、远程仓库、把路飞项目传到远程仓库(非空的)、ssh链接远程仓库,协同开发

    Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理. [1] 也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码 ...

  8. java安全之CC1浅学(1)

    前言 由于CC链还是比较复杂的,我们可以先看命令执行的部分payload之后再加上反序列化部分组成一个完整的payload 调试一 项目导入依赖,这里使用3.1版本 <!-- https://m ...

  9. Day10:for循环结构的使用详解

    for循环 将0~100内的奇.偶数分别求和 思路 第一步先将0~100以内的奇.偶数分成两队,第二步使奇数累加.ou'shu public class ForCirculate{ public st ...

  10. C#使用最小二乘法对多个离散点进行圆拟合

    /// <summary> /// 最小二乘法拟合圆,计算拟合圆半径和拟合圆圆心 /// </summary> /// <param name="points& ...