6

Web 3.0 架构不仅是去中心化的,更是模块化的

 2 years ago
source link: https://news.huoxing24.com/20220502085049888713.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Web 3.0 架构不仅是去中心化的,更是模块化的

W3.Hitchhiker2022-05-02热度: 26372
作者:Xiang,W3.Hitchhiker

一、Web 2.0 架构

Web2.0应用以去中心交易所 Binance 为例,Binance 允许用户去交易各种代币。

Binance是一个 Web 2.0 应用程序,架构听起来很简单,但实际上在开发中,需要进行大量的工作。

用户需要通过网络运营商来使设备联网,然后打开浏览器,输入币安的域名,通过 http 协议去访问币安的网站。

Binance 需要用户通过手机或者邮箱来进行注册并登录该平台。

然后币安自己需要一个地方来存储像用户注册信息,交易额度,成交历史,挂单等的基础数据。而这些都需要搭建一个数据库用来存储,并且要不断地更新。

其次,后端代码语言(像 Node.js, Java, or Go)决定了 Binance 的所有的业务逻辑。需要一个搭建服务器部署后端跑后端的逻辑。例如,当新用户注册、交易,挂单会发生什么情况?

还有,像前端代码语言(JavaScript, HTML, and CSS )决定了 Binance 的 UI 逻辑。需要一个搭建服务器部署到前端跑前端的交互逻辑。例如,网站是什么样子的?当用户与页面上的每个按键交互时会发生什么?

当你在 Binance 上写交易时,这些所有的东西都会整合起来进行联动。你与它的前端互动,前端和后端交互,后端再与它的数据库交互。所有这些代码都托管在中心化服务器上,并通过互联网浏览器反馈给用户,而中心化服务器的所有控制权在 Binance 的手上。

这是对当今大多数 Web 2.0 应用程序的工作原理的一个简单总结,当然实际会更为复杂。

二、Web 3.0 架构

Web 3.0 应用以 Uniswap 为例,Uniswap 是去中心交易所,允许自由添加并交易各种代币。

Uniswap是一个 Web 3.0 应用程序,架构听起来很复杂,但实际开发实现很简单。

首先,用户要通过设备来进行联网,需要通过网络服务商,类似电信,移动之类。(去中心化的网络服务商,物联网:Helium

然后,用户访问程序要通过浏览器或者操作系统(去中心化的浏览器或操作系统:Brave

用户访问程序要通过浏览器与服务端交互,这一操作需要通过协议来支持(传统是 http,新的可由 IPFS 来替代,通过内容寻址)

Uniswap需要用户通过私钥,钱包去登录(类似插件,钱包等:Metamask、Tokenpocket、MathBrave钱包),此外统一的 DID 也是未来的一个方向(类似 ENS 等

钱包需要连接区块链的节点,这时会需要节点的服务器来提供,这也就需要对应区块链的节点,或者由 Infura/Alchemy 这种专业的节点服务提供商来进行。(去中心化的节点服务提供商也是一个趋势:Pocket

Uniswap 网站是什么样子的,当用户与页面上的每个按键交互时会发生什么?还是JavaScript,HTML 和 CSS 之类的前端代码语言实现 Uniswap 的 UI 逻辑。

但 Web3 可以不需要自己搭建服务器部署跑前端的交互逻辑。这些前端的数据可以保存在去中心化的存储网络中。(如 Filcoin、SWARM、AR 等)

以下是 Uniswap 的官方的 IPFS 链接,此方案不需要搭建前端服务器,用户同样可以正常使用。

ipfs://bafybeiagkgmmhux6fswdoedmwqqsvt5arjivl35wuk25jljb2yqgn7njgu/#/swap

以上的链接,可以看到是由 ipfs:// 开头的,所以需要支持解析ipfs的浏览器才能打开(Brave、Opera

并且该链接不是人类可读的,所以又需要域名服务,把对应的域名映射到该链接,例如uniswap.eth。(去中心化的域名服务:IPNS、ENS 等

当然 IPFS 也只支持兼容 Http 的网关去访问。

当网站访问量高的时候,需要更加灵活的带宽市场 —— CDN 加速网络。(CDN 服务、IPFSFilecoin 检索市场

Uniswap 通过区块链智能合约语言 solidity 等实现,决定了 Uniswap 的所有的业务逻辑。因为是跑在 EVM 环境内,所以 Uni 不需要自己搭建服务器部署后端跑业务逻辑(支持智能合约的区块链、ETH 等)。

但交易所需要展示的,肯定不只是业务逻辑,也需要展示币价的历史价格曲线,交易额度等。这些历史数据并不能通过智能合约获取。假设项目方需要展示的话,仍然需要自己搭建服务器,跑一个节点,通过链上的数据,筛选出来保存到 Uni 自己的数据库。所以 Web3 需要一个链数据索引的解决方案。(链数据索引平台 Graph )

The Graph 就提供了一个链数据索引方案,可以方便用户查询数据。在 The Graph 中,你可以定义哪些智能合约需要索引、哪些事件与函数调用需要监听,包括调用时、产生时的状态,也可以规定如何将传入的事件转化为前端逻辑可处理的。

链上数据的保存会由专门的 Graph 索引挖矿节点保存,该索引节点将提供 API 供用户页面端调用,项目方不需要搭建服务器,只有索引节点需要搭建服务器来跑索引数据挖矿节点。

通过索引区块链数据,The Graph 可以让我们在应用逻辑中查询链上数据,并且几乎不会出现延迟的情况。

例如 Uniswap 交易信息的呈现就是通过 The Graph 生成的。

如果 Uniswap 想呈现的更多,把链下的币价数据也在链上呈现出来,这时就需要打通链下链上数据的桥梁(去中心化的预言机:chainlink)。

按照以上的开发逻辑,Uniswap 相当于发布了一个 Web 3.0 的应用,但实际实现的成本比开发币安交易所的成本低非常多,因为:

  1. Uniswap 不需要用户绑定邮箱,绑定手机,可以直接通过钱包登录,Uni 自身也不需要保存
  2. Uniswap 可以不需要搭建前端服务器,用户可通过 IPFS 或 AR 存储前端页面进行访问
  3. 不需要搭建后端服务器。后端逻辑是跑在智能合约上
  4. 不需要搭建数据库,历史数据与数据库操作通过 TheGraph 来实现

专业的人去做专业的事,Uniswap 只需做好、设计好自己的逻辑,其他逻辑由模块化 Web3 基础设施去支撑。

这样 Uniswap 不仅仅实现了完全的去中心化,也是 Web3 模块化的一个简单的应用案例。

Web3 的核心是能去信任化交互价值,模块化的发展不仅能做到去信任化,还能提高运行的效率,模块化的趋势会应用到各行各业。

前文所说的是 Web3 网络架构的模块化,提高了 Web3 的生成力效率,那怎么提高 Web3 生产关系的效率(Web2 的生产关系主要以公司为主,Web3 的生成关系就是 DAO,DAO 的模块化也是未来的趋势)。DAO 又依赖于区块链,区块链本身也正在走向模块化,同理元宇宙,游戏等等都是如此。

模块化时代到来将带来更高的效率,更好的服务,W3Hitchhiker 将持续跟进 crypto 的模块化之路。

免责声明:作为区块链信息平台,本站所提供的资讯信息不代表任何投资暗示,本站所发布文章仅代表个人观点,与火星财经官方立场无关。虚拟货币不具有法定货币等同的法律地位,参与虚拟货币投资交易存在法律风险。火星财经反对各类代币炒作,请投资者理性看待市场风险。
语音技术由科大讯飞提供

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK