5分钟搞懂Web3架构

简介: Web3通过区块链基础设施管理用户数据,重构了用户和互联网平台之间的关系,定义了全新的构建互联网应用的架构模式。
Web3通过区块链基础设施管理用户数据,重构了用户和互联网平台之间的关系,定义了全新的构建互联网应用的架构模式。原文: Web3 Architecture

Shubham Dhage@Unsplash

Web 1.0 = 只读网站,如Yahoo!, MSN,谷歌等。

Web 2.0 = 可读+可写的网站,用户之间可以互动,但互联网平台仍然控制着用户数据和信息,如Facebook, Twitter, Youtube, Blogger, Amazon, Wikipedia, Flickr等。

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


Web2基础架构

图片来源: https://blog.itsrakesh.co/web-20-architecture-vs-web-30-architecture

  • 前端代码 = 定义交互逻辑
  • 后端代码 = 定义处理请求的业务逻辑
  • 数据库 = 存储所有数据

图片来源: https://blog.itsrakesh.co/web-20-architecture-vs-web-30-architecture

  • 客户端->服务端->数据库->服务端->客户端
  • 然而,真正的过程可能比较复杂,涉及缓存、队列等

Web3基础架构
  • 前端保持与Web2应用程序相同
  • 只改变后端
  • 前端与底层区块链网络交互
  • 交互层发起事务并写入数据,在链上索引并读取数据

图片来源: https://blog.itsrakesh.co/web-20-architecture-vs-web-30-architecture

  • 基于协议构建dApp
  • 区块链协议和智能合约取代特定业务逻辑的后端代码
  • 前端代码直接与区块链网络交互
  • 智能合约 = 定义业务逻辑
  • 以太坊虚拟机 = 在不同操作环境下,按照相同的业务逻辑进行数据计算和处理
  • 区块链 = 数据被打包成块,永久存储在链上
  • 前端->智能合约->EVM->区块链->前端
  • 节点是应用程序和区块链网络之间的关键
  • 两种主流实现方式:

    1. 自己构建和运行节点
    2. 使用第三方提供的节点服务
  • 在Web2中,身份信息存储在平台上
  • 在Web3中,身份信息基于公钥和私钥。钱包(Metamask)被用作访问任何web3应用程序的接口。
  • 星际文件系统(IPFS, Interplanetary File System) - 一种网络传输协议,旨在创建持久和分布式存储以及共享文件,也是一个点对点超媒体分发协议。
  • Swarm是一种去中心化的存储、服务和通信协议,为dApp的部署提供无许可、抗审查的基础设施。
  • 由于数据被打包在每个块中并链接在一起,因此是一个链表结构。解码需要处理链上的加密数据。API用于查询和索引数据。
  • 除此之外,web服务用于提供一些特效以及其他业务逻辑并返回给前端。

图片来源: https://cointelegraph.com/news/the-future-of-the-internet-inside-the-race-for-web3-s-infrastructure


Web3技术栈
  1. Solidity
  2. Subgraph
  3. Price Oracle
  4. Hardhat
  5. Ganache
  6. Truffle
  7. Brownie
  8. Ethers.js
  9. Light
  10. React.js
  11. Next.js

Web3是一个令人兴奋的机会,可以远离传统的软件开发环境尝试一些新东西。


参考资料

The future of the internet: Inside the race for Web3's infrastructure

The Architecture of a Web 3.0 application

Decoding Ethereum smart contract data

Ethereum Blockchain App using Ganache

Web 2.0 app architecture Vs Web 3.0 app architecture

Remix - Ethereum IDE & Community


你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。 \
微信公众号:DeepNoMind
目录
相关文章
|
8天前
Web应用基本架构
Web应用基本架构。
42 6
|
8天前
|
设计模式 缓存 前端开发
单页应用的架构与设计:打造高效可扩展的 Web 应用(下)
单页应用的架构与设计:打造高效可扩展的 Web 应用(下)
单页应用的架构与设计:打造高效可扩展的 Web 应用(下)
|
8天前
|
缓存 JavaScript 前端开发
单页应用的架构与设计:打造高效可扩展的 Web 应用(上)
单页应用的架构与设计:打造高效可扩展的 Web 应用(上)
单页应用的架构与设计:打造高效可扩展的 Web 应用(上)
|
8天前
|
SQL 分布式计算 Hadoop
Azkaban【基础 01】核心概念+特点+Web界面+架构+Job类型(一篇即可入门Azkaban工作流调度系统)
【2月更文挑战第6天】Azkaban【基础 01】核心概念+特点+Web界面+架构+Job类型(一篇即可入门Azkaban工作流调度系统)
108 0
|
8天前
|
前端开发 数据库 Python
Python Web 开发: 解释 Django 框架的 MVC 架构是什么?
Python Web 开发: 解释 Django 框架的 MVC 架构是什么?
|
8天前
|
Java Docker 容器
美团大牛精心整理SpringBoot学习笔记,从Web入门到系统架构
近期慢慢复工,为了准备面试,各路码友们都开始磨拳擦脚,背面试题、知识点。小编最近得一良友赠送了一份关于SpringBoot的学习笔记,简直不要好用,理论解析言简意赅,每一步操作都有图片展示。这么好的东西肯定不能私藏,为了感谢大家在2019年里的支持,我现在将这份笔记赠送给大家,祝大家前程似锦,Offer不断!
|
5天前
|
缓存 监控 安全
Django框架在大型Web应用中的架构设计与实战
【5月更文挑战第18天】Django框架在构建大型Web应用中扮演重要角色,采用分层架构(数据、业务逻辑、表示层)和多应用组织模式,结合缓存策略(如Memcached、Redis)提升性能。通过异步处理、分布式部署提高响应速度和扩展性。关注数据分区、安全设计及监控日志,确保系统高效、稳定。Django为复杂业务提供坚实基础,助力打造卓越Web系统。
33 7
|
8天前
|
Java Docker 微服务
理解微服务架构:Java Web开发的新趋势
【4月更文挑战第3天】微服务架构因应对快速迭代、高可用性和可扩展性的需求而兴起,成为Java Web开发主流。它将复杂应用拆分成独立小服务,通过轻量级通信机制交互,实现模块化、独立部署、可扩展性、技术多样性和容错性。Spring Boot、Spring Cloud和Docker等工具可简化微服务实现。通过创建微服务项目、编写代码、集成Spring Cloud、创建其他服务及部署,开发者可入门微服务架构。
|
8天前
|
消息中间件 缓存 NoSQL
设计一个高并发场景下的Python Web应用架构。
在高并发Python Web架构中,关键组件包括负载均衡器用于分散请求,应用服务器如Gunicorn与Docker部署多实例,缓存如Redis提升数据访问速度,优化后的数据库(如MySQL或MongoDB),消息队列如RabbitMQ处理异步任务,通过横向扩展增加服务器,监控和日志系统确保稳定性,代码优化减少不必要的操作,CDN加速静态资源,以及自动化部署和弹性伸缩工具适应负载变化。性能测试和优化是保证系统稳定性的关键。
|
8天前
|
架构师 前端开发
web全栈架构师第16期教程
互联网时代已进入后半场,行业环境发生了显著变化。互联网人,尤其是技术人员,如何在加速更迭的技术浪潮中持续充电,提升自身价值,是当下必须面对的挑战。课程涉及了现下前端实际开发时所需要的各块内容,并深度对标 阿里 P6+级别所具备的知识储备及开发技能,奠定源码阅读基础和全栈开发能力。
20 3
web全栈架构师第16期教程