ckBTC and KYT Compliance

To repeat: our intent is to deliver a first version of ckBTC, with reasonable trade-offs, so that the real iterative process of ckBTC can begin. There is no security shortcut being taken. There will be MANY iterations and improvements from learnings from ckBTC being used. We see a future where there are multiple KYT providers offering services on ICP. But that won’t be built quickly, as it requires KYT providers to cooperate and to do some implementation work on their end.

TLDR;

  • On-chain KYT will be an important piece for future DeFi
  • Want to finish first version of ckBTC that address community concern and then iterate
  • We are working towards having multiple on-chain KYT providers
  • Ongoing discussions with various KYT providers (e.g. Elliptic, TRM, Crystal Blockchain, Merkle Science) are ongoing to establish direct interaction with ICP without an intermediary.

Feedback

First of all, I want to highlight that for as active as this thread is, DFINITY’s intent is exactly what has happened (apart from that I should have been clearer in my previous post): get feedback on what DFINITY is planning. We at DFINITY do not see this as a bug, but rather a feature of the system/community. There are many, many plans DFINITY has which have iterated and gone through revision.

My only ask is that folks remember:

  • Please keep it civil
  • We all want ICP to win. DFINITY is actively looking for best arguments and rationale to improve any plans. We have no problem iterating on anything.
  • Perfect can be the enemy of the good. It is reasonable not everyone would make the same trade-offs, but let’s acknowledge or respect that.
  • ckBTC is just one smart contract on the application layer. There could be many with many different rules. It is unlikely that there can be a smart contract that satisfies everyone’s intent and needs, but that’s ok!

Decentralized KYT

As things in the background were still evolving, I may not have been clear enough on our approach to KYT providers in my previous posts, so please allow me to further clarify. The general idea is that there will be a number of different KYT providers in addition to Chainanalysis. Ideally, all entities providing KYT services on the market would offer their services also directly on the Internet Computer via their own canister. DFINITY has been intensively talking to various KYT service providers, including Elliptic, TRM, Crystal Blockchain, Merkle Science, to make this happen and we are making good progress on this front.

The main issue we’ve encountered is that KYT providers are currently not set up to do this, meaning: 1) they cannot push API keys to a canister and 2) cannot receive ckBTC, ICP or cycles as payment for their services. There is no telling how long it would take to get them to this point, which is why we’ve opted for an immediate solution with Chainanalysis to be able to release ckBTC sooner rather than later.

As the regulatory landscape is changing, so are KTY requirements. Offering KYT services directly on the Internet Computer will become an important enabler for DeFI on the Internet Computer. We envision that such services can be paid for in cycles, just like other services. Indeed, KYT will become a much broader issue than just ensuring that bitcoin that is transacted via ckBTC is sellable on centralized exchanges. Whether or not one likes the change of the regulatory landscape, as a community we need to ensure that we are able to address such challenges and provide the necessary building blocks for DeFI on the Internet Computer to flourish.

Why KYT for ckBTC?

Some of you have been asking why bother with KYT services in the first place? DFINITY and other members of the ICP ecosystem have been strongly advised by legal counsel of the following:

  1. KYT will minimize the risk to users of ckBTC
  2. Deploying a version of ckBTC without KYT puts DFINITY at risk, even if the ckBTC canister is controlled by the NNS.

Why Toniq?

As mentioned, KYT providers are currently not technically equipped to directly interact with blockchains, so we have reached out to the ICP community for help to launch ckBTC with KTY possible and to act as an intermediary party between KYT providers and the Internet Computer. A few came forward and were supportive, and Bob Bodily & Toniq were particularly eager to participate in a solution and move quickly due to their interest in BTC Ordinals. If other parties want to offer similar help, please contact me. The community’s eagerness to help contribute in cases like this one is greatly appreciated!

As outlined above, we want to move towards a solution where there will be a market for KYT services on the Internet Computer and where KYT providers can make money with their services. For this to happen, we will need substantial volume and a flourishing DeFi ecosystem. Also, there will very likely be additional services around KYT that providers could offer including risk mitigation and additional forms of screening that users could do prior to initiating a transaction.

I hope I’ve managed to bring more clarity to the situation. Again, the first steps that are being taken, are obviously not the perfect solution and were never meant to be the final step. It is just a way to immediately bring ckBTC to its full functionality. I can’t stress enough that this is an ongoing journey, and that all ckBTC solutions are possible, and everyone in the community is welcome to become KYT API key holders or implement their other KYT processes using other KYT providers.

How to become a KYT API key provider for Chainanalysis KYT

We do take the concerns you all raised seriously and are currently working on a mechanism so that any party can add an API key to ensure that KYT via Chainanalysis does not depend on a single API key provider (i.e., Toniq). Naturally, the mechanism still depends on Chainanalysis. However, this is their core business.

Nevertheless, as said above, we are also working on extending the set of KYT providers.

Controller of ckBTC

There have been some discussions about the controller of ckBTC. Some options that have been mentioned are

  • No controller (blackhole)
  • A “multisig” setup
  • An SNS
  • The NNS

Right now, we view the NNS as the only practical option (cf Manu’s post in this thread). This does not mean that the NNS could in future assign the control to another DAO and we look forward to ideas from the community on how to improve this.

Next steps:

  • We will take some extra time and extend the “Chainalysis-KYT’’ canister to allow multiple parties to provide API keys. The list of principals that are authorized to provide Chainalysis API keys are set via NNS proposals, and every authorized principal can provide one API key. The canister can then rotate via the available API keys, and remove ones that are not working. The provider of the API key used for a screening gets the rewards for that screening. We plan to submit three proposals next week:
    1. First, to install this Chainalysis KYT canister without any principals that can set API keys.
    2. Second, a proposal sets an initial list of principals that can provide API keys. This proposal will contain Toniqs principal, and other principals that are willing to participate.
    3. Third, a proposal to upgrade the ckBTC minter to use this KYT canister and enable BTC → ckBTC conversions.
  • After that, we will continue working to get other KTY providers to offer their services directly on chain so that no third party is needed to inject API keys into a KYT canister.

Thank you all for your insights in this forum and beyond, and for your support in shaping the future of the Internet Computer and its ecosystem!

We will be holding a Twitter Space tomorrow at 15:00 CET to discuss this in more detail as a community.

19 Likes