Lesson 3

Akash Network's technical architecture

Akash Network's technical foundation is built on a solid technology stack, ensuring scalability, security, and efficiency. The blockchain layer is responsible for consensus and governance, while the application layer manages deployment and resource allocation. Providers use container orchestration tools such as Kubernetes to manage deployments. The user layer includes deployment management tools such as Akash CLI and console. Akash's decentralized structure enhances security and efficiency, with auditability, provider daemons, and a community-driven governance model.

Technology Stack

The technical foundation of Akash Network is built on a powerful technology stack, ensuring scalability, security, and efficiency. Here is a detailed introduction to its components:

Blockchain layer

The blockchain layer of the Akash network is built using Tendermint Core and Cosmos SDK, providing a solid foundation for network operation.

Tendermint Core:Tendermint Core is a Byzantine Fault Tolerant (BFT) consensus engine that forms the foundation of the Akash blockchain. It ensures fast, secure, and reliable transaction processing, enabling Akash to maintain a decentralized and secure state. Tendermint achieves consensus through validators proposing and voting on blocks, ensuring consistency even in the presence of malicious actors.

Cosmos SDK:Cosmos SDK is a modular framework for building custom blockchains. It allows developers to create customized blockchains by assembling various pre-built modules. In the context of Akash, Cosmos SDK handles governance, token transactions, and validator management, ensuring scalability and adaptability of the blockchain.

Application layer

The application layer is responsible for managing application deployment, resource allocation, and deployment lifecycle in the Akash ecosystem. This layer includes several key components:

Deployment:Users define their computing requirements in the deployment configuration file, such as CPU, memory, and storage. These configurations specify what the application needs and where it should be deployed.

Orders and Bids:According to the deployment configuration, orders are generated and broadcast to the network. Providers then bid to fulfill these orders, competing to offer the best price.

Lease:When the user accepts the bid, a lease will be created between the user and the provider to formalize the use of the provider's resources.

Provider Layer

The provider tier consists of data centers, cloud service providers, and individual server operators who provide computing resources to the Akash network. The main components of this layer include:

Provider Guardian Process:The software component management provider's resources, facilitate communication with the Akash blockchain, and manage the deployment of allocated resources. It ensures efficient resource utilization and enables providers to seamlessly manage their bidding and deployment.

Container Orchestration:Providers use container orchestration systems such as Kubernetes or Docker Swarm to manage and scale user applications. These systems automate the deployment, scaling, and operation of application containers across a cluster of hosts.

User layer

The user layer allows developers and enterprises to interact with the Akash network, manage resources, and monitor the status of their applications. It includes the following tools:

Akash CLI:A command-line interface that allows users to interact with the Akash network, create deployments, manage resources, and monitor application status directly from the terminal.

Akash Console:A web-based interface for deploying applications on the Akash network. It provides a dashboard for easy management and monitoring of deployments, offering a user-friendly way to interact with the network without requiring in-depth technical expertise.

Other Features

State synchronization and fast synchronization

To enhance node synchronization, Akash supports state synchronization and fast synchronization. Compared to traditional methods, these methods can download necessary data more efficiently, allowing nodes to join the network quickly. In particular, state synchronization allows new nodes to quickly synchronize the latest state of the blockchain, thereby improving overall network performance.

Sentinel nodes for mitigating DDoS

Sentinel Node defends against Distributed Denial of Service (DDoS) attacks by hiding the validator's IP address and providing a scalable list of public IP addresses. This approach ensures that validators can remain secure and continue to operate even in the event of a potential attack.

Akash Network deployment process

The process of deploying applications on Akash Network is simple, from initial setup to final deployment. Here is a detailed guide to deploying applications using Akash, including setting up Docker containers and scaling deployments.

Step 1: Set up the deployment environment

Create WalletBefore you start, please make sure you have created a wallet for trading. You will store Akash tokens (AKT) in it for network transactions.

Install Akash CLIDownload and install Akash CLI (Command Line Interface) on your computer. This tool is crucial for interacting with the Akash Network.

Step 2: Define deployment configuration

Preparing to deploy file: Define the configuration of the application in the deploy.yaml file. This file contains specifications using the Stack Definition Language (SDL), such as Docker images, CPU requirements, memory, storage, and pricing parameters. This language is designed to be easy to use and allows for specifying the precise resources required by the application.

Step 3: Deploy using Akash console or CLI

Connect to Akash ConsoleFor GUI-based methods, please connect to the Akash console. This platform simplifies the deployment process and provides a user-friendly deployment interface.

Deploy using CLIIf you prefer to use command-line tools, you can deploy applications through Akash CLI. This requires running commands to submit the deployment and managing it directly from the terminal.

Step 4: Manage and Expand Deployment

Monitoring and ManagementAfter the deployment is complete, use the Akash console to monitor the deployment. The console provides detailed insights into application status and performance.

Extension: If your application requires more resources or needs to scale capacity, you can easily scale your deployment. This includes adjusting the deployment configuration to increase resources such as CPU and memory, and then updating the deployment.

Other Resources

Deployment TemplateAkash provides pre-built deployment templates that you can use as a starting point for your applications. These templates cover a variety of common applications and can be fully customized.

SDL Builder: For those who need help building a deployment file, Akash provides an SDL builder tool in the console that guides you through creating a valid deployment configuration.

By following these steps, you can efficiently deploy and manage Docker containers on the Akash Network, leveraging its decentralized infrastructure for higher cost-effectiveness and greater flexibility compared to traditional cloud providers.

The security and management of Akash Network

Decentralized Security Mechanism

Akash Network adopts a decentralized structure, significantly enhancing the security and efficiency of cloud resource management. This decentralized approach mitigates common risks associated with centralized platforms, such as single points of failure and monopolistic control over infrastructure.

Enhanced trust audit attributes

One key feature of Akash's secure infrastructure is the use of auditing attributes. These attributes allow users to specify and restrict bidding only to providers that meet specific verification criteria. Providers on the network can be audited and certified by trusted auditing firms, and their services can be digitally signed on the chain. This ensures that users can choose providers with reliability and security standards, enhancing trust throughout the network.

Provider Daemon and Container Orchestration

Each provider on Akash runs a provider daemon (akashd) that plays a key role in resource management and interacts directly with the Akash blockchain. This daemon handles deployment orders, submits bids, and coordinates the deployment and management of user applications. In addition, Akash providers use advanced container orchestration technologies such as Kubernetes to efficiently and securely manage and scale deployments. This setup not only optimizes resource utilization but also maintains isolation between different deployments, ensuring robust security.

The role of validators in network security

Validators in Akash Network are responsible for maintaining the integrity and security of the blockchain. They participate in the consensus process, validate transactions, and ensure the network remains uninterrupted. This role is crucial in preventing double-spending attacks and other malicious network activities.

Governance and community participation

Akash's decentralized governance model allows token holders to participate in the decision-making process, influencing the network's development and operational guidelines. This community-driven approach ensures that the network's development aligns with user needs and security concerns.

Achieving security through technology and community

Combining technological solutions and an active community governance model, Akash Network provides a secure and efficient cloud resource management platform. The use of auditability and decentralized operations not only enhances security, but also achieves democratized access to cloud resources.

Disclaimer
* Crypto investment involves significant risks. Please proceed with caution. The course is not intended as investment advice.
* The course is created by the author who has joined Gate Learn. Any opinion shared by the author does not represent Gate Learn.
Catalog
Lesson 3

Akash Network's technical architecture

Akash Network's technical foundation is built on a solid technology stack, ensuring scalability, security, and efficiency. The blockchain layer is responsible for consensus and governance, while the application layer manages deployment and resource allocation. Providers use container orchestration tools such as Kubernetes to manage deployments. The user layer includes deployment management tools such as Akash CLI and console. Akash's decentralized structure enhances security and efficiency, with auditability, provider daemons, and a community-driven governance model.

Technology Stack

The technical foundation of Akash Network is built on a powerful technology stack, ensuring scalability, security, and efficiency. Here is a detailed introduction to its components:

Blockchain layer

The blockchain layer of the Akash network is built using Tendermint Core and Cosmos SDK, providing a solid foundation for network operation.

Tendermint Core:Tendermint Core is a Byzantine Fault Tolerant (BFT) consensus engine that forms the foundation of the Akash blockchain. It ensures fast, secure, and reliable transaction processing, enabling Akash to maintain a decentralized and secure state. Tendermint achieves consensus through validators proposing and voting on blocks, ensuring consistency even in the presence of malicious actors.

Cosmos SDK:Cosmos SDK is a modular framework for building custom blockchains. It allows developers to create customized blockchains by assembling various pre-built modules. In the context of Akash, Cosmos SDK handles governance, token transactions, and validator management, ensuring scalability and adaptability of the blockchain.

Application layer

The application layer is responsible for managing application deployment, resource allocation, and deployment lifecycle in the Akash ecosystem. This layer includes several key components:

Deployment:Users define their computing requirements in the deployment configuration file, such as CPU, memory, and storage. These configurations specify what the application needs and where it should be deployed.

Orders and Bids:According to the deployment configuration, orders are generated and broadcast to the network. Providers then bid to fulfill these orders, competing to offer the best price.

Lease:When the user accepts the bid, a lease will be created between the user and the provider to formalize the use of the provider's resources.

Provider Layer

The provider tier consists of data centers, cloud service providers, and individual server operators who provide computing resources to the Akash network. The main components of this layer include:

Provider Guardian Process:The software component management provider's resources, facilitate communication with the Akash blockchain, and manage the deployment of allocated resources. It ensures efficient resource utilization and enables providers to seamlessly manage their bidding and deployment.

Container Orchestration:Providers use container orchestration systems such as Kubernetes or Docker Swarm to manage and scale user applications. These systems automate the deployment, scaling, and operation of application containers across a cluster of hosts.

User layer

The user layer allows developers and enterprises to interact with the Akash network, manage resources, and monitor the status of their applications. It includes the following tools:

Akash CLI:A command-line interface that allows users to interact with the Akash network, create deployments, manage resources, and monitor application status directly from the terminal.

Akash Console:A web-based interface for deploying applications on the Akash network. It provides a dashboard for easy management and monitoring of deployments, offering a user-friendly way to interact with the network without requiring in-depth technical expertise.

Other Features

State synchronization and fast synchronization

To enhance node synchronization, Akash supports state synchronization and fast synchronization. Compared to traditional methods, these methods can download necessary data more efficiently, allowing nodes to join the network quickly. In particular, state synchronization allows new nodes to quickly synchronize the latest state of the blockchain, thereby improving overall network performance.

Sentinel nodes for mitigating DDoS

Sentinel Node defends against Distributed Denial of Service (DDoS) attacks by hiding the validator's IP address and providing a scalable list of public IP addresses. This approach ensures that validators can remain secure and continue to operate even in the event of a potential attack.

Akash Network deployment process

The process of deploying applications on Akash Network is simple, from initial setup to final deployment. Here is a detailed guide to deploying applications using Akash, including setting up Docker containers and scaling deployments.

Step 1: Set up the deployment environment

Create WalletBefore you start, please make sure you have created a wallet for trading. You will store Akash tokens (AKT) in it for network transactions.

Install Akash CLIDownload and install Akash CLI (Command Line Interface) on your computer. This tool is crucial for interacting with the Akash Network.

Step 2: Define deployment configuration

Preparing to deploy file: Define the configuration of the application in the deploy.yaml file. This file contains specifications using the Stack Definition Language (SDL), such as Docker images, CPU requirements, memory, storage, and pricing parameters. This language is designed to be easy to use and allows for specifying the precise resources required by the application.

Step 3: Deploy using Akash console or CLI

Connect to Akash ConsoleFor GUI-based methods, please connect to the Akash console. This platform simplifies the deployment process and provides a user-friendly deployment interface.

Deploy using CLIIf you prefer to use command-line tools, you can deploy applications through Akash CLI. This requires running commands to submit the deployment and managing it directly from the terminal.

Step 4: Manage and Expand Deployment

Monitoring and ManagementAfter the deployment is complete, use the Akash console to monitor the deployment. The console provides detailed insights into application status and performance.

Extension: If your application requires more resources or needs to scale capacity, you can easily scale your deployment. This includes adjusting the deployment configuration to increase resources such as CPU and memory, and then updating the deployment.

Other Resources

Deployment TemplateAkash provides pre-built deployment templates that you can use as a starting point for your applications. These templates cover a variety of common applications and can be fully customized.

SDL Builder: For those who need help building a deployment file, Akash provides an SDL builder tool in the console that guides you through creating a valid deployment configuration.

By following these steps, you can efficiently deploy and manage Docker containers on the Akash Network, leveraging its decentralized infrastructure for higher cost-effectiveness and greater flexibility compared to traditional cloud providers.

The security and management of Akash Network

Decentralized Security Mechanism

Akash Network adopts a decentralized structure, significantly enhancing the security and efficiency of cloud resource management. This decentralized approach mitigates common risks associated with centralized platforms, such as single points of failure and monopolistic control over infrastructure.

Enhanced trust audit attributes

One key feature of Akash's secure infrastructure is the use of auditing attributes. These attributes allow users to specify and restrict bidding only to providers that meet specific verification criteria. Providers on the network can be audited and certified by trusted auditing firms, and their services can be digitally signed on the chain. This ensures that users can choose providers with reliability and security standards, enhancing trust throughout the network.

Provider Daemon and Container Orchestration

Each provider on Akash runs a provider daemon (akashd) that plays a key role in resource management and interacts directly with the Akash blockchain. This daemon handles deployment orders, submits bids, and coordinates the deployment and management of user applications. In addition, Akash providers use advanced container orchestration technologies such as Kubernetes to efficiently and securely manage and scale deployments. This setup not only optimizes resource utilization but also maintains isolation between different deployments, ensuring robust security.

The role of validators in network security

Validators in Akash Network are responsible for maintaining the integrity and security of the blockchain. They participate in the consensus process, validate transactions, and ensure the network remains uninterrupted. This role is crucial in preventing double-spending attacks and other malicious network activities.

Governance and community participation

Akash's decentralized governance model allows token holders to participate in the decision-making process, influencing the network's development and operational guidelines. This community-driven approach ensures that the network's development aligns with user needs and security concerns.

Achieving security through technology and community

Combining technological solutions and an active community governance model, Akash Network provides a secure and efficient cloud resource management platform. The use of auditability and decentralized operations not only enhances security, but also achieves democratized access to cloud resources.

Disclaimer
* Crypto investment involves significant risks. Please proceed with caution. The course is not intended as investment advice.
* The course is created by the author who has joined Gate Learn. Any opinion shared by the author does not represent Gate Learn.