Quota

Please note this is not a technical document, but mainly describes quota and quota-related topics. Technical details will be introduced in the yellow paper.

The Definitions of Terms:

  • Quota: In Vite system, CPU cycles, storage space and network bandwidth consumed in transactions are paid by quota, instead of transaction fees or gas
  • PoW: Proof of Work, representing a certain amount of computational work 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 recipient address:The address of the account receiving quota

What is Quota

In Ethereum, in order to have a transaction executed timely, the sender usually has to offer an appealing transaction fee to miner. The higher gas price offered, the sooner transaction executed. In this typical bidding model, the supply of system processing capability and the demand of sending transactions are balanced by gas price automatically. This model works fine in Ethereum, however, from user's perspective it is hard to determine what is the best gas price to offer for a certain time. Either too low or too high price will cause a market failure. Moreover, since gas is associated with individual transactions, it is impossible to measure and allocate computational resources at account level. Vite does not charge transaction fees, but instead an amount of quota will be consumed when user sends transaction, including transfer, deploying smart contract, calling smart contract, issuing token, registering SBP, retrieving mining rewards, voting and staking. Vite has implemented a quota model to meet the supply and demand of resources.

Quota can be obtained in two methods:

  • Obtain a small amount of temporary quota by calculating PoW upon sending a transaction, or
  • Stake VITE

If you just simply need to send a transaction, calculating PoW is sufficient for you. If you need send many transactions in short time, which means you may need a large amount of quota consistently, you should stake VITE.

We recommend staking.

Quota Consumption Rules

Various quota consumptions of different transactions:

Transaction Type Quota Consumed In Unit Transaction Minimum Staking Amount(Vite)
Send a transfer without comment 21000 1 134
Receive a transfer 21000 1 134
Register SBP 62200 2.9619 400
Update SBP registration 62200 2.9619 400
Cancel SBP registration 83200 3.9619 534
Retrieve mining rewards 68200 3.2476 534
Vote 62000 2.9524 400
Cancel voting 62000 2.9524 400
Stake for quota 82000 3.9048 534
Cancel staking for quota 73000 3.4762 534
Stake for quota via delegation 82000 3.9048 534
Cancel staking for quota via delegation 73000 3.4762 534
Issue new token 104525 4.9774 667
Mint additional token 69325 3.3012 534
Burn token 48837 2.3256 400
Transfer token ownership 58981 2.8086 400
Change token type 63125 3.0060 534
  • Unit Transaction (UT): The minimum transaction unit measured by quota consumption, equivalent to an un-commented transfer transaction

Each character in transaction's comment consumes additional 68 quota.

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

quota, which translates to 1.0065 unit transaction.

Note

Due to implementation of VEP-8, additional 136 quota (2 characters prefix) will be charged if you send a transfer with comment from Vite wallet. No additional quota will be consumed if no comment is associated.

If ConfirmTimes is assigned when creating new smart contract, for each response transaction of the contract, an additional quota about ConfirmTimes * 200 will be charged. ConfirmTimes defines a waiting number that specifies in how many confirmations the contract will produce a response after the request transaction is snapshotted.

Quota Calculation

Quotas are calculated in the following formulas:

Here,

  • : Quota obtained by calculating PoW . Valid only for current transaction
  • : Quota obtained by staking. Will be restored every snapshot block and can accumulate for up to 75 snapshot blocks
  • : Quota cap of a single account. Related to overall system throughput and total account number
  • : PoW difficulty
  • : Quota calculation weight of PoW
  • : Staking amount
  • : Quota calculation weight of staking

In Vite Network,

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

UTPS: Unit transaction per second, referring to the number of unit transactions can be sent by the account in one second

UTPE: Unit transaction per epoch, referring to the number of unit transactions that can be sent by the account in 75 snapshot blocks (approximately an epoch).

The available quota of an account depends on basic UTPS and actual quota consumption during the last 74 snapshot blocks. For example, account A gets 1 UTPS by staking and hasn't sent or received any transaction during last 74 snapshot blocks, then the available quota of account A is 75 UT.

The actual available quota of an account upon sending transaction depends on basic UTPS, quota consumption during last 74 snapshot blocks and PoW . For example, account B gets 1 UTPS by staking and hasn't sent or received any transaction during last 74 snapshot blocks, while he also calculated a PoW nonce entitled to additional quota equivalent to 2 UT, then the actual available quota of account B is 77 UT in current snapshot block.

Note

For a single transaction, the maximum quota can be consumed is equivalent to 47.62 Unit Transactions.

For convenience in calculation, it is acceptable to calculate or and map result to corresponding quota according to 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 5999 40261529
12880 46/75 46 6133 41156327