This article describes the utility of the economy within MESG, and what it means for you.

Token utility

A native token is the fuel for MESG networks. Its primary use is to create executions. MESG is a blockchain of executions and any node on the network can process executions and get rewarded for their work.

The goal of an execution is to execute a specific task through a service (here are a few examples). Services can be created by any developers wishing to deploy their tasks on a MESG network.

To understand the economy of the native token, we need to understand the lifecycle of an execution.

Execution lifecycle:

The user requests an execution of a specific task from a service

Executors process the execution and submit the result

Validators reach a consensus on the validity of the executors' work

Block producers verify the legitimacy of every actor in this execution

An incentive is put in place with the token as a reward to ensure that actors are doing the work correctly.

MESG Economy

Actors on the network

Networks on MESG are either public or private. Public networks are open, where anyone can join and participate in the economy. Each actor has a different role with different incentives in order to maintain a balance within the network. There are no limitations to the number of actors that the same node can have. You can either have a single actor per node, or have all actors on a single node.

Users

Users can execute any task from any service without worrying about the hassle of maintaining a server or using online services that require monthly fees. In this case, the user would pay on-demand using the native token and would only pay for what is needed when it's needed.

To guarantee that the service is running correctly, the user can run a Runner and execute the task directly. With this configuration, MESG is used as a traditional server, but still passes through a network, providing fallback in case of server issues.

Developers

Executions on the network are based on the services that are created by developers. Like any software, maintenance is required to ensure its quality. To incentivize developers to maintain their services, the developer receives rewards based on the use of their service.

Every execution on the network rewards the service's developer, ensuring a reward that's proportional to the use of the service.

To guarantee the availability of their service, developers might want to run their services on their own, ensuring that the network can always process executions related to this service.

Runners

The network relies on runners to process the different executions. Runners are specific to a service, however a single service can feature multiple runners, and a single node can run multiple services. Runners have 3 different roles:

Emitters create executions on behalf of the user based on their Processes. Processes create autonomous applications that can be connected to external events.

create executions on behalf of the user based on their Processes. Processes create autonomous applications that can be connected to external events. Executors process the executions on the network. Executors are given a specific task with a set of inputs then return the results of this task.

process the executions on the network. Executors are given a specific task with a set of inputs then return the results of this task. Validators ensure that the work of the executor is valid by either reapplying the execution or executing a verification function.

Becoming a runner requires a stake that helps guarantee a few things:

The work produced has correct results.

The runner stays available anytime.

If any of these conditions is not met, the runner loses a portion of its stake. The network can also exclude a runner for a specified period of time.

To incentivize runners, a reward is given for each execution that is processed. This reward is meant to ensure a beneficial the ratio between the cost of running a Runner, and its associated reward, for all actors on the network.

Block producers

The network relies on block producers to validate executions along with the authenticity of every actor. Block production on the network is open to anyone and requires a stake for the same reason as the Runner. If a block producer is offline or provides invalid results, a portion of its stake is taken and jail time is applied. Rewards are distributed to block producers when the network is secured correctly.

Conclusion

MESG Networks are complex with different actors, leaving the possibility for anyone to join based on their preferences.

Those interested in staking might be interested in becoming a block producer or a runner.

For those interested in mining, running a service might be the right solution, as your work is rewarded for processing specific executions.

If you are a developer that wants to develop useful services and be rewarded for that, you can create services.

Finally, if you want to use existing services to create autonomous applications that connect any technologies, you can be a user of the MESG Network.