Akash Network (AKT):Akash区块链技术架构

  • DAIC
  • 发布于 2024-10-02 16:10
  • 阅读 12

本文深入探讨了Akash Network的技术架构,Akash Network是一个去中心化的云基础设施平台,它基于 Cosmos SDK,利用 Docker 容器和 Kubernetes 等技术,实现高效、安全和可扩展的云计算服务。文章详细介绍了 Akash 网络的各个组成部分,包括区块链层、应用层、供应商层和用户层,以及它们之间的交互方式。

要点总结

  • 去中心化云基础设施:Akash Network 提供了一个去中心化的云平台,允许用户部署和扩展应用程序,而无需中央控制。

  • 基于 Cosmos:Akash 构建在 Cosmos SDK 之上,实现了与安全且可扩展的云服务的跨链互操作性。

  • 激励型市场:拥有一个去中心化的市场,资源提供者和用户可以在此连接以获取云服务。

  • 高效定价:通过有竞争力的定价提供具有成本效益的云计算。

  • 可扩展且安全:通过无许可架构确保高可扩展性和安全性。

Akash Network 技术架构简介

Akash Network 是一个开源的云基础设施平台和去中心化公共事业,通常被归类为去中心化物理基础设施网络 (DePIN)

Akash Network 没有采用传统云计算和托管提供商(如 Google Cloud 和 Amazon Web Services (AWS))流行的中心化方法,即单个实体对云基础设施访问的所有方面拥有完全控制权,而是实现了一个完全无需许可、用户拥有的云计算框架,且进入门槛较低。

Akash 实现这一目标的方式是依赖于一个点对点 (P2P)网络基础设施,该基础设施包含平台的主权分布式所有权。具体来说,Akash Network 由一个委托权益证明 (dPoS)区块链提供支持,该区块链利用 Cosmos SDKComet-BFT 共识、链间通信协议 (IBC) 以及其他几个组件来促进云的整体功能和治理。

为了帮助提高网络的效率和广泛的实用性,Akash Network 采用了行业标准,如 Docker 容器Kubernetes 来托管云部署,从而确保了代码在 Akash 和其他平台(包括许多自托管解决方案)之间的高度可移植性。

Akash Network 具有高度的容错能力,无论是在管理方面还是在实用性方面,这意味着该网络的架构代表了一种经过深思熟虑的设计,专门用于云计算、云存储、会计和管理。

如果你想在熟悉 Akash Network 的技术架构后更好地理解其复杂性,可以看看我们的介绍性博文,其中介绍了 Akash 平台的建立、Akash 解决的问题以及网络用例的概述。

上图显示了截至 2024 年 7 月全球活跃 Akash 提供商位置的快照。目前,该网络在全球拥有 62 家提供商。(图片来源:通过 Akash Network 网站提供的 Akash 提供商网络容量)上图显示了截至 2024 年 7 月全球活跃 Akash 提供商位置的快照。目前,该网络在全球拥有 62 家提供商。(图片来源:通过 Akash Network 网站提供的 Akash 提供商网络容量

为了获得 Akash Network 的深远实用性及其众多的特定用途能力,该协议由几个主要的架构元素组成,这些元素使网络能够作为开放且无需许可的公共事业运行。这些包括:

  1. Akash Layer 1 区块链 - 作为 Akash 平台的主要基础架构层,区块链层包含两个主要组件:

    • Cosmos SDK - 用于开发主权 Cosmos 区块链的框架,这些区块链在更大的 Cosmos 网络中相互操作

    • Commet BFT - Cosmos 构建的共识机制,支持 Akash L1 及其底层网络基础设施的平衡完整性

  2. Akash 云市场 - 构建在 Akash Layer 1 之上,Akash 市场由两个主要用户类别组成,它们协同工作以确保 Akash Network 的运营效率。这些是:

    • 提供商 - 物理计算资源的所有者

    • 租户 在物理资源(即提供商)上部署代码的用户

  3. Akash Network 验证者 - 在 Akash 上运行的 100 个最强大的节点,验证者补充了 Comet BFT 和底层 L1 的权益证明共识,同时维护了补充网络整体完整性的 staking 激励机制

Akash 云市场

如上所述,Akash 市场由两个主要用户类别组成:

  1. 提供商
  2. 租户

在这种情况下,提供商是提供物理硬件租赁的用户,而租户是在网络上部署应用程序的任何用户。本质上,租户利用提供商提供的计算能力。也就是说,用户可以同时成为提供商和租户。例如,用户可以在 Akash 网络上部署 Web 应用程序,同时拍卖用户本地 GPU 上的计算资源。

上图显示了一个详细的流程图,展示了成为 Akash Network 云提供商所需的必要步骤。(图片来源:通过 Akash Network 网站提供的 Akash 提供商网络容量)上图显示了一个详细的流程图,展示了成为 Akash Network 云提供商所需的必要步骤。(图片来源:通过 Akash Network 网站提供的 Akash 提供商网络容量

为了确保 Akash 市场按预期运行,该系统使用了几个相互关联的配置元素,这些元素使网络能够协调一致地执行其后端流程。这些包括:

  • 部署序列 (DSEQ):Akash Network 部署过程的一个重要方面是为每个部署定义一个唯一的部署序列 (DSEQ) 标识符(部署是 Akash Network 上的用户应用程序)。DSEQ 标识符用于跟踪和管理用户的部署(请参阅下面的应用程序层部分)。准确地说,在管理部署时,DSEQ 为每个实例提供了一个特定的参考点。

  • 订单序列 (OSEQ):DSEQ 还利用一个相关的订单序列号 (OSEQ),它是一个管理计数器,用于指示现有租约是否已关闭以及是否为同一部署放置了新订单(另请参阅下面的应用程序层部分)。

  • 组序列 (GSEQ):此外,可以作为一组部署多个容器。为了促进此过程,定义了一个组序列 (GSEQ),以允许组部署使用一组订单、投标和租约进行操作。

Akash Network 架构层

Akash Network 的架构包含一个多层结构,其中多个交互层协同工作,以提供一个去中心化的云计算平台和会计系统。因此,Akash 用户包含一个“超级云”,其中包含多个向租户提供计算和网络服务的个体参与者。这使网络能够以点对点的方式运行,而不是由单个中心化提供商管理。

Akash Network 分为四个主要的架构层。这些包括:

  1. 区块链层 – 智能合约和支付的底层机制

  2. 应用程序层 – 管理和应用程序部署的规定

  3. 提供商层 – 寻求拍卖资源的硬件所有者的规定

  4. 用户层 – 最终用户的规定,在 Akash Network 上部署应用程序

1. 区块链层

Akash Network 的区块链层是通过 Cosmos SDK 和 Comet BFT 共识之间互惠互利的关系形成的。Cosmos SDK 是一个开源的软件开发工具包 (SDK),允许开发特定于应用程序的多资产区块链。

Akash Network 采用 Comet BFT 共识引擎的实用程序来提供系统范围的 拜占庭容错 (BFT),同时利用 应用程序区块链接口 (ABCI) 来确保在可能存在恶意参与者的情况下对任何应用程序进行 BFT 复制。

上图说明了 Comet BFT 共识协议状态机的工作原理,其中 Akash 验证器参与共识以保护链及其底层数据流程。(图片来源:通过 Comet BFT 文档提供的什么是 Comet BFT)上图说明了 Comet BFT 共识协议状态机的工作原理,其中 Akash 验证器参与共识以保护链及其底层数据流程。(图片来源:通过 Comet BFT 文档提供的什么是 Comet BFT

在 SDK 上构建定制生态系统的主要好处之一是,可以根据需要实施和添加任何应用程序特定的模块,同时仍然使用构成区块链核心的复杂但完善的模块。因此,密码学、共识和其他内务管理实用程序等各个方面可以在实施之前由已建立的代码处理。

通过遵循 Cosmos SDK 的设计约束,Akash 确保了与其他 Cosmos 区块链的互操作性,这种实用程序被认为至关重要,因为事实上用户可能希望处理各种不同 token 类型的结算。

Cosmos 区块链的互操作性通过 IBC 提供的连接来实现。此外,这允许 AKT 通过 Keplr 钱包和其他相关媒介在整个更大的 Cosmos 网络中的各种区块链(和地址类型)之间无缝连接。

应该注意的是,在 Akash 上部署的支付成本通常以 AKT 支付。通常,这是通过获取 ATOM token来完成的,这些 token 可以通过像 Osmosis 这样的去中心化交易所 (DEX)轻松转换为 AKT;购买后,允许它们以后在 Akash 生态系统中使用。然而,像大多数加密货币资产一样,AKT 也可在 Coinbase、Binance、Kraken、Revolut 等多个 中心化交易所 (CEX) 上获得。

上图描绘了 Akash Network 上提供商-租户部署流程的简化说明。此流程按以下方式发布:首先,租户发布请求,然后进行反向拍卖以确定服务的最终出价价格(即 GPU 和/或 CPU 计算能力的供应),然后接受中标的提供商出价,最后,提供商-租户租约由双方签署。租约确定后,可以将容器化应用程序推送到提供商并上线。(图片来源:Akash Network)上图描绘了 Akash Network 上提供商-租户部署流程的简化说明。此流程按以下方式发布:首先,租户发布请求,然后进行反向拍卖以确定服务的最终出价价格(即 GPU 和/或 CPU 计算能力的供应),然后接受中标的提供商出价,最后,提供商-租户租约由双方签署。租约确定后,可以将容器化应用程序推送到提供商并上线。(图片来源:Akash Network

2. 应用程序层

应用程序层是 Akash 网络的管理组件,允许构建在 Akash 之上的应用程序运行。更具体地说,应用程序层利用四个关键功能来支持各种特定于网络的过程,包括:

  • 部署:部署 是 Akash 超级云的实用程序,由租户用户所需的应用程序配置和规范组成。除了所需的应用程序代码和依赖项之外,完全配置的部署还包含有关请求的计算资源类型、所需的存储、账单信息和特定地理位置(即物理部署的最终位置)的信息。

  • 订单:订单 是基于部署清单中规定的规范生成的,并由广播发布到 Akash Network 市场。一旦进入市场,提供商就可以使用反向拍卖机制对工作负载进行投标,这意味着一旦达成协议,就可以商定租约

  • 投标:提供商通过反向拍卖对已发布的订单进行投标,以确保租户获得具有竞争力的价格。

  • 租赁:最后,租赁 是用于完成部署投标过程的最后一步。当提供商赢得投标并且与租户的合同生效时,租户将其应用程序部署提交给中标的提供商。具体来说,租赁是与提供商达成的Hosting和提供计算、存储和连接资源的使用时间和范围有限的协议,同时也是 Akash 生态系统的计费规定。

此图显示,在 2023 年第四季度和 2024 年第一季度之间,每个季度的每日活跃租约数量从每天约 500 个跃升至 3 个月内的近 1500 个。截至撰写本文时,自成立以来,Akash Network 总共创建了近 18.7 万个租约。如果你想监控 Akash 的持续租赁和增长指标,请查看 Akash 统计信息仪表板。(图片来源:Akash Network)此图显示,在 2023 年第四季度和 2024 年第一季度之间,每个季度的每日活跃租约数量从每天约 500 个跃升至 3 个月内的近 1500 个。截至撰写本文时,自成立以来,Akash Network 总共创建了近 18.7 万个租约。如果你想监控 Akash 的持续租赁和增长指标,请查看 Akash 统计信息仪表板。(图片来源:Akash Network

3. 提供商层

作为物理硬件的所有者,提供商可以说是 Akash Network 上最重要的用户。Akash Network 的提供商层包括提供商与更大的 Akash 生态系统交互所需的组件。

提供商利用计算资源,即服务器、GPU、数据存储容量和网络连接等硬件。因此,提供商可以向潜在租户提供至少一个 GPU,或多达整个数据中心,只要未使用的容量可以分配给 Akash 网络上的部署。想要向网络提供资源的用户将需要提供所需的硬件,同时还需要几个额外的软件先决条件来管理与 Akash 基础设施的交互。这些包括:

具体来说,提供商需要运行一个_提供商守护程序_来处理与应用程序层的交互。提供商还需要提供规定来处理包含租户代码的容器。容器处理子系统可以使用 Kubernetes 实现,但也可以由Docker Swarm 表示。无论采用何种方法,都需要一个容器编排子系统来确保双方的安全性和分隔。

4. 用户层

用户层包括租户,即计算资源的最终用户,以及应用程序部署所需的规定。为了实现用户层的实用程序,该层利用租户可用的两个主要用户界面组件。为了允许租户在 Akash Network 上部署,用户层提供了两个用户界面来实现基础设施交互,包括:

  1. Akash 客户端 – 一个命令行界面 (CLI),旨在与 Akash Network 交互,允许创建和管理部署、资源以及监控已部署的应用程序

  2. Akash 控制台 – 一个 Web 应用程序,专为在 Akash Network 上部署应用程序而设计,它由一个仪表板组成,允许用户监控部署及其管理流程

寻求部署应用程序的租户需要在租赁最终确定且部署上线之前支付通过反向拍卖商定的部署费用。

上图详细介绍了 Akash 控制台 Web 界面,它是面向用户的 Akash Network 架构的关键组件。 具体来说,Akash 控制台提供了几个预构建的模板,以简化网络上新部署的配置。(图片来源:通过 Akash Network 文档提供的 GPU 测试网客户端说明/Akash 控制台)上图详细介绍了 Akash 控制台 Web 界面,它是面向用户的 Akash Network 架构的关键组件。 具体来说,Akash 控制台提供了几个预构建的模板,以简化网络上新部署的配置。(图片来源:通过 Akash Network 文档提供的 GPU 测试网客户端说明/Akash 控制台

Akash Network 节点类型

为了确保 Akash Network 基础设施的完整性,Akash Network 区块链由一个独立的 验证器节点网络管理。

特别是,验证器是一个完整的 Akash 节点,对网络的完整性具有经济利益。任何验证器都需要为此质押 AKT,并相应地获得奖励。更具体地说,验证器节点负责实现与更大的 Akash 网络的五个主要实用程序

  1. 区块验证:与任何 dPoS 区块链一样,验证是用于维护平衡且完全可操作的网络共识的核心功能。因此,与任何 dPoS 链一样,Akash 采用验证器来验证交易并在链上提交区块,以确保网络的效率和完整性。

  2. 网络安全:对于任何处理对其参与者具有真实世界经济影响的交易的基础设施来说,安全性都至关重要。验证器通过防止恶意或意外或不需要的特定于网络的挑战(包括双重支出和其他问题)来确保此服务能力。通过确保区块链的完整性,商定的交易共识保证了强大的网络安全,允许网络按预期运行。

  3. 质押:与所有 dPoS 链类似,质押是用于确保在 Akash 网络上运行的验证器完整性的重要机制。这主要是通过要求参与网络共识的任何验证器质押 AKT token 来实现的。因此,验证器有动力保持诚实(非恶意)并且通常与网络的最大利益保持一致。作为回报,激励性质押奖励将按验证器的总质押比例分配给委托人(选择在其验证器中委托其 token 的用户)。因此,活跃的验证器节点具有与其各自质押成比例的投票权。

  4. 治理:验证器通过激励投票参与 Akash Network 的整体治理,与他们的总质押金成正比。没有中央机构 dictating 网络的整体方向,更大的验证器集有责任帮助确保链的底层基础设施的去中心化性质。

  5. 可靠性:为了确保持所有用户都能获得无缝且不间断的体验,验证器必须尽可能具有可用性(这意味着他们需要近 100% 的正常运行时间)至关重要。永久运营的行为有助于提高验证器收到的总奖励激励率。

在开始时,活跃的 Akash Network 验证器的数量为 85 个,总共可能的 128 个,而预计 Akash 验证器总集将在未来十年内增长到 442 个。截至 2024 年 7 月,活跃验证器的数量已扩展到当前可能的 250 个中的 100 个。

除了验证器节点之外,Akash Network 还使用 远程过程调用 (RPC) 节点。RPC 节点是允许用户访问区块链上的数据的服务器,同时还负责促进其他网络(无论是在 Cosmos 上还是在其他地方)之间的交易交互。特别是,Akash Network 展示了一个专门分配给公共使用的 受信任的社区 RPC 节点简短列表

现在你已经熟悉了网络上运行的不同类型的节点,请考虑查看我们对 Akash 生态系统及其未来潜力的广泛概述,请参阅我们关于该项目的第三篇也是最后一篇博文

其他 Akash 架构组件

除了构成更大的 Akash Network 的众多核心基础设施组件之外,几个额外的架构元素代表了将网络连接在一起的粘合剂。这些包括软件依赖项、所需的配置文件语法定义等。通常,其中最重要的是:

  • Docker 容器 – 包含部署代码和特定配置的分隔软件容器

  • Kubernetes – 一个开源的标准化容器编排框架,允许提供商托管部署

  • 堆栈定义语言 (SDL) – 一种基于 YAML 的标准化文件格式,用于包含部署规范和要求的清单

Docker 容器

在 Akash Network 之上,租户以 Docker 镜像的形式提交部署,其中包括所有必需的依赖项。这些镜像在部署时解压缩,并作为 Docker 容器在提供商的硬件上运行。更准确地说,Docker 容器是一个行业标准、独立的实例,包含已部署服务的正常运行实例所需的所有代码和数据。

Akash 采用的 Docker 容器方法的另一个好处是,正确配置和打包的 Docker 镜像可以部署到运行相应容器处理系统的任何兼容硬件或云。非常重要的是,这包括 Kubernetes,它是 Akash 提供商使用的主要容器编排子系统。

上图显示了与传统的本地部署相比,容器化系统如何在主机操作系统之上的容器中部署独立的软件捆绑包,从而将外国用户的代码与主机系统隔离。(图片来源:通过 Kubernetes 文档提供的 Kubernetes 概述)上图显示了与传统的本地部署相比,容器化系统如何在主机操作系统之上的容器中部署独立的软件捆绑包,从而将外国用户的代码与主机系统隔离。(图片来源:通过 Kubernetes 文档 提供的 Kubernetes 概述)

Kubernetes

当与提供商达成租约时(即在租户和提供商之间),提供商接受在其硬件上运行的 Docker 镜像。这些容器的管理或编排通常由提供商端的Kubernetes本地实例处理。与 Docker 容器一样,Kubernetes 是另一个开源行业标准,允许在单台机器上部署多个独立的 Docker 容器。

此模型可以在标准化环境中快速部署,该环境在 Akash 提供商之间很常见,并且与许多中心化云计算平台(包括许多中心化云计算平台)在很大程度上兼容,从而可以轻松地在提供商之间甚至在自托管解决方案之间迁移服务。

堆栈定义语言

堆栈定义语言 (SDL) 是将应用程序部署的要求和配置提交到 Akash Network 的格式。SDL 文件是一种人类可读的配置文件格式,基于简洁的 YAML,具有用于与 Akash 子系统交互的 Akash 特定键值对。因为它与 SDL 和 Akash Network 的互连性特别相关,所以该平台利用与客户端(租户)、内存和资源需求(例如 GPU)、地理位置请求、序列规范(DSEQ、GSEQ 和 OSEQ)和支付规范相关的信息.

资源

网站

X (Twitter)

博客

文档

Telegram

Discord

LinkedIn

YouTube

DAIC 提供的信息,包括但不限于研究、分析、数据或其他内容,仅供参考,不构成投资建议、财务建议、交易建议或任何其他类型的建议。 DAIC 不建议购买、出售或持有任何加密货币或其他投资。

相关文章

  • 原文链接: daic.capital/blog/akash-...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
DAIC
DAIC
We Invest In The Future Of Digital Assets. Web3 Infrastructure Provider & Community Validator