Progress update
We are nearing completion of the feature for a Beta launch. I would assess that we are currently between 90% and 95% complete for the Chromium / Beta launch.
The plan for the release of the Bitcoin integration feature (incl. threshold ECDSA) is as follows:
- Chromium (Beta) release in some weeks, target is late June: functionally complete implementation
- API for Bitcoin testnet Integration available on IC mainnet for public consumption
- Threshold ECDSA deployment with a test key that will be deleted after a Beta phase available on IC mainnet for public consumption
- Documentation, videos, and a sample dApp on how to use the feature
- GA (general availability) release targeted at ~1-2+ months after Chromium: production-ready implementation
- API for Bitcoin mainnet Integration available on IC mainnet for public consumption
- Threshold ECDSA deployment with the production key that will be hosted on two large subnets on IC mainnet for public consumption (NNS as key backup subnet, another large subnet as signing subnet)
- ckBTC canister
The Chromium (Beta) release will allow the community to build canisters based on the Bitcoin and threshold ECDSA APIs, i.e., create fully-functional integrations with Bitcoin. The GA release provides fixes towards production readiness, e.g., in the areas of performance, and enables Bitcoin mainnet and the final production threshold ECDSA key.
We are now very close to the Chromium / Beta release. Next, you find the items that are still missing for the Bitcoin part (threshold ECDSA not considered here). Many of those are small items and/or already progressed quite a bit in their implementation.
- Finalizing the API for sending transactions
- Implementing the API for transaction fees (get_current_fee_percentiles)
- Finalizing pagination support in get_utxos
- Parameterizing the cycles accounting for the feature
- Improving checkpointing performance (optional for Beta)
- Hard cap Bitcoin payloads to 4MB
- Improving finalization rate behaviour under heavy load of Bitcoin requests
- Make DoSing the Bitcoin subnet more difficult
- Updating the replica version to be shipped for the SDK release
- Writing a documentation Web page
- Recording tutorial videos
Towards the GA release, these are the major items to be fixed:
- Benchmarking
- Further performance improvements
- Security enhancement: Allowing the detection of very long forks
- Security enhancement: Move to larger subnet (potential performance implications to be assessed)
- All required integration tests completed
- Code cleanup
Hope this gives you an impression of where we stand and what we still need to work on.