A Valuation Model for Polygon's zkEVM

July 27, 2022 - 10 min
A Valuation Model for Polygon's zkEVM

Polygon's recent zkEVM announcement was met by both praise and controversy as it supposedly diminished the value of the $MATIC token. According to our model, however, Polygon ($MATIC) is worth $3.88 with an upside of 334%.

Key Insights

  1. Polygon ($MATIC) is currently undervalued and is worth $3.88 per token, suggesting an upside of 334% from the price on July 31, 2022.
  2. Concerns regarding the use of $ETH as the gas token on Polygon's zkEVM and zkRollup are overblown.
  3. Polygon is set to benefit from economies of scale through its PoS side-chain which will reduce $MATIC supply while technologies such as Avail will significantly reduce the cost of depositing transaction batches on Ethereum.  

Last week, Polygon announced Polygon zkEVM, which the company described as a "major leap forward" in the world of zero-knowledge (ZK) technology. The zkEVM test net is expected to launch sometime this summer, while a mainnet release is expected in "early 2023."

Feel free to check out the first part of this article for a deeper dive into Polygon's multi-sided scaling approach to Ethereum and a better understanding of the concepts discussed here.

As of April 26, 2022, over 19,000 dApps had been built on Polygon, up from only 3,000 in November 2021. Moreover, these dApps are not simply a port-over from Ethereum, and Alchemy data shows that 65% of the teams integrated exclusively on Polygon, compared to 35% deployed on Ethereum.

What is a zkEVM?

zkEVMs is a type of zero-knowledge (ZK) rollup – an Ethereum scaling solution (Layer 2) that executes transactions off-chain, bundles them up, and passes a proof of their validity onto the Layer 1 chain (Ethereum). By offloading the transaction execution and batching them together, zkRollups promise to reduce transaction fees on Ethereum by over 90% while still maintaining Ethereum's security benefits.  In theory, zkEVMs provide developers the ability to move virtually any Ethereum smart contract onto Polygon zkEVM without needing to alter code.

Until recently, however, zkEVMs could only be used for very specific and individualized use cases such as the decentralized exchange DyDx (StarkWare) or GME's NFT marketplace (Loopring). However, Scroll and Polygon now both claim to have EVM-equivalent zkEVMs, which operate at the bytecode level and are scheduled to launch within the next few months.

$MATIC will no longer be used as a Gas Token

Polygon's zkEVM announcement was not without controversy. Shortly after the news was released, Polygon co-founder @sandeepnailwal announced that for all public chains, $ETH would be used as the default gas token, while $MATIC would be used as the staking token.

This announcement raised concerns amongst  $MATIC hodlers who believed that transacting in $ETH would reduce buy pressure on the $MATIC token, thereby reducing its value as a utility token and potential upside. However, this argument is fundamentally flawed since any buy pressure on the $MATIC token would be counterbalanced by the sell pressure on the token when confirming transactions back to the Ethereum mainnet.

In fact, I have previously argued that accruing network revenue through an expensive token which is then used for gas fees, is an unsustainable revenue model and is likely to drive users to competing L1s such as Solana and Avalanche. The only economically viable revenue model relies on reducing transaction costs to increase the overall number of transactions on the network.  

I continue to believe that $MATIC remains a solid investment and that the launch of Polygon zkEVM and the ensuing tokenomics change has little impact on current hodlers. To confirm my intuition, I built a model that analyzed the cash flows that would be generated by Polygon's zkEVM if all transactions on its current PoS side-chain were migrated to it. Before diving into the model itself and its findings, it's important to understand the revenue model the zkRollups utilize.

The Layer 2 Transaction Model

The transaction fee on a Layer 2 solution is derived from two components; the “L2 gas fee” and the “L1 data fee”. The L2 gas fee, analogous to the transaction fee of an L1 such as Ethereum, is the fee that the user pays for executing a transaction on the Layer 2 network e.g. Polygon. The L1 data fee, comprising fixed costs and a variable fee known as call data, is the cost of publishing/storing a batch of transactions to the Layer 1 network. Thus, the fees paid by a user = L1 data fee (amortized over batch) + L2 execution fee.

The L2 execution fee, can be calculated as the Fee Scaler x L2 Gas Cost. The Fee Scalar, is the excess fee charged by the network to ensure that an increase in L1 (Ethereum) gas prices does not prevent transaction batches from being successfully stored on the mainnet. For reference, the Fee Scaler currently used by Optimism ($OP) is 1.24.  

Meanwhile, the L1 data fee is simply the cost of proving and publishing transaction data on the Ethereum mainnet. The variable cost per transaction is based on the gas per byte, which is currently 16 gas units. A transaction on Polygon zkEVM currently uses ~ 10 bytes, which means that each transaction requires an additional 160 units of gas.  However, with the implementation of EIP-4844, the gas per byte will be reduced from 16 gas units to ~ 3 gas units.

Meanwhile, the fixed fee per batch is between 350,000-500,000 gas units. With the implementation of EIP-4844, this cost is expected to reduce to 170,000-200,000 gas units. This gas cost is amortized over all the transactions in the transaction batch, which currently sits at 2048 transactions/batch. However, the theoretical limit to transactions per batch is actually over 90,000 transactions at a current gas limit of 15 million per block (15M - 500,000)/(10*160). While this upper limit is currently unlikely since it assumes that a block only has one batch, increases in Ethereum's throughput via sharding and in zk-SNARK proof/verification times mean that this could be a likely scenario in the medium to long-term.

Excluding MEV (Maximal Extractable Value), which accrues revenue by selling the ability to reorder, insert, and censor transactions within blocks, the Layer 2 network Revenue = L2 fees collected - L1 Data Fee.

The process of collecting L2 transactions and publishing them on the L1 is carried out by two different parties.

The first party in this model is the Sequencer. Sequencers collect L2 transactions from users and preprocess new L2 batches and transmit transactions for recording to the Layer 1.

Source: davidsrz

Sequencers pay the gas fees of L1 network to produce a transaction that contains the entire batch of transactions in addition to a $MATIC fee specified by the protocol. The batches, in the format of L1 transactions, form a virtual state for the L2 network. This new state is settled when the validity proof of a new state (the ZKP) is generated and mined in L1. This corresponds to the second part of the protocol. The proofs here are generated by Aggregators, where the right to create the validity proof of a new state of the L2 is earned simply by being the first aggregator to do it.

Source: davidsrz

Fees are distributed in the following way:

  • Fees from L2 TXs will be processed and distributed by the same aggregator that creates the validity proofs.
  • All TXs fees will be sent to the corresponding Sequencer of each batch.
  • The deposited fees from Sequencers to create a batch will be sent to the Aggregator that included this batch into a validity proof.

Although Polygon is working to decentralize the number of sequencers on the network, currently, the Polygon zkEVM has a centralized “sequencer,” which means a single party is responsible for bundling up and ordering the L2 transactions that get passed down to the L1 blockchain. As such, a failure of the sequencer could pause chain activity, although this shortcoming is also shared by zkEVM competitors.

Discounted Cash Flow Analysis

Since there is currently no data on the cost or revenue of Polygon zkEVM transactions, I adjust data from Polygon's PoS sidechain to create viable cash flow estimates.

Revenue: Transaction Volume & Fees

The first step to doing so is estimating the number of transactions and the average transaction cost that would occur in Year 0 of Polygon zkEVM going live on the mainent. Using Polygonscan.com, I found that ~ 620 million transactions had taken place so far on the Polygon PoS side-chain in 2022, which would scale to a full-year transaction volume of ~ 1.1 billion and is used as baseline transaction volume for the zkEVM.  

Polygon PoS

The next step is to calculate the fees that these transactions would generate for the network. To do so, I assume that the $0.25 fee per transaction from L2fees.info is valid until 2026. In 2026, I assume the implementation of proto-danksharding (EIP-4844), which would reduce the L1 data fee and, subsequently, the fees paid by users for a transaction on the L2 network. Starting in 2026, the fee per transaction on Polygon is estimated to be $0.033–$0.055, which is roughly in line with Vitalik Buterin's prediction of ~5x fee reduction with EIP-4844.

Source: l2fees.info

Using these metrics and assuming the rather conservative growth rates for the transaction volume, we can calculate the revenue generated by Polygon's zkEVM over the coming years. Note that the estimate of Total Transactions in 2042 of 300 billion, is relatively conservative given that Visa currently processes almost 200 billion transactions a year and that zk-Rollups have a similar throughput of 2048 TPS. With Ethereum set to release sharding, which would increase network capacity to over 100,000 TPS, and even higher for rollups, it seems reasonable to estimate the following transaction volume and network fees:

Cost: Publishing Transaction Batches to L1 (Ethereum)

Having calculated the revenues accrued by the network, we need to subtract the out cost required to publish transaction batches to the network to estimate the profit that will be distributed to $MATIC stakers (which is the main source of revenue since $MATIC is no longer burned).

As discussed above, this cost is a function of the gas used per batch, the variable cost per transaction, and the total number of transactions.  We can define this as:

L1 data fee per transaction = (Gas per Batch/Transactions per Batch + 160 Gas Units)*Gas Price.

Gas per Batch: For my conservative baseline, I assume that the Gas per Batch used for the proof and publication of L2 data is currently 500,00 gas units and 200,000 gas units after the implementation of EIP - 4844 (in 2026). For my optimistic estimate, I assume a current cost of 350,000 gas units and 170,000 gas units in 2026.

Transactions per Batch: I assume that the gas per batch is amortized over 1,000 transactions in 2023, with the number of transactions per batch doubling every 3 years. This leads me to assume that there will be 65,536 transactions per batch in 2042, which is still below the theoretical max of 90,000 using current gas limits.

Gas Cost & Price: I start by taking average gas price in 2022 which is ~ 70 GWEI and the Ethereum price on July 31, 2022 ~ $1,746. I then assume that  Ethereum's price increases 12% per year while the gas price decrease by 12% each year. Using this assumption, Ethereum will be worth ~ $17,000 in 2042, which is a 9x increase. Meanwhile, the decrease in gas price is likely conservative, as increased throughput on Ethereum via sharding and implementation of rollups will likely reduce gas prices orders of magnitude higher.

Using the estimated L1 data fee per transaction, I project the following costs:

Price Based on Discounted Cash Flows

By subtracting the costs above from estimated revenues, we can deduce the total profit earned by the network. Using a discount rate of 12%, these cashflows are then discounted to present value, and a terminal value at a perpetuity growth rate of 1.5% is added to the cumulative present value of cash flows.

We assume that 75% of profits generated are distributed to $MATIC stakers, while the 25% is used to provide incentives to Sequencers and Aggregators. For calculating the price from all free cash flows, we assume that there will be a maximum total of 10 billion tokens in circulation of which 12%  is reserved as a reward for $MATIC stakers.  I assume that all 12% of the reward tokens are staked and that the remaining 8.8 billion tokens are staked at the current rate of 32.51%. Effectively, this means that ~ 40% of the total $MATIC supply will be staked.

Using the range for transaction fee and L1 data fees discussed above, I device  aconservative and optimistic projection of cashflows and the valuation associated with these cashflow projections. The best guess estimate in the final valuation is the average of the conservative and optimistic valuations.  

A few things to note regarding this valuation model:

  1. Model does not factor in MEV which is additional protocol revenue (conservative)
  2. Many games and dApps requiring minimal gas fees and without ETH security will continue to operate on sidechains and supernets, thereby contributing to $MATIC Burn and buy pressure on which is not factored into the model (conservative)
  3. Model assumes all transactions happen on L2 (optimistic)

As always, please take these numbers with a huge grain of salt, especially since we have very few reasonable estimates of revenues and costs on a proper zkRollup since the testnet is currently unreleased. The full model can also be downloaded from the link below, so feel free to change and update numbers and assumptions as you see fit.