ckBTC and KYT Compliance

Okay, what is your definition of CYBERSPACE?

What about AUTONOMOUS CODE?

My definition of cyberspace is a realm that has no servers and as a result no geography. KYT is very a very geographical feature which would make the IC another Amazon as a centralized geographical entity is prioritized.

And my definition of autonomous code is a code that has no dependencies. In this case the dependency of KYT is OFAC which is an American organization.

This to my opinion goes against the initial intent of dfinity when it was founded that aimed on prospering cyberspace and proving an autonomous infrastructure.
But I could be wrong since i am not part of the founding team… but it could be nice if they stated what their mission was and what they are doing to abide by that mission since that was the selling point to a lot of developers in being interested on the project.

2 Likes

To be fair, regulation is not limited to just the US, especially in regards to AML. The EU is also very strict, too. If anything, if the problem is big enough, the tainted BTC would be a problem in both regions simultaneously.

Here’s a related piece of news that we can consider tainted bitcoin.

If we did have KYT, that bitcoin would not make it’s way onto the IC. If it did, it’d be bad for all of us. It’s a very real possibility that something like that could happen without such measures, which coukd put us all at risk.

Instead of KYT, you can make a warning message when withdrawing funds.
Neutrality must be absolute. Trust depends on this.
Partial neutrality will destroy trust, as it introduces unpredictability.

2 Likes

Or simply opt out and not use ckBTC.

This seems to have escalated nicely… and I still don’t see an answer to the questions I asked what feels like an eternity ago: is there a way to follow a hash throughout the ckBTC ecosystem from the moment it’s minted from BTC to the moment it leaves and is transformed back to BTC, meaning that any tainted BTC coming into the system could be traced all the way through and out again, should that be required?

Any cryptocurrency we use could be considered tainted at any point in time, including ICP. BTC is the current regulator focus. Let’s not go through this over and over again and let’s focus on the platform features that we really need?

I also find it ironic that the most marketed and trumpeted feature of Internet Computer over the last few months - the feature that’s been all over the socials and in interviews - is now “just another smart contract that you can use or not, or create your own version of”.

An observation. Nothing more.

1 Like

It is a question of values, which is reflected not only in ckBTC, but also in most IC products.

Blockchain values.

  1. The default assumption is that users are good guys. So a no-censorship mechanism is used. What if some users do bad things? Penalty mechanism after doing something through data transparency.
  2. The default assumption is that power holders (e.g. nodes, developers, foundations) are bad guys. So use consensus mechanism, open and verifiable data.

IC’s values look like.

  1. Default assumption that users may be bad guys. So trying to implement KYT mechanism on ckBTC, users who pass the vetting are only considered good guys.
  2. Default assumption is that power holders (e.g. nodes, developers, foundations) are good guys. So we have to trust KYT service providers on ckbTC?

Doing this is not just a matter of ckBTC, it’s a matter of what values IC wants to demonstrate.

Implementing KYT on ckBTC is without crypto spirit.

6 Likes

I think it’s important for the Dfinity team to answer the question, what is the mission of IC and what are the core values of the Dfinity team?

2 Likes

I think DFinity is missing the point here, this is all about the message that this KYT is going to send to the world and not only to the IC bubble, because as it touches Bitcoin, it will reach the entire world.

The middle ground I can think of here would be that if DFinity really wants to release the ckBTC feature under its name and thinks it needs KYT in order to protect users from the US hammer, then do it. But release another version of it without KYT and promote them equally, like so you will most likely appear neutral to the world.
And neutrality is paramount for a blockchain that dreams to become the world computer.
Or don’t release it under the DFinity name.

In other words : You wanted a “World Computer” @dominicwilliams @Jan , now you have a world community, and I really hope you will be up to the challenges that comes with it.

4 Likes

I don’t really have much to add, but I think some people are missing an important piece.

When we say that it’s “only” the US government that considers KYT mandatory, then we forget how good the US is at exporting their policy. (Yes, some people would call it ‘forcing their policy on other countries’, but that’s besides the point) If the US demands KYT, then a gigantic portion of the world (at the very least in economic measures) follow suit and will also demand KYT compliance.

What I’m trying to say: this is not only about US citizen/inhabitants - KYT restrictions affects a substantially larger amount of people than ‘just’ the US population.

4 Likes

Here we go again…

Think about the Monarchy system in England.

If the Queen requires XYZ… then that’s not a problem since the empire had concurred most of the world.

See the problem here; convenience does not make a choice or option right.

You have to think deeper about what led to the current state of events.

So I think you’re wrong by assuming that just because the US says this is how we do KYT, then the rest of the world would blindly agree to the same principles. Mind you these decisions are made in a centralized manner and not that Americans would be in polls or election deciding on what goes in KYT or not. But it’s rather a committee that is centralized and probably with small number of people that would make that decision whether a BTC is tainted on or not. That is not a fair playing ground to rely on when doing world wide business transactions. I probably said it before but just let the developers who use ckbtc have an option of adding KYT if they want to obey the jurisdictional rules in this case if they are doing business in the US. And the feature should not come as a default.

1 Like

I also feel strongly that the question of:
“Why is this not an optional feature”

Is being sidestepped?

Is there are reason why Dfinity is intent on making this mandatory?

1 Like

I absolutely think your opinion is also the best approach

And it would even help if this service we’re debating is put out there and optional, for those who want to use something readily available

I.e. out the box solution

Ok maybe I see the issue

get ckBTC

Move it into the IC to a service that doesnt verify

Swap into ICP

Get ICP out to exchange

Buy Island

Can this be an issue perhaps?

1 Like

I understand the issue at hand and appreciate the fact that we are discussing it. However, I am perplexed as to why we have just become aware of this problem now. Additionally, this puts the NNS in an awkward position where they have to make a decision. The management of ckBTC should not be the responsibility of the NNS. Independent entities could have created it and determined whether or not to implement KYT. I believe that Dfinity is not giving the community enough space to develop solutions and compete with each other. Developers need the freedom to build these verticals. If people know that Dfinity is already working on something, they may not bother building it themselves.

Let someone else build this thing and they and their users can assume regulatory risks. Why subject the DAO to this risk at all? $ICP is already regarded as centralized by many, why bring KYT and give competitors more ammo?

3 Likes

I respect and appreciate a lot of your work @bitbruce so I definitely think you are intellectually honest person who is sharing what they see. While I still think this conversation is a bit of a red herring, (as I have stated: I think there should many, many smart contracts with different rules and goals), I do respectfully disagree on some things so I will address the assumptions you have.

  • Default assumption that users may be bad guys. So trying to implement KYT mechanism on ckBTC, users who pass the vetting are only considered good guys.
  1. I can see what you mean, but the default assumption is NOT that users are bad guys and that only “those who pass vetting are good guys”. A more accurate interpretation would be:
  • The assumption is not that the good guys are those who pass “vetting”. The assumption is that users who find out (through no fault of their own) they cannot use the BTC in many exchanges in many countries would see it as a very poor experience. There is no moral condemnation of the users with tainted BTC… just mitigating the bad experience for users who use the canister.

  • DFINITY does not think users are “bad guys”. The closest to that statement would be the very common assumption that crypto/web3 is an adversarial environment, so security reviews, attack vectors, etc… are constantly evaluated with trade-offs. In this particular case, I would not call it an “attack vector”, but I would call it a “poor or surprising experience for many people”.

  • Default assumption is that power holders (e.g. nodes, developers, foundations) are good guys. So we have to trust KYT service providers on ckbTC?

I do not think this is true at all. The assumption is NOT that KYT providers are good guys. The assumption is that there are USERS who are willing to trade KYT for a little more guarantee that their BTC can be used in many places. This does not mean that DFINITY agrees or disagrees with the policies of companies or countries, it means it is recognizing them and providing users a choice.

Inversely… and I have to repeat: the intent is that the code is public so people can launch whatever version they want for their own uses. That is the beauty of web3.

Ironically, I think i have a lower estimation or value of institutions or organizations than I think some folks may presume. In my mind, I wonder how much people would care if a lone developer launched a canister with KYT. I assume some people would use it and some would not. Now, I do think treating DFINITY with the permissiveness one would treat a lone developer is a bit naive… clearly DFINITY has some leadership and symbolic value in the community, but I also think we sometimes go towards the opposite extreme where we ascribe TOO MUCH symbolic value to what DFINITY does, specially when DFINITY providers developers and community the tools to do different versions of any opinions (as in the ckBTC case).

Personally, I can very much see why many people would not want to use a canister with KYT. I do not fault people for avoiding such a smart contract. I also think many people just want more guarantees of liquidity (cant fault those people either).

I just do not think we will end up in a world where:

a. People want to use ckBTC-like functionality…but no one else develops another version (I think community will iterate).
b. ckBTC canister has 0 usage because of KYT… and no one iterates or develops a more popular version.

Both would be surprising to me, tbh.

3 Likes

How long will this delay the public access to minting ckBTC?

2 Likes

Just want to add that I love reading all those lines, lost of fairness in all those comments.

I also would like to share the honest fact that we have been waiting this ckbtc for so long, this feels like its gonna add months to the schedule ( that was supposed to be weeks before its launch ) and that adds frustration making me want this ckbtc to be out asap ( and you can still add KYT later )

The non-fungibility of BTC is a bug, not a feature, remember!

If you tried to introduce Zcash in the IC, let’s say ckZEC, you would not even have this problem!

I know the market has chosen BTC but in general terms I would say: first let’s solve the serious bug (i.e. use ZEC) and only then we can proceed further.

@diegop @Jan @Manu I completely understand where you’re coming from with this proposal. I also understand that it is an open network and anyone is free to deploy their own canisters. I’m good with all of that.

I do wonder why ckBTC is being managed by the NNS if it is just another canister. I had a brief but interesting twitter discussion with @bjoern the other day about what makes a canister part of the protocol vs. just being another service.

My layman takeaway was that certain canisters like the Bitcoin canister, root canister, etc. have special privileges to protocol level APIs that other’s don’t have. Canisters like ckBTC don’t have any special privilege so they aren’t considered a protocol level canister.

That being said, I go back to my question of why canisters like the ckBTC canister are deployed and managed under the control of the NNS. This status gives these products a level of credibility and users could perceive them to be something more than they are. It also puts a burden on NNS stakeholders to govern a DFINITY product that isn’t really part of the protocol.

Might it be worth considering having DFINITY spawn their own SNS to manage products like ckBTC that don’t qualify as being core features of the protocol? This way we help maintain the division between the DF and the network itself.

8 Likes

That’s a very good question. I think it’s mainly for pragmatic reasons: the NNS is the biggest and most secure DAO on the IC. The downside is indeed that NNS voters now have the burden of voting on upgrades for this canister.

What are the alternatives?

  1. You mention an SNS, but how would that work exactly? Would there be a new governance token for the SNS that governs ckBTC? Who would hold that token? Where would its value come from, why would people want to have it? If it is not valuable enough, then a hostile takeover to steal the BTC is possible.
  2. We could consider some multisig setup, technically very simple, but then who would be the signers?
  3. Blackhole, no controller. This rules out any further upgrades (outside of fully switching over to new canisters) which makes it very difficult to make further improvements after installing the canisters.

I’m curious to hear your thoughts @LightningLad91. Note also that it’s of course possible for the NNS to give away control of ckBTC to some other controller via a proposal if the voters want to do so (not sure if this is 100% readily available but definitely possible).

3 Likes