ckBTC/KYT SNS ideas

An opportunity to share ideas on this subject.

Points covered in other posts:

  • KYT providers do not accept ICP, and probably don’t accept BTC either at this time
  • The goal of decentralization naturally steers the ICP ecosystem away from centralized KYT providers (trusted points of bias and failure)
  • The KYT solution needs to functionally maintain the equality of BTC:ckBTC both in number and value
  • Must be resistant to hostile takeovers

(Edited to refine requirements)

This is a great example of a crowdsourced list of tainted BTC. The IC can host its own on chain, eventually including tainted ICP, ETH and even ckBTC and ckETH.

Currently only whitelisted wallets can forge ckbtc?

It makes sense to use the KYT providers like Chainalysis because those are the providers that the exchanges like Coinbase use.

If we try use a different list they may not match 1:1.

1 Like

It is widely acknowledged that further development and iteration of ckBTC is needed in order to have a neutral and decentralized final product. Therefore I’m climbing onto the dunking booth in the hope that someone wants to take aim at this proposition:

  • SNS is created for the purpose of handling BTC KYT
  • SNS governance token is ckBTC (ICRC-1)
  • SNS declares BTC unclean or clean again, adding or removing it from KYT Registry
  • Age/staking bonuses reward governance participation (similar to NNS)
  • Voters can follow KYT Poviders/researchers (similar to NNS Named Neurons)
  • Anyone can propose a Registry change for a fee (ckBTC) proportional to the amount of BTC affected (somewhat similar to NNS)
  • Contributors to the KYT Registry are rewarded with BTC taken from BTC/ckBTC conversion fees, proportional to their submitted total of unclean coin currently in the Registry
  • SNS voters are rewarded with ckBTC taken from proposal fees proportional to their voting power
  • Unclean BTC that is already in canister is placed at the back of the line for ckBTC redemption; thus abandoned and lost ckBTC will correspond to unclean BTC that is never retrieved, helping maintain the 1:1 value of BTC:ckBTC


  • Participants are those who care most about BTC value
  • High value of ckBTC protects against hostile takeovers
  • Those who want no KYT can follow a KYT Provider who votes to mark everything clean, effectively raising the ‘tainted’ threshold for every vote
  • Incentivises both adding and removing BTC from the Registry (based on reward disbursements and followers)
  • Incentivises legacy KYT Providers to become Web 3 KYT Providers
1 Like

I was also thinking about this, but I see some challenges with that approach.

  1. The SNS works like the NNS, meaning that you have to lock tokens into a neuron to get voting power. Why would people choose to lock up their ckBTC in order to get voting power? Do they get rewards? Where would they come from?
  2. One risk of ckBTC is that the supply is unpredictable, because there is a lot of bitcoin out there, and anybody can suddenly decide to convert a huge amount of BTC into ckBTC and take over the DAO.

For those reasons, I think an approach with a separate token be the governance token that eg governs ckBTC and KYT could be more promising. Then you could also imagine that in the future this SNS governs ckETH / ckERC20 tokens. Wdyt?


Thank you for your thoughts, @Manu!

Yes, they receive rewards based on their voting power. These rewards are paid out periodically from the ckBTC collected from proposal fees. A proposal fee might, for example, cost 1% of the BTC targeted for designation.

I agree. I don’t mean to be flippant, but there is a lot of money out there, such that even BTC itself is not fully immune to hostile takeover. There are several things however that I think protect against that here.

  1. ckBTC must be locked to vote. This allows for setting thresholds and controls that I think can mitigate this risk. Voting power is one of the levers that can dilute the influence of sudden attacks.
  2. Proposal fees are another lever that will further dilute the equity, and consequently the voting power, of anyone trying to make drastic changes. Admittedly, this is a relatively minor factor.
  3. Limits might be set for how much BTC can be targeted by a single actor in a certain period of time, for example, 100 BTC/day/user. There may be a better solution but I hope my point gets across.
  4. An attacker making drastic changes to the Registry risks drastically lowering the value of their own BTC, inasmuch as the Registry gains adoption.

Don’t you run into the same problems with a separate token? If the token can be traded, it can be purchased by the highest bidder. The advantage of ckBTC to my mind is that it’s value is already baked in.

1 Like

It seems best to me that the people in charge of securing a coin’s value are the people invested in that particular coin. For this reason it may be better to have separate DAOs for each coin’s KYT Registry, although these DAOs could basically be SNS clones.

Yes, I understand. My intent here is to work out a model that can facilitate an eventual transition to Web 3 principles, not to cancel the KYT currently in the works. I believe the IC can and should take the lead in this transition.


To clarify, I can see legacy services like Chainalysis participating in this SNS because they are already doing the research. With early adoption of this model they can potentially reap sizable rewards for almost no additional labor. Their reputation would give them an edge as a followed KYT provider, although they would have to be okay with contributing to a public registry.

Does that make sense?

After further thought, higher proposal fees of 10% or more might result in both increased staking rewards for voters and additional security from hostile takeovers. It could also prevent proposal spamming.

The major problem I see here is that KYT Providers are incentivised to downvote any proposals other than their own. That is not a minor issue so this model still needs work.

I’m happy to receive criticism from others as well, or entirely different SNS models proposed. This is a work in progress until a solution is found.

As long as KYT is necessary, then even if other cryptos are eventually replaced by ICP, we will still need an on-chain solution for ICP itself.

IMHO, applying KYT is a good choice once US crypto regulations have more clarity & certainty.
Applying KYT right now still cannot guarantee 100% the ckBTC can not be tainted / played by bad actors. We can revisit the KYT method later after the mindset of the regulators toward crypto industry are more welcoming and friendlier.
For the time being, I suggest the best way to solve this for short-medium term is continuing to use the whitelist method that currently has been implemented.
The whitelist of entities who can mint ckBTC can reiterate the same way of how ICP on-boarding new node providers. Such entities eg. CEX like binance, coinbase (which already done their internal KYT for every BTC they have), foundation (like dfinity), VCs, or BTC miners (with their virgin BTC).

Thanks for your input, @ajismyid.

This looks more like an NNS than an SNS solution to me, but I can see some advantages for trust and liability. Feel free to share any more details you might envision.

An Experimental Community about 021 Shib is considered a successful community experiment, but its experiment was solely focused on increasing market value. I want to launch a community experiment within the ICP ecosystem with the following objectives:

  1. to encourage more developers to enter ICP development
  2. to develop any project the community desires, including metaverse, games, music, movies, defi, etc.

The main idea is to open a codebase that will be used to implement the community’s desired projects, which can be decided through SNS voting or by publishing an Ethereum token called 021 (zero to one). This token will be used to vote on which project we should build, and then the community’s developers will begin building the project and promoting its development. Additionally, the first project the community will work on is the 021 project in order to achieve everyone’s ideal project, which can be either WEB2 or WEB3.

Our philosophy is that anyone can develop any project they wish, and the community will work together to implement it. Each developer will be recognized and rewarded with a unique identity. We hope that this document will be improved by the community and become a white paper that the ICP community can implement.

FAQ: ICP is a relatively new entity and will be more difficult to establish than projects on ETH. However, this difficulty will prevent copycat projects from emerging.