A Zero-Knowledge Roll Up (ZKRU) for transactions is possible on the Bitcoin network.
ZKRU introduces additional code vulnerabilities. However, if done correctly enables a tradeoff of speed and cost for the security of Bitcoin network verified transactions. I am not suggesting that the ckBTC design is bad. In fact, it is cheaper and less likely to introduce code that can be hacked. Furthermore, ckBTC is a prerequisite for what I would envision as a zkBTC on the IC. However, it does not inherit the BTC network security. BTC network security is likely a large draw for BTC holders. In addition to the smart contract example provided it would also require a wallet extension which can capture self-custodied BTC signatures needed in order to transact zkBTC on the IC.
I am a beginner in this space and my next lines of investigation will be:
- How does the ZKRU post data?
- Will capturing bitcoin wallet signatures be sufficient?
- How do we make it compressed (only the minimal amount of transfer required)?
I will attempt building a ZKRU on a BTC testnet and then plan to attempt to build a canister for the processes I am doing off chain. I thought I would share because I am currently in the middle of many projects.