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
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
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 | |