一问读懂Web3 架构
最近看了一些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 架构的更多相关文章
- 让你分分钟读懂CPU架构及芯片厂商
CPU架构是CPU厂商给属于同一系列的CPU产品定的一个规范,主要目的是为了区分 不同类型CPU的重要标示.目前市面上的CPU指令集分类主要分有两大阵营,一个是intel.AMD为首的复杂指令集CPU ...
- [转]一图读懂JVM架构解析
每个Java开发人员都知道字节码经由JRE(Java运行时环境)执行.但他们或许不知道JRE其实是由Java虚拟机(JVM)实现,JVM分析字节码,解释并执行它.作为开发人员,了解JVM的架构是非常重 ...
- 一文读懂RESTful架构
转载自https://zhuanlan.zhihu.com/p/381554129 RESTful架构究竟是什么 别着急,想要了解RESTful,我们先来了解一位大佬Roy Thomas Fieldi ...
- 即时通讯新手入门:一文读懂什么是Nginx?它能否实现IM的负载均衡?
本文引用了“蔷薇Nina”的“Nginx 相关介绍(Nginx是什么?能干嘛?)”一文部分内容,感谢作者的无私分享. 1.引言 Nginx(及其衍生产品)是目前被大量使用的服务端反向代理和负载均衡 ...
- 一篇文章,读懂Netty的高性能架构之道
一篇文章,读懂Netty的高性能架构之道 Netty是由JBOSS提供的一个java开源框架,是一个高性能.异步事件驱动的NIO框架,它提供了对TCP.UDP和文件传输的支持,作为一个异步NIO框架, ...
- 【Zigbee技术入门教程-02】一图读懂ZStack协议栈的基本架构和工作机理
[Zigbee技术入门教程-02]一图读懂ZStack协议栈的基本架构和工作机理 广东职业技术学院 欧浩源 ohy3686@foxmail.com Z-Stack协议栈是一个基于任务轮询方式的操作 ...
- 一片非常有趣的文章 三分钟读懂TT猫分布式、微服务和集群之路
原文http://www.cnblogs.com/smallSevens/p/7501932.html#3782600 三分钟读懂TT猫分布式.微服务和集群之路 针对新手入门的普及,有过大型网站技 ...
- 【一起来烧脑】读懂HTTP知识体系
背景 读懂HTTP很重要,参加过面试的小伙伴都很清楚,无论是技术面试面试题出得怎样,都有机会让你讲解一下HTTP,大部分都会问一下. 面试官:考考你网络协议的知识,TCP协议和UDP协议的区别,HTT ...
- 如何读懂Framework源码?如何从应用深入到Framework?
如何读懂Framework源码? 首先,我也是一个应用层开发者,我想大部分有"如何读懂Framework源码?"这个疑问的,应该大都是应用层开发. 那对于我们来讲,读源码最大的问题 ...
- 如何快速读懂大型C++程序代码
要搞清楚别人的代码,首先,你要了解代码涉及的领域知识,这是最重要的,不懂领域知识,只看代码本身,不可能搞的明白.其次,你得找各种文档:需求文档(要做什么),设计文档(怎么做的),先搞清楚你即将要阅读是 ...
随机推荐
- 我说HashMap初始容量是16,面试官让我回去等通知
众所周知HashMap是工作和面试中最常遇到的数据类型,但很多人对HashMap的知识止步于会用的程度,对它的底层实现原理一知半解,了解过很多HashMap的知识点,却都是散乱不成体系,今天一灯带你一 ...
- 『现学现忘』Git分支 — 41、分支基本操作(二)
目录 6.新建一个分支并且使分支指向指定的提交对象 7.思考: 8.项目分叉历史的形成 9.分支的总结 提示:接上篇 6.新建一个分支并且使分支指向指定的提交对象 使用命令:git branch br ...
- 五、kubernetes节点与令牌管理
Kubernetes节点与令牌管理 一.令牌管理 查看令牌 [root@master ~]# kubeadm token list 删除令牌 [root@master ~]# kubeadm toke ...
- Nginx反向代理实现Tomcat+Jpress和halo
一.利用Nginx反向代理Jpress+Tomcat 1.环境准备 服务器 IP地址 作用 系统版本 Proxy代理服务器 10.0.0.101 负载均衡Nginx Web服务器 Ubuntu2004 ...
- JAVA系列之类加载机制详解
类的加载机制 ? 双亲委派机制 ? 什么是类加载器 ? 自定义类加载器有哪些应用场景 ? 通常,在关于Java的类加载部分会遇到以上疑问,本文将对类加载重要部分做详细介绍,包括重要的基础概念和应用场景 ...
- Go语言核心36讲29
在上篇文章中,我们主要说的是互斥锁,今天我和你来聊一聊条件变量(conditional variable). 前导内容:条件变量与互斥锁 我们常常会把条件变量这个同步工具拿来与互斥锁一起讨论.实际上, ...
- 当resource bundle 的多语言文件里包含引号'时
背景 项目中使用Spring的ReloadableResourceBundleMessageSource这个类来实现多语言,有一次字符串里包含引号'时,解析时出了问题,一起来看一下吧 例子 resou ...
- swap,传参实质
void swap(int a,int b){ int s=a; a=b; b=s; } int main(){ int x=1,y=2; swap(x,y); } 上面的函数并不能实现交换,因为传参 ...
- 在C#中使用Halcon开发视觉检测程序
目录 简介 将 HALCON/.NET 添加到应用程序 添加控件 引用dll 调用Halcon算子 程序示例 HSmartWindowControl控件使用 加载.保存图像 扩展:加载相机图像 画线. ...
- WeetCode2滑动窗口系列
系列文章目录和关于我 一丶[无重复字符的最长子串](3. 无重复字符的最长子串 - 力扣(Leetcode)) 思路: 维护一个窗口,窗口中不存在重复的字符,窗口右边界从第一个字符移动到最后,使用一个 ...