Development overview
The provision of the Logos network involves development and research in several tech-spheres and the implementation of various technologies. The network comprises several components that together provide the sub0layer. The approach behind it, is not to build the network as a "monolith", but to create it as a modular system. This does not mean that it is a general microservice architecture, as in the case of on-chain operations of the network, which in itself means that many things will depend on the blockchain. Nevertheless, it also has the approach of a microservice architecture, as the components (blockchain, DVCI, NG, W3bI) can generally be developed "independently". Each of the components must fulfil the general requirements of the other ones so that they can interact with each other and simultaneously be developed independently up to a certain point, which should increase development efficiency. However, it is important to remember that they must work together to provide the sub0layer and that basic dependencies are required. In order to ensure efficient and structured development of the Logos project, the development is sectioned into different development areas:
- Blockchain development: In this section, the blockchain infrastructure and the blockchain itself will be developed. This includes the development and implementation of a complete blockchain network with all its functionalities (consensus, governance, smart contracts functions, etc.).
- Infrastructure development: This is where the development and implementation of the DVCI (Distributed Virtual Cloud Infrastructure) will take place. Although the DVCI is to be defined on the blockchain, it is necessary to clearly know what kind of infrastructure we want to define on the chain. This is all about distributed computing, virtualization, software defined networks, etc.
- Gatekeeper development: The gatekeeper is the component that enables efficient and secure communication between the DVCI and the blockchain. The gatekeeper itself will be defined in the form of smart contracts on the blockchain, and will operate as a decentralized application.
- Regulator development: The development of W3bI should be the last final component of the network in order to provide the sub0layer. The regulator will be provided in form of smart contracts with offchain-worker elements, as the execution times on this service layer is an important factor.
It is important to note that this is an overview and that only the general requirements are presented here.
Blockchain development
The objective here is to provide a public blockchain network with a community-oriented governance system for the entire ecosystem. This means that all decisions, not only concerning blockchain, are handled by the governance system. Although the blockchain is a public network, it should be able to support private transactions. This means that data (smart contracts and configurations) can be deployed on the blockchain in an encrypted form and can only be executed by certain accounts in the form of private transactions. For the public, these transactions are readonly and their content is encrypted. The reason for this is that some configurations are not supposed to be public for security reasons. The challenge is to handle this without private validators in a completely public network. Another requirement for the blockchain is to enable configurations of smart contracts and to manage them in such a way that they can be operated separately. Simply put, we want to organize the smart contract approach in a granular way to achieve more flexibility, which is an important factor in the provisioning of the network. Another important element is the utilization of Zero-Knowledge Rollups (ZK-Rollups), which offer a promising solution for both the security and scalability of blockchain networks
General Logos network requirements towards the blockchain:
- Public blockchain network.
- Community-driven governance system for the entire Logos ecosystem (blockchain, DVCI, and W3bI)
- Private transactions with strict access control, without relying on private validators
- Storage and management of configuration and execution data in separate "smart elements" (smart config / smart operation contract)
- Zero-Knowledge Rollups as a security and scalability solution
- Tokenomics framework for the entire Logos ecosystem.
Infrastructure development
The approach is to provide an enterprise-grade computing environment that should be defined on the blockchain in form of specific smart contracts.
The idea behind this is to define a computing infrastructure on the blockchain, so that this infrastructure can be provisioned by executing specific operations by the blockchain.
The first step is to know what this infrastructures should look like before starting defining it on the blockchain.
It is important to create a distributed computing infrastructure that can serve as a blueprint for the definitions on the blockchain.
In this part of the development, no connection is made with the blockchain as the integration between the blockchain and the DVCI is determined and defined by the gatekeeper.
The infrastructure with all its functionalities can be developed, tested and even verified independently.
This has the advantage that all functionalities can be tested before they are finally defined and implemented on the blockchain.
The focus here is to solve challenges in the field of distributed computing, storage handling and virtualization, as well as to provide a network solution for computing in distributed environments.
General Logos network requirements towards the DVCI:
- Enterprise grade distributed computing infrastructure
- High-level security in distributed environments
- Optimal utilization of distributed computing resources
- Software-defined network tailored for distributed computing
- Effective virtualization management in distributed environments
- Efficient handling of ephemeral and persistent storage in distributed environments
Gatekeeper development
The development of the Logos network gatekeeper requires knowledge in several areas, as it acts as some sort of bridge. The implementation of the Logos network uses a number of existing technologies and approaches that are not normally used for blockchain. Basically, the DVCI is "defined" on the blockchain and will then be provisioned through corresponding on-chain operations. It is important to note that the approach here is not to adopt OpenStack 1 to 1 in the form of smart contracts. The "software" (OpenStack in this case) is used as a framework but all configurations and operations of how the software will act are defined on the blockchain. The gatekeeper comes into play to ensure that the OpenStack "software" remains fundamentally unchanged so that it can continue to benefit from its development. It should be able to recognize a change of state of the DVCI and forward it to the blockchain in the form that the corresponding smart contract can be triggered. The gatekeeper should be the only party able to trigger these contracts using permission tokens. The gatekeeper should also be the only party able to deploy new contracts or configurations on the blockchain. The deployment of many of these contracts will initially be triggered by an administrator (will later be regulated by governance), but some configuration modifications can be handled automatically, which means that the gatkeeepr should be able to make changes (set new values related to the DVCI) in blockchain itself.
General Logos network requirements towards the gatekeeper:
- Acts as the sole entity managing communication between the infrastructure (DVCI) and the blockchain (Logos chain)
- Facilitates communication through "permission tokens"
- Triggers security violation alerts for DVCI operations
- Initiates action triggers for DVCI on-chain operations
- Manages the deployment of new configurations (e.g., smart contracts)
Regulator development
The W3bI will be a computation distribution regulator in the Logos network and of the ecosystem and will be primarily utilized to host blockchain nodes. The regulator can also be used to provide alternative computation service environments that can be used for Web3 community projects in compliance with the Logos network philosophy. The main approach, however, is to use the regulator to provide the physical layer (sub0layer) for the Web3 by enabling automated provisioning of blockchain nodes (layer-0 and layer-1 blockchain infrastructures). The regulator will be developed as a decentralized application hosted on the Logos chain, similar to the gatekeeper. Which means that the operations and processes that are happening on the "platform" are handled by a DApp. The important thing to note here is that the execution time of the smart contracts on this service layer has an impact on the services' efficiency. For this reason, off-chain elements must be implemented to make the platform more efficient.
General Logos network requirements towards the computation regulator:
- Provision of an IaaS platform for Web3 using the sub0layer as the physical infrastructure.
- Ensure operations are managed through a decentralized application and off-chain worker, prioritizing efficiency
- Platform economics must be non-profit oriented and governed by a community-driven governance system
Development management approach
An important strategy of a devleopment management is the use of GitOps principles with CI/CD (continuous integration/continuous delivery) practices. These practices aim to automate the development process, shorten development cycles, improve the quality of the code and create the possibility of fast and reliable deployments.
The Logos project aims to be a common-good project and should ultimately be further developed and maintaind by the community. For this reason, this approach is a very important factor for the development of the network as it should give the community the possibility to contribute to the network in a simple, secure and controlled way. After the release of the Logos network version 1.0, the community will be itself included in the decision process for the future of the network and its ecosystem. This approach (configuration and operation management) should enable transparency, controlled and easy access (for community authorized participants) and management of the network.
Development environment
Logos development source code repository (opens in a new tab)
This repository serves as a development environment for the Logos project. The Logos project has a lot of reaserch and development going on, so we have decided on this structure with a separate environment where only the development will take place and where no productive implementations will reside. The approach behind this is to keep the productive implementations separate, simple, clean and allow an easier understanding of the end result. The source code in this environment is much more commented. The approach behind this is to give a Web2 developer the opportunity to get a quicker understanding of the code and principles. Each of the productive implementations will be developed in this environment, tested and then rolled out in a controlled way. This leads to a clean and secure productive environment that contains only the required implementations and thereby simplifies the complexity of the repository structure.
Open Source approach
Open source software (OSS) is software whose source code is publicly available so that anyone can view, modify and improve it. This is in contrast to closed source (or proprietary) software, where the source code can only be edited by the creator or owner and is not publicly available. Open source makes a significant contribution to general technological development by increasing innovation and facilitating the exchange of knowledge and technologies. Because open source software allows anyone to view and modify the code, ideas can be quickly disseminated, tested and improved. This leads to an accelerated evolution of the technology as developers around the world can collaborate to overcome problems and develop new technologies.
Open source helps to prevent a monopoly in the software industry by offering alternative solutions and promoting competition. This contributes to a more healthy technology ecosystem in which different approaches and innovations can prosper. Another important contribution of open source to technological progress is the democratization of access to technology. By making software available for free or at fair price, people can benefit from and contribute to technological advances regardless of their level of economic or geographic location. This increases the base for people to learn technological skills and contribute to further innovation, which in turn accelerates the pace of technological progress overall.
The Logos network with all its components will be developed as open source under the Apache 2.0 license. The network is intended to serve the community and the development of Web3 and as long as it fulfills this purpose we are very glad that we could contribute to it.
Overall, open source promotes a culture of collaboration and sharing, which is crucial for the fast development and adoption of technologies.
Community contribution
The community is of crucial importance for an open source project. It plays a central role in almost every aspect of the project's development and existence. A strong community ensures the long-term viability of a project. Even if the original developers are no longer involved in the project, a committed community can continue the work and ensure that the project continues to be maintained and developed. Overall, the community is not only important for the technical development of an open source project, but also for its cultural dynamics and long-term success. An engaged and active community can make the difference between a stagnant project and a thriving, dynamic ecosystem.