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
目录
相关文章
|
2月前
|
前端开发 JavaScript
探索现代Web应用的微前端架构
【10月更文挑战第40天】在数字时代的浪潮中,Web应用的发展日益复杂多变。微前端架构作为一种新兴的设计理念,正逐步改变着传统的单一前端开发模式。本文将深入探讨微前端的核心概念、实现原理及其在实际项目中的应用,同时通过一个简单的代码示例,揭示如何将一个庞大的前端工程拆分成小而美的模块,进而提升项目的可维护性、可扩展性和开发效率。
|
3月前
|
运维 负载均衡 安全
深度解析:Python Web前后端分离架构中WebSocket的选型与实现策略
深度解析:Python Web前后端分离架构中WebSocket的选型与实现策略
133 0
|
17天前
|
弹性计算 Java 关系型数据库
Web应用上云经典架构实践教学
Web应用上云经典架构实践教学
Web应用上云经典架构实践教学
|
17天前
|
弹性计算 Java 数据库
Web应用上云经典架构实战
本课程详细介绍了Web应用上云的经典架构实战,涵盖前期准备、配置ALB、创建服务器组和监听、验证ECS公网能力、环境配置(JDK、Maven、Node、Git)、下载并运行若依框架、操作第二台ECS以及验证高可用性。通过具体步骤和命令,帮助学员快速掌握云上部署的全流程。
|
17天前
|
弹性计算 负载均衡 安全
云端问道-Web应用上云经典架构方案教学
本文介绍了企业业务上云的经典架构设计,涵盖用户业务现状及挑战、阿里云业务托管架构设计、方案选型配置及业务初期低门槛使用等内容。通过详细分析现有架构的问题,提出了高可用、安全、可扩展的解决方案,并提供了按量付费的低成本选项,帮助企业在业务初期顺利上云。
|
2月前
|
消息中间件 前端开发 JavaScript
探索微前端架构:构建现代Web应用的新策略
本文探讨了微前端架构的概念、优势及实施策略,旨在解决传统单体应用难以快速迭代和团队协作的问题。微前端允许不同团队独立开发、部署应用的各部分,提升灵活性与可维护性。文中还讨论了技术栈灵活性、独立部署、团队自治等优势,并提出了定义清晰接口、使用Web组件、状态管理和样式隔离等实施策略。
|
2月前
|
监控 前端开发 JavaScript
探索微前端架构:构建可扩展的现代Web应用
【10月更文挑战第29天】本文探讨了微前端架构的核心概念、优势及实施策略,通过将大型前端应用拆分为多个独立的微应用,提高开发效率、增强可维护性,并支持灵活的技术选型。实际案例包括Spotify和Zalando的成功应用。
|
2月前
|
前端开发 JavaScript API
探索JAMstack架构:现代Web开发的新范式
【10月更文挑战第28天】JAMstack架构是一种现代Web开发方法,以其高性能、高安全性和易于维护的特点受到开发者青睐。本文深入探讨了JAMstack的核心概念、优势、工具链及其如何改变Web开发方式,包括静态网站生成、API驱动和预渲染等关键技术。
|
3月前
|
前端开发 JavaScript 安全
探索 JAMstack 架构:现代Web开发的新范式
【10月更文挑战第20天】JAMstack(JavaScript、APIs、Markup)架构是一种现代Web开发方法,通过预构建静态页面、动态功能通过APIs实现和依赖JavaScript,提供高性能、安全和可扩展的Web开发新范式。本文深入探讨其核心理念、优势、工具和最佳实践,帮助开发者理解和应用JAMstack。
|
3月前
|
前端开发 JavaScript 安全
探索JAMstack架构:现代Web开发的新范式
【10月更文挑战第7天】JAMstack是一种现代Web开发架构,代表JavaScript、APIs和Markup。本文介绍了JAMstack的核心概念、优势及实施步骤,包括内容设计、选择静态站点生成器、API集成、前端开发和部署托管。JAMstack提高了网站的性能、安全性和可扩展性,适用于营销网站、博客、电子商务和Web应用等多种场景。