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.
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.
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.
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.
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.
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.
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.
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.
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:
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:
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.
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.
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.
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 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.
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.
Security: By upgrading the current use of tokens to include signatures from client device keys, cloudless computing improves security.
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.
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.
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 |
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.
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.
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.
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.
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
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.
** Add the design of the modular compute we have
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 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.
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.
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 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 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 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.
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.
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.
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 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.
Fleek Network's decentralized approach to content delivery and edge computing offers several advantages over traditional Content Delivery Networks (CDNs).
Fleek Network's decentralized approach provides a more resilient, efficient, cost-effective solution for content delivery and edge computing.
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 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.
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 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.
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:
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 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 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.
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.
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.
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.
Gateway proxy: