Proposal: Efficient State Machine Usage Through Taxation

State vs State Machine

The current state of the TEA Project lets everyone know the current status of all apps and user accounts in the TEA network. This is similar to the state concept used by other blockchain-based projects. For example, Ethereum’s state is a large data structure containing both wallet balances and a machine state that changes from block to block according to EVM-compatible machine code.

State is a Limited Public Resource

In the TEA Project, all the global state maintainer nodes run the same state machine to maintain a single state across all nodes. All TApps share the same state which the utilize to store their own state in the memory of these nodes. The resource allocation problem that the TEA Project is trying to solve stems from the fact that the size of the state is limited. If one TApp uses too much memory, then other TApps won’t have enough room to store their state. We therefore want to encourage efficient state utilization among all TApp developers.

Memory Tax

The TEA Project has adopted a memory tax to levy on TApp developers when the utilize state memory. These taxes are paid out to the global state maintainer nodes as their reward for maintaining the global state. This tax is called the memory tax and is billed based on how much memory a TApp uses and how long it occupy the space in the state machine.

Global State Maintainer is a Profitable and Limited Public Resource

Global state machine maintainers earn this memory tax for running the state machine. It’s generally more efficient for the ecosystem to have a limited number of global maintainer nodes when reaching consensus. Given that many miners will want to run a global state maintainer node, how do we fairly select among the applicants?

image courtesy Simon de la Rouviere

Harberger Tax for Allocating State Maintainer Seats

The Harberger tax is what the TEA Project has settled on as the best solution for allocating state maintainer seat licenses. Anyone can become a state maintainer as long as:

  1. They’re willing to pay a tax based on a self-estimated price.
  2. Whoever pays a higher than this self-estimated price then owns the seat license to become a maintainer.

Where Does the Harberger Tax Money Go?

In TEA Project, we call this tax revenue going to the global state maintainer nodes their “maintainer income”. Since this revenue is taken from public resources, it should be rewarded back to the public (i.e. the global maintainer nodes). The amount going directly to node maintainers is their revenue net of the Harberger tax they must pay out.

Global Maintainer Expense #1: Public Services

In TEA Project, we have public services (which is similar to jury duty in normal civil society) where mining nodes perform tasks where no one is supposed to pay for but must be done for public security purposes. Remote attestation is the most common example of this type of public service. The revenue that global state maintainers receive as part of their maintainer income is used to pay for this service.

Global Maintainer Expense #2: Profit Rewarded to Stakers

If the state maintainer’s income doesn’t cover the public service amount owed, then we’ll take funds from the genesis block miner reward reservation to cover the shortage. On the other hand, if there is an amount left over after paying out all public services, this profit is then given as a dividend to all TEA token holders.



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store