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
目录
相关文章
|
1月前
|
运维 负载均衡 安全
深度解析:Python Web前后端分离架构中WebSocket的选型与实现策略
深度解析:Python Web前后端分离架构中WebSocket的选型与实现策略
83 0
|
3月前
|
缓存 NoSQL 数据库
高性能Web服务器架构设计
【8月更文第28天】在当今互联网时代,网站的响应速度直接影响用户体验和业务成功率。因此,构建一个高性能的Web服务器架构至关重要。本文将从硬件配置、软件架构以及网络设置三个方面探讨如何提高Web服务器的性能,并提供一些实际的代码示例。
221 0
|
4天前
|
监控 前端开发 JavaScript
探索微前端架构:构建可扩展的现代Web应用
【10月更文挑战第29天】本文探讨了微前端架构的核心概念、优势及实施策略,通过将大型前端应用拆分为多个独立的微应用,提高开发效率、增强可维护性,并支持灵活的技术选型。实际案例包括Spotify和Zalando的成功应用。
|
5天前
|
前端开发 JavaScript API
探索JAMstack架构:现代Web开发的新范式
【10月更文挑战第28天】JAMstack架构是一种现代Web开发方法,以其高性能、高安全性和易于维护的特点受到开发者青睐。本文深入探讨了JAMstack的核心概念、优势、工具链及其如何改变Web开发方式,包括静态网站生成、API驱动和预渲染等关键技术。
|
13天前
|
前端开发 JavaScript 安全
探索 JAMstack 架构:现代Web开发的新范式
【10月更文挑战第20天】JAMstack(JavaScript、APIs、Markup)架构是一种现代Web开发方法,通过预构建静态页面、动态功能通过APIs实现和依赖JavaScript,提供高性能、安全和可扩展的Web开发新范式。本文深入探讨其核心理念、优势、工具和最佳实践,帮助开发者理解和应用JAMstack。
|
27天前
|
前端开发 JavaScript 安全
探索JAMstack架构:现代Web开发的新范式
【10月更文挑战第7天】JAMstack是一种现代Web开发架构,代表JavaScript、APIs和Markup。本文介绍了JAMstack的核心概念、优势及实施步骤,包括内容设计、选择静态站点生成器、API集成、前端开发和部署托管。JAMstack提高了网站的性能、安全性和可扩展性,适用于营销网站、博客、电子商务和Web应用等多种场景。
|
30天前
|
前端开发 API 云计算
探索现代Web开发中的微前端架构
【10月更文挑战第4天】在快速发展的软件开发领域,微前端架构(Micro Frontends)逐渐成为构建大型、复杂前端应用的热门选择。本文深入探讨微前端架构的概念、优势及其实现方式。微前端架构将应用分解为独立模块,每个模块可由不同团队独立开发、测试和部署,从而提高开发效率和应用的可维护性。其优势包括独立性、技术多样性、可扩展性和灵活性。实现微前端架构需定义边界、选择通信机制、构建基础框架、开发独立模块并进行集成与测试。现代Web开发中,常用方法包括使用Web Components、模块化CSS、状态管理和服务端渲染等。随着云计算和微服务架构的普及,微前端架构预计在未来几年内持续增长。
|
1月前
|
前端开发 JavaScript
掌握微前端架构:构建现代Web应用的新方法
本文介绍了微前端架构的概念及其在现代Web应用开发中的优势与实施方法。微前端架构通过将应用拆分成独立模块,提升了开发效率和灵活性。其核心优势包括技术栈灵活性、独立部署、团队协作及易于维护。文章详细阐述了定义边界、选择框架、管理状态和通信等关键步骤,并讨论了状态同步、样式隔离及安全性等挑战。微前端架构有望成为未来Web开发的重要趋势。
|
2月前
|
缓存 Kubernetes Java
阿里云 SAE Web:百毫秒高弹性的实时事件中心的架构和挑战
SAE 事件中心通过智能诊断显示通知与用户连接起来,SAE WEB 百毫秒弹性实例给事件中心带来了新的实时性、海量数据和高吞吐的挑战,本篇将带您了解 SAE 整体事件中心的架构和挑战。
135 10
|
1月前
|
前端开发 JavaScript 微服务
拥抱微前端架构:构建未来Web应用的新思路
随着互联网技术的发展,Web应用日益复杂,传统单体架构已难以满足需求。微前端架构将大型应用拆分为独立模块,便于管理和迭代。其核心优势包括技术栈无关性、独立部署、团队协作及易于扩展。实施时需定义边界、选用框架(如Single-spa)、管理状态通信,并解决样式隔离和安全性等问题。尽管存在挑战,微前端架构凭借灵活性和高效性,有望成为未来Web开发的主流趋势。