Syscoin Roadmap & Development Updates Mid-2022
This week and next will be exciting for the community with multiple announcements lined-up. One will be about a unique ZK initiative, separate from zkEVM. We aim for it to go live on the Tanenbaum testnet before the end of September 2022, and to host a workshop around it at Token2049. More info on this will be published this week or next. Now, onward to the development updates!
Notable progress has been made across an array of initiatives. Here we will dive into the current states of development for Proof of Data Availability (PoDA) which is entering public testnet, the Layer 2 solutions within the Rollux suite (optimistic & ZK rollups), and DAOSYS. Proper data availability is foundational to Rollux, so we’ll provide some extra details here about our solution, PoDA.
Rollux Suite Updates
We are currently on-track to launch a publicly accessible optimistic rollup to the Tanenbaum testnet on or before the Token2049 event which takes place at the end of September 2022 in Singapore.
We have a dedicated internal team developing our own optimistic rollup based on Optimism Bedrock with Cannon fraud prover, integrated with PoDA. Syscoin Rollux will support both ZK and optimistic types. Optimistic rollups will probably remain more efficient than ZK for some period of time. Both types have their benefits. We have chosen to support both based on the maturity of Optimism’s code, and because optimistic rollups do not introduce the computational overhead that a ZK prover does. There is also the perk that an optimistic rollup might be deliverable sooner than zkEVM. Over time, perhaps we will identify opportunities and ways to integrate optimistic and ZK-based technologies together where it makes sense.
ZK Rollups (zkEVM)
Currently we feel the timeline for the mainnet release of zkSync 2.0 by Matter Labs is consistent with their public statements of around August/September 2022. Once mainnet is reached, we will integrate the code with PoDA and launch our own version, creating the ultimate zkEVM experience on Syscoin.
https://v2.zksync.io/ is now finally live on public testnet. We have seen them make some major improvements in the last few weeks. We look forward to their public release and support them. We have open dialogs with the team internally. In regard to zkEVM, our roadmap currently follows Matter Labs’ roadmap.
We would like to reiterate that we do depend on the public mainnet release of zkSync 2.0 before we incorporate it into Rollux. It is appropriate that we use code that has undergone post-audits and hardening considering zkEVM is based on leading-edge research. Now that a public testnet is out, we have a good indication that audits are well underway (possibly finished) and the code is being finalized for mainnet release (assuming the velocity of bug discovery is on a downtrend which appears to be the case — https://github.com/matter-labs/zksync/pulse/monthly#new-issues).
PoDA Entering Testnet
Private testing has wrapped-up. We are migrating the Tanenbaum public testnet to include functionality for Layer 1 data availability. Our Proof of Data Availability (PoDA) concept (see here for more details) will be live on Tanenbaum any day now.
All About Proof of Data Availability (PoDA)
Having PoDA in place is a prerequisite for deploying and properly implementing rollups on Syscoin. Once we move to rollups (optimistic and ZK based) the scalability bottleneck shifts to data availability. That means having a proper DA solution in place is key for optimizing the scaling benefits of Syscoin.
PoDA is Syscoin’s own technical solution for data availability 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. 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 (in our case Syscoin’s Layer 1, secured by Bitcoin through merged-mining). If the data is stored off-chain (even if secured by some 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 being brought forth in PoDA 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 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 more than one research team arrived at a similar conclusion!
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.
- 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)
- Transactions per block: ~41,666 (~500,000 bytes per block / 12 bytes per transfer)
- Transactions per second: ~277 TPS (~41,666 transactions per block / 150 seconds per block)
Using PoDA for ZK Rollup:
- Max number of bytes per block (PoDA): ~60,000,000 bytes (60MB)
- Transactions per block: ~5,000,000 (~60M bytes per block / 12 bytes per transfer)
- Transactions per second: ~33,333 TPS (~5M transactions 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. 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 updates to the account state are required for the rollup to transition on Layer 1, therefore the numbers for transactionality 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).
DAOSYS is being developed in tandem with Rollux. For DAOSYS we’ve completed development of the Continually Rebasing Index Token. This standardizes the tokenization of DAOSYS vaults. That means we’re on track to apply the Autonomous Service Engine as a bridging solution for Layer 2. This will enable multi-layer DAO architectures that reflect Layer 1 assets onto Rollux for more efficient management with Layer 2.
This project is also driving the creation of new development tools. Each DAOSYS vault will come with components useful for customizing the UI for that DAO. This will ensure that users get reliably secure access to new DAOSYS vaults. The creation of these components is currently being incorporated into our development and release cycle.
Combined with Rollux, all of this means flexible DAO platforms that take advantage of Layer 1 DeFi, with the reduced cost of Layer 2 rollups. In the future we intend to extend DAO infrastructure and services through cross-chain transactions. Also, trustless and nearly perpetual management of off-chain resources, like web servers, which a DAO needs in order to operate at scale and compete with traditional business.
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 ZK-Rollups and other Layer 2 technologies.
The project is represented by the nonprofit Syscoin Foundation which is registered in Eindhoven, Netherlands.