ckBTC and KYT Compliance

Guess we need an NNS proposal of this with Dfinity abstaining from the vote, letting the community choose.

2 Likes

I do not think that Dfinity should abstain, i would suggest respectfully.

Dfinity is the inventor of CKBTC Canister. In it’s opinion, the CKBTC canister is not feature complete until KYT is implemented. Therefore it is advocating for KYT at the ckbtc canister level; NOT protocol level.

Its voting power is strength of it’s advocacy.

Yes it’s built but I don’t see why Dfinity must be the one launching it, wouldn’t it be better if the community chose which fork is the best one instead? By launching an “official” version of ckBTC first they are making it harder for alternatives.

This is a bit of an oversemplification imo, issues don’t always arise immediately and even if they do they are often handwaved until they start doing serious damage, see Terra. In ckBTC’s case if the inconveniences aren’t big enough, say a small country being blocked from using ckBTC, there might never be the incentive for the ecosystem to switch to a different implementation, waiting for a disaster to happen before “minor” inconveniences can be solved seems like a bad practice to me.

If all subnets’ blocks were public, dApps shouldn’t have to do anything, otherwise yes they would either have to expose their internal ledger through APIs or implement KYT on their own, both of which aren’t ideal solutions.

1 Like

I understand that not everybody is excited about using KYT providers that are centralized and follow rules set by certain governments, and I feel the same way. That being said, I think the painful reality today is that almost everybody relies on centralized exchanges because you can’t pay your rent and groceries in BTC/ETH/ICP yet. For such users, I think it’s important that they can use ckBTC knowing they can use the BTC they get out of ckBTC at centralized exchanges, and since those centralized exchanges use KYT checks, the only way to achieve that is to incorporate similar checks in ckBTC.

This is just my opinion, but ckBTC is controlled by the NNS, so I can submit a proposal but it’s up to the voters, and others are free to submit different proposals. And separately, all code for ckBTC is open source and available under a permissive license, so anybody is free to deploy a different version of ckBTC that can take different decisions (we documented the steps to deploy this here). I don’t think it would be bad to have different versions of ckBTC available: I personally would want to use a version with KYT, because I am personally not affected by the KYT checks and I want to be sure I can sell the BTC that I get out of ckBTC on a CEX. However, I think it would be great if there is another version available for users that don’t worry about tainted BTC and want an approach without any KYT and centralized parties. The main point I want to make is that the IC is neutral in the sense that you can run any canister you like on it, including other versions of ckBTC

7 Likes

I think this logic is wrong and is made to persuade the reader that a centralized entity such as US government is needed to make BTC functional.

However if I remember correctly, there was an option to buy Tesla with BTC not too long ago.

Also there are countless ATMs across the world the US included where customers can exchange their BTC for cash and vice versa.

The whole point of having an international infrastructure that is supposed to last generations is that it needs to avoid being used as a political tool. Hence it needs to be up to developers whether their dapps use KYT or not. It should not be a default because then only one government would control the flow of transactions.

3 Likes

Been attempting to not weigh in too much, but since we’re just talking about deploying canisters here, and that is basically free, and we have a binary choice, it seems like maybe we just do both and see which one the market wants.

ckBTC can implement KYT and we can spin up a twin called icBTC or something like that is an exact copy with KYT turned off and then the market can decide? Seems like DFINITY is keen on doing KYT, so let them do it and if you don’t want kyt you can deploy your own. It may even win.:man_shrugging:

9 Likes

What does this even mean?

Why can’t they deploy without KYT and if the American government don’t like it they can develop their own version of icBtc.

Why does it have to be the other way around. Any reasoning behind this approach?

2 Likes

They can obviously do either. It seems to me like they are going down the path of doing it. As an independent foundation, they can do what they please. The community can do the other. If the perceived reality were the other way around I’d propose the opposite. As a US citizen, if Dom came out as anti-KYT and said they’d never do it, I’d advocate for spinning up an instance that does do it and I’d likely use that one due to the jurisdiction I live in. They both would represent bitcoin under most use cases…people have different risk tolerance and I’d imagine a number of these are going to pop up eventually anyway.

For the record: I want to live in a no KYT world, but I don’t and I’d like to get my btc out of hoc if I ever need to. For example: ICDevs.org would prefer to get ckBTC donation with KYT so we know we can get it out. We use a US based CEX to do so. We’d need KYT. We can still advocate for a world where it isn’t necessary(or even possible).

5 Likes

You see, now that is a better reality to live in. If Americans like KYT they can make their own.

Everyone else in the world is playing by their own rules and not necessarily following what America has to say.

That offers a level playing field as developers have an option whether to add KYT or not.

By making KYT a default in ckBtc developers do not have an option.

By making it optional, they have a choice whether to include KYT in their dapps or not.

And I believe that is the better approach for everyone; not just us but the generations that come after us. They should not be boxed in to following rules that were made even before they were born which would be the case if the ckBtc team chooses to add KYT.

1 Like

This proposal, along with maturity modulation, tells me that Dfinity is completely divorced from the ideology underpinning crypto and will go along with all regulations enforced in the US. If this happens, they will be building not the World Computer, but the NATO computer. There is a reasonable chance that Russia and the US will revert to an antagonism not seen since the 1960s. At that point, I can see Dfinity taking steps to exclude Russians as they are now excluding Iranians. I say this as an opponent of Iran’s regime and the Russian war in Ukraine. I say this for ordinary Iranians and Russians and Chinese who have nothing to do with the bad decisions their rulers take.
Although not a huge step in itself and understandable in pragmatic terms, for me personally this is a deal breaker. If ckBTC gets introduced with mandatory KYT I will initiate my neuron dissolve and start looking for cryptos that are a better fit for my belief system.

4 Likes

I want to highlight my main thought: ckBTC canister is a smart contract on the application layer, and there could be many, many versions of it with different rules and goals. I see some people pick up on this and others focus on other areas, so i thought I should drop my two cents because I think to me this is the most important idea.

Please see these quotes:

In short… ckBTC canister (the one @Jan describes) being developed by DFINITY with collaboration of few others is just one example of a way to use ckBTC. DFINITY (as the main authors of this particular canister) are proposing that the canister be “worry free” so any users who use it are not afraid they have tainted BTC they cannot use. The initial priority is the user experience.

Inversely… this is just a smart contract, people can (and should) deploy their own to match their goals. I could easily imagine a situation where some prefer the KYT because it offers some guarantees of future liquidity (e.g. they can use the BTC on Coinbase) and I can imagine others folks who do not have such a problem of having tainted BTC so they use other canisters.

Now, I am not deaf to folks, I am well aware that some people fear “well if dfinity does not do it this way, I do not have the time or energy to pick up the baton and do it another way.” That is totally fair. However it is my belief and experience in crypto, that if there is a want/demand for it, some one WILL build a ckBTC-like canister with different rules (e.g. no KYT). That is why I am not worried, quite frankly.

In my experience, protocols see this happen all the time.

In that light, i think ckTC is the initial experiment but the ecosystem will birth what needs to be birthed and users will use what they prefer.

5 Likes

It would be easier just saying, dfinity is doing this because it is a priority of what Americans want.

I think the fear is more along the lines of, “If Dfinity is willing to compromise on the principle of neutrality in this case, what else are they willing to compromise on?”

4 Likes

Well this is not true. The priority is very clearly: giving users of the canister the highest likelihood that when they deposit BTC or use ckBTC they will get BTC which has the highest probability of being used. No surprises.

It really does not matter to DFINITY (or users!) why Coinbase or other CEXs do not let tainted BTC be used, what matters is that they do, which causes a risk on the ckBTC user.

1 Like

I think (counter intuitively and perhaps ironically) you may have a loftier estimation than I do of what ckBTC canister and DFINITY’s goals here are. The goals of this particular smart contract are trust (e.g. no surprises, no security holes), adoption and providing a good user experience.

Inversely, I think I have a high belief that community will just produce the smart contracts community wants… and community will use the ones people need at particular times. Different strokes, for different folks. That is much more Web3 IMO, rather than treating ckBTC canister as the one shot to get this right and satisfy all the needs. I think Web3 means it is permissionless to create new smart contracts.

From all that I’m gathering from DFINITY:

We hear you guys, but we ARE going to do this. If you don’t like it, make you’re own version.

Disclaimer - I’m neutral on this, honestly. I’m neither for nor against it. I see the pros and cons. Not affected if it’s implemented or not. I’ll be happy with whichever way this goes.

Just, think it’ll be nice if there could, at the very least, be a temp check proposal, regardless of if DFINITY plans to listen or not.

3 Likes

I am not saying you implied this, but I will slightly (unfairly) piggyback off your comment to say that DFINITY does listen actively to folks, debate it, and read across socials and others what people think. I could be wrong, but i believe the risk of “tainted BTC” came from an ICP developer for example.

This is not my call, but frankly I think a temperature check proposal for a smart contract like this is overkill. I think it makes sense more for things in the replica or protocol, not for smart contracts like this. I sometimes think the dialogue around ckBTC was seen too much as a protocol change (which I agree SHOULD be actively debated) because it came from BTC integration discussions. But I think ckBTC is a smart contract canister, and it should iterate based on user feedback and usage… and there should be many!

2 Likes

It would be easier if you rename the project American Bitcoin…. Because the CEX that seems to be the focus of this feature is Coinbase which is an American company.
Just give them the whole name; it would make the intentions much more clear

I don’t think it’s necessarily overkill. More like, letting people show their opinion with their ICP, best way to show it, IMO.

Regarding the whole debate, I actually understand DFINITY’s perspective. It’s better to be on the good side of regulation, rather than trying to stick to the wild west mentality. I, too, would like to move ckBTC around without the worries of having tainted ckBTC going to my exchange account, risking it where I have too much to lose.

On the other hand, makes me feel slightly uneasy, knowing there would be central entities involved. Makes it seem a bit less… DeFi. Almost a little bit like CeDeFi.

Either way, if DFINITY thinks this is the absolute best route to take, I’m with you guys. After all, the team did work hard on it.

I am not sure I understand YOUR intent.

Are you proposing that a ckBTC canister where users could end up (unbeknownst to them) with BTC they cannot use in exchanges to be a good experience? Are you saying that the smart contract should optimize for the experience of those with tainted BTC?

I understand you do not like US laws, but what is it you arguing for?