TLDR;
- Building off native Bitcoin integration, ckBTC has the potential to greatly expand Bitcoin’s functionality by allowing fast and cheap BTC transactions on the Internet Computer.
- The reality: Centralized entities classify bitcoin transactions and will reject, so called, “tainted” bitcoin.
- Without modification of the ckBTC system there is a risk of ckBTC users receiving bitcoin classified as “tainted”. A risk which we must address.
- The goal: maintain the fungibility of bitcoin and the user’s ability to redeem ckBTC to BTC 1:1 and sell on CEXs without issues.
- Possible solution: Incorporate KYT (Know Your Transaction) services into ckBTC in a decentralized manner.
Intro
With the launch of ckBTC, the Internet Computer provides a fast, inexpensive and decentralized way of transacting bitcoin in canister smart contracts. However, enabling bitcoin and other cryptocurrencies to transact directly on the Internet Computer comes with risks as some crypto transactions are considered illicit by authorities. These risks must be taken seriously.
The most obvious example of problematic transactions are those with ‘tainted’ bitcoin, which is bitcoin associated with illicit activity. Multiple chains and bitcoin users have been affected by tainted bitcoin. While the value of transactions involving illicit addresses represent a relatively small portion of the total (0.15% in 2021), it may increase as the industry moves towards more interoperability, and as authorities increase monitoring and regulating activities. The crypto community may see bitcoin as a fully fungible token, however, this is unfortunately not the case in practice – not all UTXOs are created equal.
ckBTC is meant to provide a fully decentralized way of transacting bitcoin quickly and cheaply using the Internet Computer. However, ckBTC is not invincible from ‘tainted’ UTXOs. Although ‘tainted’ bitcoin is very rare, such bitcoin in transit on the Internet Computer would have unfavorable consequences for the ICP community. For instance, ‘untainted’ bitcoin transacted with ckBTC can get mixed with ‘tainted’ bitcoin, and thus get rejected by central exchanges and other parties.
As a community we need to protect honest users wishing to benefit from quick and inexpensive bitcoin transactions on the Internet Computer. Hence, we are asking the community for support in the endeavor to seek fully decentralized solutions for this problem.
Central exchanges do KYT on all transactions
When you receive bitcoin from a ckBTC transaction, send it back to the bitcoin network, and then to a central exchange (CEX) to sell it for fiat, the CEX may likely flag this bitcoin due to its AML and KYT rules. Consequently, CEXs could reject or even quarantine the bitcoin you own as it has become associated (without your knowledge and beyond your control) with an address linked to criminal activity.
For instance, Coinbase’s User Agreement - Section 5.8 states the following:
“We may also refuse to process or cancel any pending Digital Currency Transaction as required by law, regulation or any court or other authority to which Coinbase is subject in any jurisdiction, for instance, if there is suspicion of money laundering, terrorist financing, fraud, or any other financial crime.”
Similar statements are made in Binance’s User Agreement - Section 2d: User Authorisations
“(d) freeze (or instruct Xfers to freeze) further credit or debit to or from the Linked Wallet due to your breaches of the User Agreement or breach of applicable law or if there is a suspicion of money laundering/terrorism financing or if there are breaches of anti-money laundering/countering the financing of terrorism policies and procedures;”
It must also be noted that regulation around crypto is uncertain, but the trend is clearly moving towards stricter regulations and more controls. The US in particular, is cracking down more and more on the industry, aggressively levying fines and other penalties against crypto lending firms.
Possible Solutions
The most obvious and perhaps most decentralized solution would be to not react at all. Similar to the way bitcoin UTXOs are transparent and traceable, all ckBTC transactions are recorded and thus, illicit activities can be followed by authorities should criminal acts be reported. Unfortunately, ckBTC transactions cannot be reflected back to the Bitcoin network. Essentially ‘tainted’ bitcoin mixed with ‘untainted’ can cause all bitcoin transacted with ckBTC to become tainted and thus, any user of ckBTC might be unable to redeem Bitcoin received with ckBTC. Therefore, doing nothing would mean to expose honest users to the risk of their bitcoin getting blocked or quarantined by a centralized exchange.
Without intervention there is a risk that ckBTC canisters become seen functioning like a mixer with uncertain consequences. This has happened, for instance, to Tornado cash: it is blacklisted by the US Department of the Treasury, making it illegal for US citizens, residents, and companies to use.
As regulation continues to evolve around the crypto industry, doing nothing may put ckBTC canisters in the same category as Tornado Cash in the eyes of authorities in many countries.
Know Your Transaction (KYT) is a process of evaluating transactions w.r.t. fraudulent or suspicious activity such as money laundering or illegally obtained funds. In particular, KYT providers expose APIs that can be used to identify ‘tainted’ UTXOs. Thus, using HTTPS outcalls to call KYT service APIs, the Internet Computer could implement a decentralized process to ensure ckBTC does not transact ‘tainted’ bitcoin. As many KYT service providers do accept crypto as payment, the whole process can be decentralized, i.e., the Internet Computer or the ckBTC canister could reimburse KYT providers in a decentralized way and recover costs via transaction fees. In other words, this whole process would be controlled by the NNS DAO, and therefore fully decentralized.
Way Forward
These are just a few ideas of how the problem of ‘tainted’ bitcoin on the Internet Computer could be tackled. The DFINITY Foundation is fully committed to solving this problem in a decentralized manner to ensure that ckBTC becomes a decentralized service for transacting bitcoin in an inexpensive and fast way without exposing end users to financial risks. As KYT is a very involved process that goes far beyond checking blocklists (unfortunately, simply checking blocklists is by far not sufficient), all options must be explored in detail.
We invite the ICP Community to ponder the situation and get involved in the discussion.