# Quota

TIP

Quota and related topics are described in this page.

Definition of Terms:

  • Quota: In Vite network, CPU cycles, storage space and network bandwidth consumed in transactions are paid by quota, instead of transaction fees or gas.
  • UT: Unit Transaction. 1 UT is equivalent to the quota amount consumed in one transfer transaction without comment.
  • PoW: Abbr. of "Proof of Work", representing a certain amount of computational work that has been performed
  • Stake: Lock up an certain amount of VITE in account in exchange for quota
  • Staking address:The address of the account from which the staking transaction is initiated
  • Quota beneficiary:The account receiving quota

# What is Quota

In Ethereum, in order to have transaction executed quickly, user usually has to offer miner a competitive gas fee. The higher the fee is offered, the sooner the transaction will be executed. This is a typical bidding model, where system's processing capacity and pending transaction amount are balanced by gas price. This model works fine in Ethereum, however, it is not easy for a user to determine what price is "competitive but not exaggerated" at a certain time. Too low or too high offering will cause market failure. Moreover, Ethereum's gas is associated with transactions, there is no measurement to allocate computational resources efficiently at account level.

Vite does not charge transaction fee. Instead, an amount of quota is consumed when sending transaction. All operations, including transfer, deploying smart contract, calling smart contract, issuing token, registering SBP, retrieving mining rewards, voting and staking, consume quota. To meet this requirement, a unique quota generation and consumption model is implemented in Vite network.

To get quota for your account, you can

  • Obtain a piece of small, one-time quota by calculating a PoW puzzle upon sending transaction, or
  • Stake VITE coin

Staking Recommended

Calculating PoW is sufficient if you intend to send only a few transactions. But if many transactions are to be sent in a short time, you should stake.

We recommend you stake.

# Quota Consumption Rules

The following table lists quota consumption of common transactions:

Transaction Type Quota Consumed In Unit Transaction (UT) Minimum Staking Amount(VITE)
Send a transfer without comment 21000 1 134
Receive a transaction 21000 1 134
Create smart contract 31000 1.4762 267
Register SBP 168000 8 1067
Update block creation address 168000 8 1067
Update SBP reward retrieval address 168000 8 1067
Cancel SBP registration 126000 6 534
Retrieve SBP rewards 147000 7 934
Vote 84000 4 534
Cancel voting 52500 2.5 400
Stake for quota 105000 5 667
Cancel staking 105000 5 667
Stake for quota with callback 115500 5.5 800
Cancel staking with callback 115500 5.5 800
Issue new token 189000 9 1200
Re-issue an additional amount of token 126000 6 800
Burn token 115500 5.5 800
Transfer token ownership 136500 6.5 934
Change token type 115500 5.5 800
Query token information 31500 1.5 267

In addition, each character in comment field of transaction consumes 68 quota.

For example, sending a transfer transaction with comment of '0x0001' (two hexadecimal characters) will consume

quota, which translates to 1.0065 UT.

Additional Quota Cost

  • Due to implementation of VEP-8, a 2-char prefix that takes additional 136 quota will be added to your comment if you send a transaction with comment in Vite official wallet.
  • If Response Latency is assigned upon smart contract creation, an additional quota of will be charged for response transactions of the contract. Response latency defines a waiting number that specifies in how many confirmations the contract will produce a response transaction for request.

# Quota Calculation

Quota is calculated by the following formulas:

  • : Quota received through PoW . Valid only for the current transaction
  • : Quota received through staking. This quota is recovered every snapshot block, and, if not used, is able to accumulate for up to 75 snapshot blocks
  • : Quota cap of account
  • : Quota factor, related to total quota consumed in last 74 snapshot blocks
  • : Difficulty of PoW puzzle that has been resolved
  • : Calculation weight of PoW
  • : Staking amount of account
  • : Calculation weight of staking

In Vite network, quota cap and calculation weights are constants:

  • = 1000000
  • = 6.259408129e-10
  • = 4.201037667e-24

Quota factor is calculated by the following formula:

$$ Qc = \begin{cases} 1, & \text{for } g \leq 1050000 \ 2-e^{8.260667775706495e-09 \times (g - 1050000)}, & \text{for } 1050000 < g \leq 2100000 \ e^{1.6949794096275418e-10 \times (2100000-g)}-0.9, & \text{for } g > 2100000 \ \end{cases} $$

  • : Average quota consumed in last 74 snapshot blocks

UTPS: Unit transactions per second, referring to the number of unit transactions that an account can send in one second

UTPE: Unit transactions per epoch, referring to the number of unit transactions that an account can send in 75 snapshot blocks

The available quota of an account depends on UTPS and quota consumption during the last 74 snapshot blocks. For example, Account A receives 1 UTPS quota through staking, no transaction occurs during the last 74 snapshot blocks, in this case, the available quota of Account A is 75 UT.

The actual available quota of an account upon sending transaction depends on UTPS, quota consumption during last 74 snapshot blocks and PoW . For example, Account B receives 1 UTPS quota through staking, no transaction occurs during the last 74 snapshot blocks, while he also calculated a PoW equivalent to 2 UT, in this case, the actual available quota of Account B is 77 UT.

Quota Cap

For a single transaction, the maximum quota can be consumed is defined as 47.62 UT.

For convenience in calculation, it is practical to calculate value of or and then map the result to quota according to the following table:

or UTPS UTPE Approximately equivalent to how much VITE staked without calculating PoW Approximately equivalent to how difficult the PoW calculated without staking
0.0 0 0 0 0 0
280 1/75 1 134 894654
560 2/75 2 267 1789307
840 3/75 3 400 2683961
1120 4/75 4 534 3578615
1400 5/75 5 667 4473270
1680 6/75 6 800 5367925
1960 7/75 7 934 6262581
2240 8/75 8 1067 7157239
2520 9/75 9 1200 8051897
2800 10/75 10 1334 8946557
3080 11/75 11 1467 9841218
3360 12/75 12 1600 10735880
3640 13/75 13 1733 11630544
3920 14/75 14 1867 12525211
4200 15/75 15 2000 13419879
4480 16/75 16 2133 14314549
4760 17/75 17 2267 15209221
5040 18/75 18 2400 16103896
5320 19/75 19 2533 16998573
5600 20/75 20 2667 17893253
5880 21/75 21 2800 18787936
6160 22/75 22 2933 19682622
6440 23/75 23 3066 20577310
6720 24/75 24 3200 21472002
7000 25/75 25 3333 22366698
7280 26/75 26 3466 23261397
7560 27/75 27 3600 24156099
7840 28/75 28 3733 25050806
8120 29/75 29 3866 25945516
8400 30/75 30 4000 26840230
8680 31/75 31 4133 27734949
8960 32/75 32 4266 28629672
9240 33/75 33 4400 29524399
9520 34/75 34 4533 30419131
9800 35/75 35 4666 31313868
10080 36/75 36 4799 32208609
10360 37/75 37 4933 33103356
10640 38/75 38 5066 33998108
10920 39/75 39 5199 34892865
11200 40/75 40 5333 35787628
11480 41/75 41 5466 36682396
11760 42/75 42 5599 37577171
12040 43/75 43 5733 38471951
12320 44/75 44 5866 39366737
12600 45/75 45