Try   HackMD

Fleek Network: Unleashing the Power of Decentralized Cloud and Edge Computing

Table of Contents

Introduction

Brief overview of Fleek Network

Fleek Network is a protocol designed to enhance web-based computing by distributing cloud and edge resources. It uses unused computing power to provide a cost-effective and accessible system. Focusing on secure computing, the Network maintains privacy and reliability for many users, such as developers and computer owners.

The need for decentralized cloud and edge computing

As technology advances, dependence on centralized cloud services increases. However, these centralized systems possess inherent drawbacks and risks, such as single points of failure, possible data breaches, and delays. Decentralized cloud and edge computing seeks to resolve these issues by dispersing computing resources across numerous nodes, improving security, privacy, and performance. This approach addresses concerns related to specific centralized systems like AWS Nitro and confidential computation.

Resilience and Security

Decentralized systems improve resilience by eliminating single points of failure. With data and computational resources spread across a network of nodes, the system can continue operating even if some nodes go offline. This distributed architecture enhances security by making it more challenging for bad actors to compromise the system.

Privacy

Centralized cloud services often access sensitive user data, raising privacy concerns. In contrast, decentralized systems emphasize user-controlled cryptographic identities, enabling users to manage access to their data. This approach ensures greater privacy and control over personal information.

Performance and Efficiency

Edge computing, a core aspect of decentralized systems, moves computation closer to data sources and end-users. This proximity reduces latency and improves user experience. Furthermore, decentralized systems can allocate resources more effectively and handle computational loads efficiently, reducing data transfer costs and enhancing performance.

Cost Savings and Accessibility

Decentralized cloud and edge computing can save costs by utilizing spare computing resources worldwide. By contributing these resources to an open market, computing costs are lowered, and profits are distributed among participants. This approach also democratizes access to computing resources, allowing smaller teams and individuals to develop and scale applications without prohibitive costs.

The Vision Behind Fleek Network

Fleek Network offers a decentralized cloud and edge computing platform. The goal is to make computing more accessible and affordable, fostering a strong, secure, and privacy-centric ecosystem.

The Network uses existing decentralized storage solutions, promoting global participation to reduce computing costs. A key aspect of the vision is edge computing, which brings processing closer to data sources and users, increasing efficiency and enhancing user experiences.

Fleek Network is dedicated to creating an easy infrastructure for developers to use and addresses the challenges of executing computations in distributed peer-to-peer systems. Striving to balance privacy, verifiability, and performance in trustless computing, it caters to a wide range of user needs and encourages innovation.

Furthermore, Fleek Network provides a framework for building other networks using its existing components, allowing developers to save time and focus on creating unique cryptographic or economic models.

In a nutshell, Fleek Network aims to reshape the web3 landscape with a decentralized cloud and edge computing platform that fosters innovation, lowers costs, and supports a safe and inclusive computing environment.

Background and motivation

Today the demand for efficient and reliable computing resources is ever-increasing. Traditional cloud computing services, while helpful, often face issues related to centralization, privacy, and security. As our reliance on these services grows, the need for an alternative solution becomes increasingly apparent. Decentralized cloud and edge computing offer a promising alternative that addresses many challenges centralized models face.

Centralization Challenges

Centralized cloud computing providers control most of the market, like Amazon Web Services, Microsoft Azure, and Google Cloud Platform. This centralization has several drawbacks, including:

  1. Single points of failure: A single company controls the infrastructure, making the entire system vulnerable to outages, cyber-attacks, or even corporate decisions that may not align with users' best interests.
  2. Data privacy concerns: Centralized providers have access to vast amounts of user data, raising concerns about privacy and the potential misuse of information.
  3. Vendor lock-in: Users often find switching providers or migrating their applications and data challenging, leading to dependence on a single vendor.

Decentralized Cloud and Edge Computing Advantages

Decentralized cloud and edge computing aim to address the challenges of centralization by distributing resources across a network of independent nodes. This approach offers several advantages:

  1. Enhanced security and privacy: Decentralized systems use cryptographic techniques to secure data and transactions, making it difficult for malicious actors to compromise the system or access sensitive information.
  2. Greater resilience: By distributing resources across multiple nodes, the risk of a single point of failure is reduced, resulting in a more resilient and reliable infrastructure.
  3. Improved performance: Edge computing allows data processing to occur closer to the data source, reducing latency and improving user experience.
  4. Cost-effectiveness: Decentralized systems can harness underutilized computing resources, creating a more competitive market that can drive down user costs.
  5. Flexibility and innovation: Decentralized cloud and edge computing enable a more open and collaborative environment, fostering innovation and the development of novel applications and services.

Future of app development

The future of app development will allow app creators to be more accessible and inclusive, empowering people with diverse backgrounds and skill levels to develop and deploy their applications. Decentralized cloud and edge computing play a significant role in fostering this democratization by reducing costs, promoting innovation, and enabling more equitable access to resources.

Reduced Costs

Centralized cloud services often impose high costs on developers, creating barriers to entry for small teams and individuals. By leveraging spare computing resources from around the world, decentralized systems can significantly lower these costs, enabling more developers to create and scale their applications without prohibitive expenses.

Innovation and Collaboration

By making app development more accessible, decentralized cloud and edge computing encourage innovation and collaboration. A diverse range of voices and perspectives can contribute to the development process, leading to novel applications and solutions that address various user needs. This collaborative environment fosters learning and growth, allowing developers to improve their skills and share their knowledge with others.

Equitable Access to Resources

Traditional cloud computing resources are often concentrated in specific geographic locations, leading to disparities in access and performance. On the other hand, decentralized systems distribute resources across a global network of nodes, ensuring that users and developers can access computing resources regardless of location. This equal distribution of resources promotes inclusivity and helps bridge the digital divide.

Cloudless computing: the next big step

Cloudless computing represents a paradigm shift in how applications are built, deployed, and managed, focusing on using protocols instead of centralized services. This approach enables greater portability, resilience, and cost savings while fostering new business models and opportunities.

Why Cloudless Computing Matters

  1. Cryptographic Signatures: With the increasing adoption of blockchain and the widespread understanding of cryptographic signing, cloudless computing has become more practical and accessible. Key-handling infrastructure is now an integral part of modern browsers, making it easier to adopt cloudless computing principles.

  2. Security: By upgrading the current use of tokens to include signatures from client device keys, cloudless computing improves security.

  3. Efficiency and Cost Savings: Cloudless computing allows for moving computation closer to the data source and end-users. Cloudless computing enables significant cost savings and enhanced efficiency by commuting multiple operations, including permission checks, and avoiding proxy copying.

The Future of Cloudless Computing

As cloudless computing continues to gain momentum, we can expect to see a greater emphasis on the following aspects:

  • Decentralized hosting and resource management: Overcoming resource limitations and handling computational loads more effectively will become increasingly important, enabling edge computing and reducing data transfers.

  • Competitive market for computing infrastructure: The cryptographic verifiability and trust inherent in cloudless computing will lead to a competitive enterprise market, resulting in lower costs and more robust applications.

  • Resilience and trust through cloudless protocols: Using location-independent links to data and computation will enable new applications and business models, enhancing the interconnectedness and efficiency of the computing landscape.

Core Components of Fleek Network

API Gateway and Encrypted Relay

Decentralized CDN

User Interface

Decentralized Storage

Edge Nodes

Fleek Network

AI & GPU Services

User

Web Interface/APIs

Fleek Network

API Gateway & Encrypted Relay

Modular Verifiable Computation

Decentralized Storage

AI Services

GPU Services

Edge Compute Nodes

Universal Fair Delivery Protocol

Serverless Functions

Compute

IPFS

Filecoin

Arweave

CDN

Gateway Nodes

Edge Nodes

Origin Nodes

Content Providers

Overview of the system architecture

Fleek Network's system architecture is designed to support decentralized cloud and edge computing, leveraging global spare computing power and contributing it to an open market. The following sections provide a high-level overview of Fleek Network's architecture's key components and features.

Entity Attributes
User user_id, username, email, password, storage_quota, balance
Applications application ID, name, description, owner (linked to Users)
Functions function ID, name, description, code, user_id, content_type, content_size, ipfs_cid, storage_duration, upload_time, expiration_time
Edge Compute Node node_id, node_address, compute_capacity, compute_price
Transaction transaction_id, user_id, node_id, file_id, compute_time, transaction_time, transaction_fee
Database data ID, type (file or object), location (linked to IPFS and Filecoin), owner (linked to Users)
Storage (IPFS, Filecoin, Arweave) location, status, capacity, availability
Runtime runtime_id, runtime_type, memory_limit, timeout_limit

Key Components

Owns

Contains

Executed

Run

Stores

Uses

Uses

Users

int

user_id

varchar

name

varchar

email

varchar

password

Applications

int

app_id

varchar

name

varchar

description

int

user_id

Functions

int

func_id

varchar

name

varchar

description

text

code

int

app_id

Runtimes

int

runtime_id

varchar

type

int

func_id

varchar

resource_limits

on

EdgeNodes

int

node_id

varchar

ip_address

varchar

resources

Storage

int

data_id

varchar

type

varchar

location

int

user_id

IPFS

varchar

location

varchar

status

Filecoin

varchar

location

int

capacity

varchar

availability

EdgeNodesRuntimesFunctionsCDNAPIGatewayUserEdgeNodesRuntimesFunctionsCDNAPIGatewayUserSends HTTP request with API keyLooks up function in a databaseSpawns user runtime instanceSends the request to execute functionSends response with resultsReturns results to API gatewayReturns results to a user

The architecture comprises six main subgraphs: User Interface, Fleek Network, Edge Nodes, Decentralized Storage, Decentralized CDN, and Gateway. The components within each subgraph work together to provide a seamless experience for users while ensuring the system's security, scalability, and performance. The Decentralized CDN subgraph supports content request, caching, replication, and delivery, making it a complete solution for Web 3.0 applications.

The other two subgraphs showcase support for both deterministic and non-deterministic code execution: Deterministic Code and Non-Deterministic Code. The Deterministic Code subgraph handles cases where code execution is deterministic, utilizing multiple verifiers for cross-checking results and reaching consensus. In contrast, the Non-Deterministic Code subgraph addresses non-deterministic code execution by leveraging Trusted Execution Environments, Secure Multi-Party Computation, and Zero-Knowledge Proofs to ensure security and privacy. These additions provide a more robust and flexible solution for various use cases and requirements in the Web 3.0 ecosystem.

API Gateway and Encrypted Relay

Validators (BFT)

Non-Deterministic Code

Deterministic Code

Decentralized CDN

User Interface

Decentralized Storage

Edge Nodes

Fleek Network

Define serverless function

Store/Retrieve data

GPU

Return output

Return output

Return output

Request content

User

Web Interface/APIs

Fleek Network

API Gateway & Encrypted Relay

Modular Verifiable Computation

GPU

Partitioning

Computation Fragments

Execute

Verifier

Verify Fragment 1

Verify Fragment 2

Verify Fragment 3

Proof Fragment 1

Proof Fragment 2

Proof Fragment 3

IPFS

Filecoin

Arweave

Edge Node 1

Edge Node 2

Edge Node 3

User Dashboard

Usage Analytics

Resource Management

Developer Tools

Decentralized CDN

Gateway Nodes

Edge Nodes

Origin Nodes

Content Providers

Case: Deterministic Code

Case: Non-Deterministic Code

Deterministic Execution Engine

Non-deterministic Execution Engine

Multiple Verifiers

Cross-Checking Results

Consensus

Trusted Execution Environments

Secure Multi-Party Computation

Zero-Knowledge Proofs

Validators

+-------------+     +------------+     +------------+     +-------------+
|             |     |            |     |            |     |             |
|    User     +----->   Relay    +----->   App/API  +----->  3rd Party   |
| (Frontend)  |     | (Ingress)  |     |   Server   |     |  Services    |
|             |     |            |     |            |     |             |
+------+------+     +------+-----+     +------+-----+     +------+------+
       |                   |                  |                  |
       |                   |                  |                  |
       |                   |                  |                  |
       |                   |                  |                  |
       |                   |                  |                  |
       |                   |                  |                  |
       |                   |                  |                  |
+------+------+     +------+-----+     +------+-----+     +------+------+
|             |     |            |     |            |     |             |
|  3rd Party  <-----+   Relay    <-----+   App/API  <-----+    User      |
|  Services   |     | (Egress)   |     |   Server   |     | (Frontend)  |
|             |     |            |     |            |     |             |
+-------------+     +------------+     +------------+     +-------------+
In this diagram:
  • User (Frontend) sends a request to the Relay ingress gateway.
    Relay ingress gateway encrypts sensitive data in the request using forwards the encrypted request to the App/API Server.
  • App/API Server processes the request and sends the response (with encrypted data) back to the Relay ingress gateway.
  • Relay ingress gateway decrypts the encrypted data in the response forwards the decrypted response to the User (Frontend).
  • App/API Server sends a request to the Relay egress gateway to forward data to a trusted 3rd Party Service.
  • Relay egress gateway decrypts sensitive data in the request using forwards the decrypted request to the 3rd Party Service.
  • 3rd Party Service processes the request and sends the response back to the Relay egress gateway.
  • Relay egress gateway forwards the response to the App/API Server without any modification.
  • Relay is a globally distributed encryption proxy that provides industry-standard encryption, simplifying the integration and management of encryption. It allows for field-level encryption and decryption without affecting user experience
Decentralized Storage
  • IPFS: Fleek Network utilizes the InterPlanetary File System (IPFS) for distributed, peer-to-peer storage, allowing content-addressed, distributed file sharing.

  • Filecoin: Filecoin, a decentralized storage network built on top of IPFS, is used by Fleek Network to provide a marketplace for data storage, allowing users to rent out their storage space and earn rewards.

  • Arweave: expand.

Decentralized Content Delivery

  • Fleek Network:
Decentralized Compute
  • Edge Compute Nodes: Fleek Network's architecture includes edge compute nodes, which are responsible for executing users' code in a decentralized manner. These nodes contribute their spare computing resources to the Network, enabling a more cost-effective and scalable computing infrastructure.

  • User Runtime: The user runtime is an instance responsible for executing user code. Limits on memory and timeouts are set to ensure the efficient use of resources.

  • MicroVMs: The main VMs are an entry point before running user functions, handling tasks like authentication and proxying transactions to the user runtime. It is powered by a Hypervisor layer such as Firecracker.

Key Features

Programmable Infrastructure

Fleek Network provides a programmable infrastructure for developers to build and deploy decentralized applications. This infrastructure is designed to be enjoyable, despite the inherent challenges and complexities of executing arbitrary computation in distributed, peer-to-peer trustless systems.

pub struct Job {
    id: String,
    payload: Vec<u8>,
    requirements: Requirements,
    status: JobStatus,
}

pub struct Requirements {
    cpu: u32,
    memory: u32,
}

pub enum JobStatus {
    Pending,
    Running,
    Completed,
    Failed,
}
Trustless Computing

Fleek Network focuses on balancing the triad of trustless computing: privacy, verifiability, and performance. The platform accommodates various user needs and encourages innovation by exploring and implementing state-of-the-art approaches.

Add Triad digram

Modular Framework

Fleek Network offers a modular framework for the community to develop other networks using their existing building blocks. This framework allows blockchain developers to accelerate their time to market and focus on novel cryptography or economic models rather than reinventing the wheel.

Nondeterministic

Deterministic

Valid

Invalid

Modular Framework

Execute Modules

Module Type

Execute

Verify Execution

Re-execute

Verify Output

Return Result

** Add the design of the modular compute we have

Edge functions and serverless approach

Fleek Network seeks to redefine how applications are developed and hosted by incorporating edge functions and serverless architecture. This approach enhances the efficiency, scalability, and user experience of web3 applications while reducing costs and complexities.

Edge Functions

Edge functions involve executing user-defined code in response to specific events or triggers. They are often executed close to the data source or end-users, ensuring lower latency and improved performance. Fleek Network incorporates edge functions as a core component of its decentralized computing platform.

By enabling developers to build and deploy edge functions on the Fleek Network, creating more dynamic and responsive applications that can efficiently process and deliver data to users becomes possible.

Serverless Architecture

Fleek Network's serverless approach allows developers to focus on writing code without worrying about the underlying infrastructure. In a serverless environment, functions are executed on demand, and resources are allocated as needed. This results in cost savings, as users only pay for the actual compute resources consumed rather than pre-allocated resources.

The serverless approach simplifies the development and deployment process, as developers no longer need to manage servers, networking, and other operational aspects. Fleek Network aims to offer a seamless serverless experience, enabling developers to deploy their edge functions easily and quickly.

Advantages of Edge Functions and Serverless Approach

  • Improved efficiency: By moving computation closer to the data source and end-users, edge functions reduce latency and deliver better performance.
  • Cost-effective: Serverless architecture allows users to pay only for the resources they consume, resulting in lower costs.
  • Scalability: Serverless platforms automatically allocate resources as needed, enabling applications to scale effortlessly.
  • Simplified development process: The serverless approach removes the need for developers to manage the underlying infrastructure, allowing them to focus on writing code.

Trustless computing triad: privacy, verifiability, and performance

Fleek Network seeks to establish a decentralized computing platform that excels in privacy, verifiability, and performance. These three elements, collectively known as the trustless computing triad, are crucial for fostering a secure, reliable, and efficient environment for web3 applications.

Privacy

Privacy is critical to trustless computing as it ensures that sensitive information remains confidential and secure. Fleek Network is designed with privacy in mind, leveraging cryptographic techniques and protocols to protect user data and maintain anonymity when needed.

By incorporating privacy features at the core of its architecture, Fleek Network aims to offer a secure environment for users and developers to build and use applications without compromising their sensitive information.

Verifiability

Verifiability is another essential component of trustless computing, enabling users to validate the correctness of computations and data. In a decentralized environment, verifiability becomes even more critical, as it helps establish trust between participants without relying on centralized authorities.

Fleek Network employs cryptographic methods, such as digital signatures and zero-knowledge proofs, to ensure that computations and data can be verified independently. This ensures the integrity and correctness of the system, promoting trust among users and developers.

Performance

Performance is the final element of the trustless computing triad, and it is vital for ensuring that decentralized applications can efficiently handle user demands. Fleek Network is designed to optimize performance by leveraging edge computing and serverless architecture, which brings computation closer to the data source and end-users.

Fleek Network aims to provide a fast and responsive environment for web3 applications by focusing on modularity, ensuring users enjoy a seamless experience.

Fleek Network's User Roles

Developers: defining serverless functions

Developers define and deploy serverless functions that can be executed at the edge. These functions can perform various tasks, from processing user input and generating dynamic content to interfacing with external APIs and performing complex data transformations.

Developers use Fleek Network's interface to deploy their serverless functions, specifying the input and output parameters, the computing resources required, and the execution environment. Fleek Network's platform supports various programming languages, including JavaScript, TypeScript, and WASM, and developers can easily integrate third-party libraries and frameworks to build more complex applications.

Fleek NetworkDeveloperFleek NetworkDeveloperDefine serverless functionAcknowledge receiptSpecify input/output parametersProvide computing resource optionsChoose execution environmentReturn function ID

Compute nodes: contributing resources

Compute nodes contribute spare computing resources to Fleek Network by providing storage, processing power, and bandwidth for executing serverless functions at the edge. Owners can earn FLK by executing serverless functions defined by developers. Fleek Network's platform efficiently manages resource allocation across the Network, making it more accessible and inclusive while reducing computing costs.

EdgeNodeFleekNetworkDeveloperEdgeNodeFleekNetworkDeveloperDefine serverless functionStore serverless function as IPLDSubmit function to marketplaceVerify function codeBroadcast function requestRespond to function request with priceSelect EdgeNode based on price and reputationExecute serverless functionReturn result of serverless functionVerify result of serverless functionPay EdgeNode with FLKAccess serverless function result

Developers: building on the Fleek Network

Blockchain developers use Fleek Network's decentralized storage and computing capabilities to build decentralized applications and smart contracts. The platform provides open-source libraries and tools that support various blockchain networks and flexible storage options. By building on Fleek Network, developers can use its unique features, such as edge computing and serverless functions, to create more efficient and scalable applications while collaborating and innovating with the community.

Fleek Network vs. Traditional CDNs

Differences in structure and approach

Fleek Network has a different approach to content delivery and edge computing than traditional Content Delivery Networks (CDNs). Unlike CDNs that rely on centralized data centers, Fleek Network uses a decentralized network of compute nodes to execute serverless functions at the edge. This results in reduced latency, improved scalability, and increased reliability.

Fleek Network is more accessible and cost-effective than traditional CDNs since users can contribute spare computing resources to the Network, reducing compute and storage costs. Fleek Network focuses on trustless computing, leveraging blockchain technology and cryptographic protocols to ensure high privacy, verifiability, and performance, making users' data and computation secure and reliable.

Current Arch

User

Gateway Node

Cache Node

Origin Server

Filecoin

IPFS

Other Storage Protocols

Client Data

FLK Token

Blockchain

The advantages of decentralization

Fleek Network's decentralized approach to content delivery and edge computing offers several advantages over traditional Content Delivery Networks (CDNs).

  1. Firstly, decentralization reduces reliance on centralized data centers, which can be prone to outages and single points of failure. Fleek Network's decentralized Network of compute nodes ensures greater resilience and reliability.
  2. Fleek Network's decentralized architecture provides reduced latency and improved scalability. With serverless functions executed at the edge, content can be delivered more quickly, improving the user experience.
  3. Fleek Network's platform is designed to be more cost-effective and accessible than traditional CDNs. By leveraging spare computing resources, computing and storage costs are significantly reduced, making it more affordable for developers and businesses of all sizes.
  4. Fleek Network's focus on trustless computing provides high privacy, verifiability, and performance, ensuring that users' data and computation are secure and reliable.

Fleek Network's decentralized approach provides a more resilient, efficient, cost-effective solution for content delivery and edge computing.

The Technology Behind Fleek Network

Modular verifiable computation

Modular Computation

Partitioning

Computation Fragments

Verifier

Execute

Computation Fragment 1

Computation Fragment 2

Computation Fragment 3

Verify Fragment 1

Verify Fragment 2

Verify Fragment 3

Proof Fragment 1

Proof Fragment 2

Proof Fragment 3

Cryptographic verifiability, secrecy, and optimistic verifiability

Determinism and support for nondeterministic code execution

EdgeNode2EdgeNode1EdgeNodeFleekNetworkDeveloperEdgeNode2EdgeNode1EdgeNodeFleekNetworkDeveloperalt[Deterministic][Non-Deterministic]Define serverless functionModular Verifiable ComputationExecute serverless functionReturn outputReturn outputExecute serverless functionReturn outputExecute serverless functionReturn outputReturn output

Integration with existing protocols (IPFS, Filecoin, Arweave, etc.)

Practical Use Cases for Fleek Network

Data-intensive applications and research workloads

Fleek Network also provides a distributed computing infrastructure using edge computing nodes, which can be leveraged for research workloads, machine learning, and artificial intelligence applications. This enables faster processing and analysis of large datasets and more efficient training and deployment of machine learning models without expensive traditional infrastructure.

Decentralized content delivery

Decentralized content delivery is a practical use case for Fleek Network. Fleek Network leverages decentralized storage and computing capabilities, unlike traditional content delivery networks (CDNs) that rely on centralized servers. This approach enables more efficient and cost-effective content delivery with greater redundancy and scalability.

Fleek Network utilizes decentralized storage providers and edge compute nodes for distributed computing. Fleek Network provides a resilient and efficient content delivery solution using users' spare computing resources globally. The platform's programmable infrastructure and modular framework allow developers to build and deploy decentralized applications for content delivery, including peer-to-peer file sharing and streaming services. Decentralized content delivery has the potential to improve content delivery on the internet, making it more secure, efficient, and cost-effective.

Secure, verifiable computation for blockchain projects

Fleek Network provides a practical solution for blockchain projects that require secure and verifiable computation. It is a decentralized compute node and programmable infrastructure enabling blockchain application development and deployment with improved security and transparency.

By leveraging Fleek Network's edge compute nodes, blockchain projects can execute their code in a decentralized manner, reducing the risk of security breaches and increasing transparency through verifiable computation. This can benefit a range of use cases, including decentralized finance, identity management, and supply chain tracking.

Fleek Network Dyson Sphere

Upcoming mprovements and new features

Fleek Network has the potential for continued growth and development, with several potential improvements and new features on the horizon. Some of the most promising areas for development include:

  • Improved scalability: Fleek Network's decentralized infrastructure is already designed for scalability, but there is always room for improvement. Continued development and optimization could enable even greater scalability, making Fleek Network a more robust platform for decentralized applications and data processing.

  • Expanded storage options: While Fleek Network currently utilizes IPFS and Filecoin for decentralized storage, there may be opportunities to incorporate other storage options. This could provide even more flexibility and redundancy for data storage and distribution.

  • Enhanced security features: As with any decentralized system, security is always a top priority. Fleek Network could benefit from the continued development of enhanced security features, such as advanced encryption and authentication protocols, to ensure the integrity and privacy of user data.

  • Integration with other blockchain platforms: Fleek Network is designed to be modular and interoperable, making integrating with other blockchain platforms and networks possible. This could enable even greater functionality and new use cases for the platform.

Supporting the growth of the decentralized web (Web3)

Fleek Network aims to support the development of the decentralized web (Web3) by enabling developers to build and deploy decentralized applications more efficiently. This includes improving developer tools and adding new features that make it simpler to create and deploy Web3 applications. To suppor this vision we are taking the following steps:

  1. Modular Architecture: The architecture of Project27 should be designed modularly to incorporate new services as commodities easily. Each module can represent a different service, such as computing, serverless functions, storage, AI, GPU, and more. This modular approach allows for the easy addition and removal of services based on demand and technological advancements.
  2. Dynamic Pricing: Each service can have its pricing structure, which can be determined by various factors such as demand, supply, and computational requirements. The pricing model should be dynamic and adaptable to market changes. It could also incorporate auction-based or tiered pricing models to optimize resource allocation and cost.
  3. Abstract Interface: An abstract interface can be designed to represent these commodities in a user-friendly way. This interface should provide users with clear information about each service, pricing, and capabilities. It should also allow users to select and combine services based on their specific needs easily.
  4. Standardized API: A standardized API can be developed to allow users and applications to interact with these services consistently and predictably. This API should support all the services offered by Project27 and be designed to be extensible to accommodate future services. It should provide methods for querying available services, retrieving pricing information, requesting assistance, and managing ongoing usage.
  5. Service-Level Agreements (SLAs): Each service should have a clear SLA outlining the expected performance and reliability of the service. This will give users confidence in the quality of the services they are purchasing and provide a benchmark for service providers to meet.
  6. Interoperability: The services should be designed to be interoperable, allowing users to combine different services seamlessly. For example, a user might want to use the storage service with the AI service to store and analyze data. The system should support this kind of integration without the user managing the interaction between services manually.
  7. Security and Privacy: As with any system that handles user data, security, and privacy should be a top priority. Each service should incorporate the latest security protocols to protect user data and ensure privacy. This could include data encryption at rest and in transit, secure access controls, and privacy-preserving computation techniques for services like AI.
  8. Decentralization: In line with the goal of Project 27, commodity-based services should be decentralized wherever possible. This could involve decentralized networks for storage and computation and blockchain technology for secure, transparent transaction processing.
  9. Sustainability: Given the energy-intensive nature of many cloud services, sustainability should be a key consideration. This could involve optimizing services for energy efficiency, using renewable energy sources, and incentivizing users to choose more sustainable options.

Commodity/Services

AI & GPU Services

Decentralized CDN

User Interface

Decentralized Storage

Edge Compute Nodes

Fleek Network

Request & Response

Request & Response

Request & Response

Request & Response

Request & Response

Request & Response

API Gateway and Encrypted Relay

User

Web Interface/APIs

Fleek Network

API Gateway & Encrypted Relay

Commodity/Services

Compute Service

Serverless Functions Service

Storage Service

AI Service

GPU Service

CDN Service

Edge Compute Nodes

Edge Compute Nodes

Decentralized Storage

AI Nodes

GPU Nodes

Universal Fair Delivery Protocol

IPFS

Filecoin

Arweave

Gateway Nodes

Edge Nodes

Origin Nodes

Content Providers

Challenges and Limitations

Scalability and performance

Scalability and performance are among the biggest challenges facing Fleek Network. As more users and applications utilize the Network, there is a risk of increased congestion and reduced performance. Additionally, the decentralized nature of the Network can make it more challenging to scale up and maintain performance compared to centralized systems.

To address these challenges, Fleek Network will need to continue to invest in its infrastructure and explore new approaches for scaling and optimizing performance. This may include leveraging new technologies, such as sharding or off-chain scaling solutions, or developing more efficient algorithms and data storage and processing protocols. It will also require close collaboration with developers and users to understand their needs and improve the Network's user experience.

Ensuring security and privacy in a decentralized environment

Ensuring security and privacy in a decentralized environment is a significant challenge for Fleek Network. The peer-to-peer nature of the Network can make it vulnerable to attacks, and ensuring the security of user data and transactions is crucial. Additionally, privacy is a concern, as data stored on the Network is distributed across several nodes, making it difficult to ensure complete privacy.

To address these challenges, Fleek Network must implement robust security and privacy measures, such as encryption and authentication protocols. Additionally, the Network must be designed with privacy to ensure that user data is not vulnerable to attacks or breaches.

Adopting cloudless computing in traditional industries

Adopting cloudless computing in traditional industries poses a significant challenge and limitation for Fleek Network. Many industries rely on traditional cloud computing infrastructure for data processing and storage. These industries may hesitate to adopt decentralized computing due to security, reliability, and compliance concerns.

Furthermore, transitioning to a cloudless computing environment may require significant changes to existing infrastructure and workflows, which can be costly and time-consuming. Fleek Network must address these concerns and provide clear benefits and incentives for traditional industries to adopt decentralized computing solutions.

However, the potential benefits of cloudless computing, such as increased security and privacy, lower costs, and greater flexibility, make it an attractive option for many industries. As the technology behind Fleek Network and other decentralized computing solutions mature, we may see greater adoption in traditional sectors.

Conclusion

Recap of the key points

Fleek Network is a decentralized cloud and edge computing platform that leverages global spare computing power to provide a more cost-effective and scalable computing infrastructure. Its use of IPFS and Filecoin for decentralized storage and edge compute nodes for distributed computing offers a strong foundation for building decentralized applications and content delivery networks.

While Fleek Network has the potential to improve how we compute and store data, it also faces scalability, security, and adoption challenges in traditional industries. Addressing these challenges will require ongoing innovation and collaboration within the technology community.

The potential impact of Fleek Network on the future of computing

Fleek Network represents a promising shift towards cloudless computing and the growth of the decentralized web. By joining the movement, developers, and users can help shape the future of computing and build a more open, transparent, and decentralized internet.

Appendix

External Services

Fleek Network

User Browser

Cron Service

Gateway Service

Storage Service

IPFS

Filecoin

User Action

HTTP Request

Main Runtime

User Runtime

HTTP Response

Cron Job Definition

Cron Job Scheduler

Task Executor

ES1

ES2

To extend this implementation to support server-side rendering (SSR), you would need to integrate an HTTP server and handle incoming requests by executing the JavaScript code that generates the HTML content on the server side.

Fleek Network

User

HTTP Request

HTTP Request

SSR Request

HTML Response

JSON Request

JSON Response

Cache Hit

HTML Response

Cache Miss

HTTP Response

Server

Client

Request Router

Reverse Proxy

SSR Function

Edge Function

Cache Layer

Gateway proxy:

Input command

Schedule cron job

Initialize runtime

Load user function

Send HTTP request

Forward request

Call API function

Return API response

Forward API response

Send API response

Request SSR page

Call SSR function

Return rendered HTML

Send rendered HTML

Schedule cron job

Execute cron job function

Return cron job result

Report cron job result

User

CLI

HTTP Proxy

SSR Handler

Cron Job Manager

API Handler

JsRuntime

User Function

User FunctionJsRuntimeAPI HandlerCron Job ManagerSSR HandlerHTTP ProxyCLIUserUser FunctionJsRuntimeAPI HandlerCron Job ManagerSSR HandlerHTTP ProxyCLIUserInput command (e.g. start, deploy, cron)Forward command (e.g. start)Initialize runtimeLoad user functionSend HTTP requestForward requestCall API functionReturn API responseForward API responseSend API responseRequest SSR pageCall SSR functionReturn rendered HTMLSend rendered HTMLSchedule cron jobExecute cron job function at specified intervalReturn cron job resultReport cron job result
Syntax error in textmermaid version 11.6.0

Refernces

Github

Ursa Runtime