A version of this article first appeared in the December edition of the Attestant Ethereum 2 update.
The Ethereum 2 chain provides rewards to attesting validators in the form of Ether. This Ether is issued by the chain (as opposed to being reallocated from existing funds), increasing the total number of Ether in circulation. Significant levels of issuance can dilute the value of existing Ether, so it is useful to be able to track this value. The value is also important in providing a basis for calculating the total supply of Ether across both the Ethereum 1 and Ethereum 2 chains.
There are three figures here that are of interest:
- the theoretical maximum Ether the network could generate given the number of active validators at a point in time
- the actual Ether the network awards through the active validators’ correct actions
- the actual Ether the network burns through the active validators’ inaction or incorrect actions
The first figure shows the issuance ceiling. This is useful because it provides a guarantee that issuance will not be higher than this value, regardless of any of the validators’ actions. This is a higher level of assurance than that possible with proof of work, as proof of work is probabilistic in nature whereas proof of stake is absolute. The value can also be calculated with minimal information about the chain; all that is required is the number of active validators. Bounds for the change in the number of active validators are well established, allowing for forward projection of the issuance ceiling with the same level of guarantee.
The second figure shows the gross issuance. This is useful because it provides information about the operations being undertaken by the active validators on the network. The value is derived from the individual attestations and proposals on the network, and as such requires an examination of most of the information from the blocks on the chain over the period, along with information derived from the chain’s history, to make sense of the said information.
The third figure shows the gross penalties. Similar to gross issuance, it provides information about the number and severity of missing or incorrect validator actions. Note that this figure also includes penalties from slashings, as these also result in the burning of Ether1.
The gross issuance minus the gross penalties provides the net issuance figure, which is the value most people mean when they refer to just “issuance”. A chart of daily net issuance for the first two weeks of the Ethereum 2 chain is shown below.
The net issuance divided by the issuance ceiling provides the issuance rate, which is the proportion of theoretical issuance actually issued. This is similar to the rewards rate as outlined in a previous article, however this is more holistic in that it also takes account of slashings and is more focused on the specific question of issuance rather than the performance of the chain. This is also shown on the chart below.
The smaller issuance on the first day is due to the chain starting at approximately midday UTC, hence there were only 12 hours of issuance rather than the usual 24. The general increase in net issuance is caused by the day-on-day increase in the number of active validators. Even at this stage, though, it can be seen that the growth in issuance is not linear: the net issuance is a function of the square root of the total active Ether, which means that although the issuance increases with each additional validator the increase becomes smaller and smaller as more validators are added.
It should be remembered that the issuance on Ethereum 2 is at current in addition to the issuance on Ethereum 1, This situation will remain until Ethereum 1 is merged on to Ethereum 2, at which point issuance on Ethereum 1 will stop. Given that issuance on Ethereum 1 is around 20 times that of Ethereum 2, the additional issuance is relatively low and will quickly be corrected by the overall issuance reduction when Ethereum 1 is merged.
Ether gained by the block proposer that first publishes the slashing is not included here as it is a transfer from the slashed validator.↩