Everything To Know About ZelFlux OS— Zel Computational Network
ZelFlux is the open-source “brain” of the ZelNodes Decentralized Network — Details, development status, and proposed release schedule for ZelFlux.
This is an in-depth deep dive into the future of decentralized computing, so grab a cup of coffee beforehand
Previous Flux articles: Introduction to ZelFlux (4 minute read)
ZelFlux & ZelNodes — Overview
- ZelNodes are enterprise-grade servers, run by anyone with Zel collateral
- There are currently over 1,000 ZelNodes in operation in the Community
- ZelFlux is an open-source MEVN stack built from scratch by the Zel Team which controls the scheduling, resource management, and deployment of Dockerized applications
- 3rd party developers will purchase decentralized computing power to suit their application’s & users’ needs — at a fraction of the cost of AWS & Azure
ZelFlux Development & Details
The ZelFlux “operating system” introduces the concept of useful work running on the Zel Ecosystem. An operational network of decentralized computing power is one of the core modules to the Zel Ecosystem, providing the ability for Zel and 3rd party developers alike to run their applications on a fair-priced network with no single point-of-failure. Since ZelNodes are operated in a decentralized fashion by individual Zel holders, and geographically-spaced all over the world, developers can rest assured that their dockerized apps are accessible by users at all times and locations. ZelNode operators also help secure the Zel chain side-by-side with the POW miners.
The term “operating system” is used a little loosely here. ZelFlux is not a replacement for a Linux distribution or other low level operating systems. For the purpose of this article, ZelFlux will be considered a secondary operating system, working a layer above Linux, that manages system resources, network traffic, and running application services, similar to an OS.
ZelFlux acts as the master coordinator for launching these applications, sidechains, and asset layers. It handles the deployment of the apps, manages the resources of each ZelNode to balance usage, and communicates between ZelNodes to provide real-time computing metrics. This connectivity also helps ensure each ZelNode is meeting the minimum system requirements by active benchmarking to ensure fair operator rewards and a robust decentralized network. If you are familiar with Docker, Kubernetes, or other container-type platforms, then you’ll feel at home with the Zel Computational Network. ZelFlux then gives Docker app builders the ability to deploy the application onto the Zel Network at much lower cost to the developer than renting VPS’s/dedicated servers.
Note for developers/interested parties: ZelFlux consists of front-end (ZelFront), back-end (ZelBack), API services, and benchmarking daemon (ZelBench). Current repository is named “Zelnoded”. Note that these names will likely switch from their current internal names to other designations in the future.
A custom benchmarking daemon (ZelBench) will also be introduced alongside the ZelFlux launch. This daemon will actively check system performance to ensure each ZelNode is meeting the minimum hardware requirements and relay results back to the network for verification. The hardware requirements are the same as they have always been, but the checks will happen more frequently and under-performing ZelNodes will be demoted to the next tier down if benchmarks are repeatedly failed. There is a grace period for temporary poor benchmarking readings or server outage/maintenance.
The Zel Team chose to build ZelFlux from the ground up to provide software that was perfectly tailored to the ZelNodes Network, which will allow for faster iterative development, easier maintenance of the codebase, and a wider range of community contributions to the project by enabling JavaScript developers to take part. This ease-of-use approach will greatly assist quick deployment of sidechains, asset layers, 3rd party apps, smart contracts, basically anything that can be built into a container. All this is achievable using a relatively new concept of the MEVN stack mentioned above, which consists of MongoDB (popular databasing program), Express (web framework in JS), Vue.js (framework for JS applications), and Node.js (cross-platform JS runtime environment). Along with Docker for containerizing applications, almost any developer can create an application that will run smoothly on the ZelNodes Network.
Each ZelNode will have a standardized web portal/GUI, viewable on the web, but with locked down access from unauthorized entry by utilizing Zel ID. Only authenticated users can access the Admin privileges by logging into their ZelNode using ZelCore. When a user attempts to log into a ZelNode, a signed message is generated by ZelCore and sent to the ZelNode for authentication and only authenticated Zel ID’s can be granted access. These authorized users (ZelNode operators) will also be able to update the Zel Daemon and ZelFlux from the web portal, so no more needing to log into your server and running code/scripts to update to current releases, just click a button.
ZelFlux leverages a tiered-privilege API system, allowing it to lock down access to ZelNode and daemon functions that should not be open to the public. Locking down access by user type allows the Network to be utilized by developers and app users without compromising the security and stability of the ZelNode itself. There are 4 levels of privileges currently employed by ZelFlux:
- Public level — no sign-in required, provides very basic API access to public chain information.
- ZelCore User — requires a signed message from any Zel ID, this level is made available for future services that would require a Zel ID/ZelCore wallet to access.
- Zel Team User — requires a signed message from a unique set of Zel ID’s, locking out the standard user. This level is critical for allowing the decentralized network to choose deployment requirements and manage ZelNode resources.
- ZelNode Owner/operator — Top level privilege only accessible with a signed message from the owner’s Zel ID. Owner can update their node software and future privileged commands/information, including assigning privilege to other Zel ID’s at owner’s discretion.
HTTP requests via URL to access daemon RPC are protected by this tiered-privilege hierarchy. This is one major difference of ZelFlux vs. other RPC-over-HTTP or Bitcore solutions in that the ZelNode is protected against malicious calls to the daemons and server hardware.
This foundation laid out by ZelFlux allows deep integration of the Zel chain. The daemon is accessible via API commands in the URL bar; some informational commands are open to the public, such as validateaddress, while commands to generate a transaction or query more private commands are locked down to the authenticated Zel ID’s. Integrating the Zel daemon with ZelFlux allows the computing network to seamlessly interact with the chain p2p network and provide a foundation for interacting with future sidechains, smart contract platforms, and asset layers.
Current ZelFlux development status (Phase 1):
With the core frontend/backend/API services development completed, the Zel Team is building out the necessary modules to deploy dockerized applications to ZelNodes. The first apps to be deployed will be ElectrumX builds for various cryptocurrencies, providing robust infrastructure to ZelCore and other services that wish to connect. Following close behind will be an application developed between the Zel Team and Haven Protocol to provide the Haven chain with Oracle data for their offshore banking protocol. ZelLabs has been partnering with many different projects to explore exciting possibilities of future use cases for ZelNodes, including the NEO and Ontology dApp platforms running on the Zel Network.
ZelFlux & ZelCore — Built for Each Other
The ZelFlux backend and API services will also allow various aspects of the Network to be accessible inside of the ZelCore multi-asset platform. Envisioned features such as a digital app marketplace, billing/payments, usage metrics, and ability to run certain apps natively inside of ZelCore are planned and being laid out as ZelFlux takes shape. Expect to see deep integration of the Zel Network inside ZelCore in the future.
Zel Ecosystem & Zel — Fee Model
The Zel Ecosystem runs on Zel the cryptocurrency. Zel acts as the onboarding and gas model for developers and users to interact with the network. ZelNode operators are also incentivized to run their hardware by receiving a portion of Zel block rewards tied to their ZelNode tier type. Zel, and likely other standard cryptocurrencies, will be accepted as payment to buy processing power on the Network and provide the gas needed for specialized transactions of data for sidechains and asset layers at the daemon level when interoperability is rolled out.
The fee structure and ZelNode economics are still being fleshed out by the Team and will be decided upon with input from the Community. The overarching goal is to create a structure that provides the same processing power as the big-box VPS providers while costing substantially less, and leveraging the decentralization of servers both in operators and geographic location to minimize single point-of-failure potentials like power and internet outages.
Who Can Take Advantage of the Zel Computational Network
The beauty of the ZelNodes Network is that almost anyone can take part. Developers build and deploy their applications and websites, users interact with their favorite apps powered by ZelNodes, and ZelNode operators provide the computing power and receive Zel for their contribution.
For app developers, the Docker process means that most mainstream languages can be leveraged to build an app that runs effortlessly on the network and can dynamically scale with app user numbers and bandwidth needs. There will be a standard “dockerization” process and low fee structure for deploying these applications and tracking metrics for usage of computing resources.
The initial idea for ZelNodes was to supply developers with an SDK/SBK written in JavaScript to cover a large number of potential developers. As the Zel Network and ZelFlux developed, we realized that even more developers and apps can be accessed by using the Docker schema, allowing many different programming languages to operate freely on the Network and giving users a wider range of applications to choose from.
3rd Party/Community Development of ZelFlux
Community developers are highly encouraged to commit code to the open-source ZelFlux repository. Together the Zel Team and Community will build out the decentralized network with 3rd party developers creating their own use cases. The main idea of the Zel Network is to allow enterprising programmers and small start-ups reasonably-priced computing power to deploy their innovative ideas without breaking the bank on renting expensive infrastructure. The open-source nature also allows other projects to build on the ZelFlux codebase, possibly providing improvements and ideas to better the operating system.
The Zel Team is always looking for more talented developers to join the team. If you have interest developing alongside the Team, please reach out to us on Discord.
Zel’s “Ota” Network Upgrade & ZelFlux Rollout
ZelFlux and the benchmarking daemon will be packaged with a Zel Network Upgrade, codenamed “Ota”. This upgrade will include integration of Zcash 2.0.7–3 (or higher depending on Zcash rollouts), fixes/improvements to block submissions and other functions utilized by mining pools, expanded Raspberry Pi compatibility, and various small fixes.
- ZelFlux, benchmarkd, and “Ota” Upgrade planned activation — First half November — Blockheight/date TBD
- Binaries for the above for testing — End of October
- ZelFlux is available now as a beta for any interested parties on the Zel Github
ZelNodes Network Status
There are currently over 1,000 ZelNodes operating on the Network, providing a huge amount of potential processing power. This breaks down to 483 Basic Nodes, 346 Super Nodes, and 231 BAMF Nodes. The hardware specs of each tier are listed below. More metrics about the Zel Network can be viewed here on the dashboard and pricing/ROI information can be viewed here.
- Basic Node — 2 vCores | 4GB RAM | 50GB SSD | 10k ZEL collateral
- Super Node — 4 vCores | 8GB RAM | 150GB SSD | 25k ZEL collateral
- BAMF Node — 8 vCores | 32GB RAM | 600GB SSD | 100k ZEL collateral
This totals to more than 4,000 vCores, 12+ TB RAM, and 215+ TB of SSD storage currently operating on the Zel Computational Network. The present amount of hardware will allow a huge number of applications, sidechains, and asset layers to operate simultaneously and completely decentralized, providing high computing power and low latency to the most demanding applications and platforms.
There are plans in the works for future scaling of the Network to keep ZelNodes from being saturated, such as increasing the base hardware specs and halving the collateral requirements, standing up different types of Nodes such as storage- and GPU-specific tiers, among others. These ideas will be developed with the Community as the Network grows and performance metrics are analyzed.
— — — — — — — — — — — — — — — — — — — — — — — — —
Written by Zel Technologies, GmbH — 08 October 2019 — Rev. 1
<https://zel.network>