码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 5分钟搞懂Web3架构


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

    Shubham Dhage@Unsplash
    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
    • 前端代码 = 定义交互逻辑
    • 后端代码 = 定义处理请求的业务逻辑
    • 数据库 = 存储所有数据
    图片来源: 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
    图片来源: 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
    图片来源: 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

    - END -

    本文由 mdnice 多平台发布

  • 相关阅读:
    黑帽python第二版(Black Hat Python 2nd Edition)读书笔记 之 第八章 Windows常见特洛伊木马任务(1)有趣的键盘记录器
    【Educoder离散数学实训】计算机问题求解之递归 ※
    【SparkStreaming】DS输出、优雅的关闭、案例实操之需求一的实现
    Spring Boot集成WebSocket以及基本使用
    java毕业设计技术的装潢公司网站开发(附源码、数据库)
    Linux命令lsscsi详解
    创建你的第一个页面
    C语言——指针进阶
    (十二)数据结构-树、森林
    Android Studio main,xml 视图&&代码转换
  • 原文地址:https://blog.csdn.net/yuff100/article/details/133969991
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号