🎉 Share Your 2025 Year-End Summary & Win $10,000 Sharing Rewards!
Reflect on your year with Gate and share your report on Square for a chance to win $10,000!
👇 How to Join:
1️⃣ Click to check your Year-End Summary: https://www.gate.com/competition/your-year-in-review-2025
2️⃣ After viewing, share it on social media or Gate Square using the "Share" button
3️⃣ Invite friends to like, comment, and share. More interactions, higher chances of winning!
🎁 Generous Prizes:
1️⃣ Daily Lucky Winner: 1 winner per day gets $30 GT, a branded hoodie, and a Gate × Red Bull tumbler
2️⃣ Lucky Share Draw: 10
Bitcoin Magazine: What challenges does Rollup face?
Source: Bitcoin Magazine; Translation: Wuzhu, Golden Finance
Rollups have recently become the focus of BTC expansion, becoming the first thing to truly steal the limelight from the Lighting Network in a more widespread attention. Rollups aims to be an off-chain second layer not constrained or limited by the core Liquidity of the Lighting Network, meaning that end users need someone to pre-allocate (or “lend out”) funds in order to receive money, or intermediate routing Nodes need channel balances to facilitate the full flow of payment amounts from sender to receiver.
These systems were initially run on Ethereum and other Turing Complete systems, but the focus has recently shifted to porting them to UTXO-based blockchains (such as BTC). This article does not intend to discuss the current state of implementation on BTC, but rather the idealized Rollup functionality that people have long pursued, which depends on the ability to directly verify Zero-Knowledge Proof (ZKP) on BTC, which is currently not supported.
The basic structure of Roll is as follows: a single account (UTXO in BTC) stores the balances of all users in the Rollup. This UTXO contains a commitment, which exists in the form of the Merkle root of the Merkle tree, committing to all current balances of existing accounts in the Rollup. All these accounts are authorized using Public Key/Private Key pairs, so in order to make off-chain expenditures, users still need to sign certain content using the Secret Key. This part of the structure allows users to exit at any time without permission, just by providing proof of transaction that their account is part of the Merkle tree, they can unilaterally exit the Rollup without the permission of the operator.
The operator of Rollup must include a ZKP in the transaction to update the merkle root of the on-chain account balance during the process of completing off-chain transactions. Without this ZKP, the transaction will be invalid and cannot be included in the blockchain. This proof allows people to verify whether all changes to the off-chain account have been properly authorized by the account holder and whether the operator has not maliciously updated the balance to steal user funds or dishonestly reallocated them to other users.
The question is, if only the root of the Merkle tree is published on-chain and users can view and access it, how do they put their branches in the tree so that they can exit without permission whenever they want?
Suitable Rollup
In an appropriate Rollup, every time a new off-chain transaction is confirmed and the Rollup account’s state changes, the information is directly put into the blockchain. It is not the entire tree, which is too absurd, but the information needed to rebuild the tree. In a simple implementation, the summary of all existing accounts in Rollup will include the balance, and the account will only be added in updating Rollup transactions.
In more advanced implementations, balance differences are used. This is essentially a summary of which accounts have increased or decreased funds during the update process. This allows each Rollup update to only include the account balance changes that occurred. Then, users can simply scan the chain and ‘compute’ from the beginning of the Rollup to determine the current state of account balances, allowing them to reconstruct the Merkle tree of the current balance.
This can save a lot of expenses and Block space (thus saving funds), while still allowing users to ensure access to the information required for unilateral exit. The rollup rules require this data to be included in the formal rollup provided to users using the Block chain, i.e., transactions that do not include the account summary or account differences are considered invalid transactions.
Expiration Date
Another way to address the issue of user withdrawal data availability is to store the data outside of the Block chain. This introduces subtle issues where rollup still needs to enforce the availability of the data elsewhere. Traditionally, other Block chains are used for this purpose, specifically designed as data availability layers for systems like rollup.
This creates a dilemma of equally strong security. When data is directly published to the BTCBlock chain, Consensus rules can ensure that it is absolutely correct. However, when it is published to an external system, the best it can do is verify the SPV proof, that is, the data has been published to another system.
This requires verifying that the data exists in other on-chain proofs, which is ultimately an Oracle Machine problem. The BTC blockchain cannot fully verify anything except what happens on its own on-chain, and the best it can do is verify ZKP. However, ZKP cannot verify whether the block containing rollup data has been truly publicly broadcasted after it was generated. It cannot verify whether external information is truly public to everyone.
This opens the door to data withholding attacks, that is, creating commitments to publish data and using it to advance rollup, but the data is not actually available. This prevents users from withdrawing funds. The only real solution is to rely entirely on the value and incentive structure of systems other than BTC.
Dilemma
This creates a dilemma for rollup. When it comes to data availability, there is basically a binary choice of whether to publish the data to the BTC blockchain or elsewhere. This choice has significant implications for the security, sovereignty, and scalability of rollup.
On the one hand, using BTCBlock chain as the data availability layer will set a hard limit on the scalability of rollup. Block space is limited, which sets a limit on the number of rollups that can exist at one time and the total number of transactions that can be processed off-chain for all rollups. Each rollup update requires Block space proportional to the number of accounts whose balance has changed since the last update. Information theory only allows data to be compressed to a certain extent, at which point there is no more potential for expansion.
On the other hand, using different layers to achieve data availability will eliminate the hard upper limit of scalability gains, but it also brings new security and sovereignty issues. In the Rollup using BTC to achieve data availability, if the data that users need to extract is not automatically published to the blockchain, the state of Rollup cannot change. With Validiums, this guarantee depends entirely on the ability of the external system used to resist deception and data hiding.
Now, any Block producer on the external data availability system can hijack the funds of BTCRollup users by producing a Block instead of actually broadcasting that Block, thus making the data available.
So, if we really achieve the ideal Rollup implementation on Bitcoin, and truly achieve unilateral user withdrawals, what would that be like?