Syscoin PoDA is live on the Tanenbaum network!
Syscoin's Proof of Data Availability (PoDA) innovation has been migrated successfully, adding functionality to support rollups with Layer 1 data availability on Tanenbaum. Now PoDA is undergoing public testing.
All About Proof of Data Availability (PoDA)
A future with rollups requires appropriate data availability (DA).
Syscoin and Ethereum appear to be the only projects working to provide Layer 1 DA which is key for supporting critical financial applications on rollups. Despite the novelty of Celestia and Polygon Avail, those systems require the user to depend upon consensus that is external to the Layer 1. Thus they are unfavorable for rollups that require Layer 1 security such as those supporting high-value use cases. Ethereum's plan involves deploying danksharding in its post-merge PoS future, along with additional complexities in order to establish DA and a fee market around it on the Ethereum network. For Ethereum, the totality of this is some distance away with some developers estimating a year. In parallel, Syscoin similarly recognized the need for L1 DA and has been working to fulfill it with the bandwidth and a fee market already designed into Syscoin's native UTXO PoW blockchain with finality, which runs alongside our EVM.
Once we move to rollups (optimistic and ZK based) the scalability bottleneck shifts to data availability. That means a DA solution must also play a role in optimizing the scaling benefits of Syscoin if it is to be considered appropriate for critical DeFi applications.
PoDA is Syscoin’s own technical solution for DA in a modular (rollup-focused) blockchain design. In this context, modular design alleviates the CPU bottleneck (see writeup). This shifts the focus on scaling solely to Layer 1 which stores data for censorship resistance reasons. Ideally, a more optimized form of storage is needed, one which is not adverse to security and decentralization. We are able to achieve this by tweaking the liveness property. The assumption is that at least one honest person in the world will store the data within a window of time. The same assumption is made when syncing a Bitcoin node - You assume at least one honest peer will connect with you and provide the data.
Why it is Important
Typically when you move data availability off-chain you cannot make the claim that the rollup inherits the security of the base layer. If the data is stored off-chain (even if secured by some other consensus mechanism) it is not the same security domain as the Layer 1. Concerns arise over censorship of off-chain data with the implication that users could be prevented from accessing the data needed in order for them to exit back to Layer 1. Some major breakthroughs around this concern were made by the Syscoin team and are now brought forth in PoDA, the design of which we announced here. This is similar to EIP-4844 (proto-danksharding) in theory, and Syscoin even shares implementation on the NEVM side same as Ethereum. However, the differences are in how the data is stored, presented, pruned and how fees are calculated. Keep in mind, we came up with PoDA around the same time EIP-4844 was revealed at EthDenver 2022. There was no awareness of either approach nor coordination between the teams. Confidence is inspired by the fact that both teams arrived independently at similar conclusions!
How it is Useful to Rollups
Layer 1 DA is the ultimate security compared to Validium (see this rollup explainer for Validium info). Validium (off-chain DA) makes new assumptions on the censorship resistance security of the rollup paradigm. Validium is still useful for some applications, giving users the ability to opt for cheaper transactions. This could be helpful to GameFi for example, or streaming updates to NFT objects. On the other hand, using Layer 1 is obviously desired for the most critical financial applications. Maximizing the potential of leveraging Layer 1 to push the boundaries of scale is ideal. Our previous estimates of throughput in the original vision paper of our design factored Validium, but we had not accounted for PoDA which came later. With PoDA, the specs for ultimate Layer-1-secured throughput have vastly improved. The best part is that we do not have to increase the gas limits of NEVM very much to achieve those results. We can keep the blocks relatively small (full node friendly) and leverage PoDA to do the heavy lifting and alleviate the bottleneck for censorship resistant data security using Syscoin Layer 1.
The Figures
- Current Syscoin block gas limit: 8 million gas
- Cost per byte of data stored on-chain: 16 gas
- Average block time on Syscoin L1: 150 seconds
- Bytes of data required to do a transfer using rollups: 12 bytes
Assuming the underlying factors listed above remain the same, the differences between the following scenarios are substantial:
Using CALLDATA for ZK Rollup: (assuming 12 bytes per account update on layer 2)
- Max number of bytes per block: ~500,000 bytes (8 million gas / 16 gas per byte)
- Transitions per block: ~41,666 (~500,000 bytes per block / 12 bytes per transfer)
- Transitions per second: ~277 TPS (~41,666 transitions per block / 150 seconds per block)
Using PoDA for ZK Rollup:
- Max number of bytes per block (PoDA): ~60,000,000 bytes (60MB)
- Transitions per block: ~5,000,000 (~60M bytes per block / 12 bytes per transfer)
- Transitions per second: ~33,333 TPS (~5M transitions per block / 150 seconds per block)
Keep in mind these are sustained rates, not burst capacity. Also this 33,333 number we calculated is based on ZK rollup account transitions (TPS here is transitions per second, not transactions). In reality the actual transaction throughput may be much higher. Take for example someone performing 10 AMM swaps within one Layer 1 state transition on a rollup: This will represent only 2 account updates required within the data availability mechanism instead of 10. Regardless of the number of transactions, only the update to the account state (transition) is required for the rollup to transition on Layer 1, therefore the numbers for transactionality (transactions per second) are far higher on average.
Fee Market and Burst Capacity
The fees for PoDA are simply taking a regular UTXO transaction payload and dividing the size by 100. For example, with 60MB total space available for PoDA in a block, the maximum fee is based on occupying 600kb (60MB/100) of block space, leaving around 400kb for regular transactions in the UTXO block. The size of the block will far exceed 1MB which is the maximum non-segwit physical block size, but we weight PoDA by 100 so we can effectively carry much more because PoDA data will be pruned from regular nodes after a few hours. Because the default maximum mempool size is 300MB (which equates to 30GB when applying the factor of 100 for PoDA), the maximum throughput we can get is around 1.6M (yes that is 1.6 million account updates per second) calculated by 30GB mempool default capacity with PoDA / 12 bytes per account update / 150 seconds per block.
Theoretical Estimates and Bottlenecks
Obviously the numbers above are just estimates and theoretical bounds in our system. They might go up if users are transacting amongst the same accounts within each Layer 1 transition, and/or if miners increase their mempool default capacity which can be done easily as we scale-up further. Even so, keep in mind this is systemic scalability, not an individual rollup. What we mean by this is, now that we have uncapped the bottleneck of data availability (previous bottleneck was CPU which was resolved by the use of a rollup) the next bottleneck will be back to how fast a server can compute the ZK proof or manage the state of a rollup which grows large through the use of a large number of historical transactions. To alleviate these concerns, ZK hardware, parallel processing, fractal scaling (in ZK using layer 3), state-less EVM execution and storage will be back in focus to achieve the next level of scale as needed in the future for single rollup chains. We have uncapped the boundaries while retaining complete decentralization (keeping things modular without affecting base layer costs, security or adding big risks to full nodes). This fulfills our vision to find the utmost efficient use of block space possible with the invention of rollup technologies and Layer 1 data availability (PoDA).
About Syscoin
Syscoin is a decentralized and open-source project founded in 2014 whose NEVM blockchain combines the best of Bitcoin and Ethereum in a single coordinated modular platform.
Syscoin is ushering in the next step in the evolution of blockchain technology, providing Bitcoin's proven security and Ethereum's Turing-complete programmability elevated to true scalability via Optimistic, ZK-Rollups, Cross-chain ZK-Rollups and other Layer 2 technologies.
Website | Discord | Telegram | News | Github | YouTube | Facebook | Twitter | Instagram