Currently, ckBTC deposits take 12 confirmations ~ 2 hours
Binance deposits require 2 confirmations ~20min
Here is a list of forks according to Forkmonitor https://forkmonitor.info/feeds/stale_candidates/btc.rss
From what I understand there weren’t been many forks since 20 Aug 2020
You can see 'There are 2 distinct blocks at height 654683", but never 3.
This should mean 2 confirmations are practically enough for the last 3 years.
Additionally, it doesn’t mean that someone can easily double-spend during these forks.
How about this? Instead of reducing the ckBTC minter confirmation requirement to 2, there can be a new canister that holds (ex: 3 ckBTC buffer) and releases ckBTC faster - after 2 confirmations and applies a fee - % of the amount. Whoever puts ckBTC inside the buffer earns that fee for taking the risk. This probably requires ckBTC minter to do the KYT after 2 confirmations and not after 12
I was always wondering why the 12 blocks was necessary, I read that there has not been any instances where a Bitcoin transaction was confirmed once and then reversed or proven wrong in the history of Bitcoin.
I always thought it should be longer and would have made it 144 blocks. We don’t want any doubts that ckBTC is always redeemable 1-1 for BTC under all circumstances. That something hasn’t happened in the past isn’t a sufficient indicator. It has to be safe under all attacks (and for those ckBTC is a large honeypot) and under all accidental forks due to bugs in the Bitcoin client. There has been a 6-block long accidental fork in the past. It could have easily been much longer if it wasn’t for some people quickly coordinating a client downgrade between miners at the time.
The idea with the lower security pool for a fee is great. But doesn’t that boil down to an exchange? An on-chain DEX in this case, but it is essentially a swap market for 2-conf-ckBTC against ckBTC and of course the 2-conf-ckBTC will trade at a discount. Yes, someone should create that.
I was thinking of a canister between the user and the ckBTC minter that accepts the deposits from the ckBTC minter in a subaccount. The minter probably provides enough data for that canister to check and see if BTC is getting deposited and how many confirmations it has. After 2 and KYT it will release the tokens from its buffer. After 12 it will get them back and restore its buffer + fees. That mechanism could also be placed directly inside the ckBTC minter.
Slow transactions also introduce a risk for all DeFi things related to ckBTC.
So the benefit of a close integration over an independent third-party solution is that the BTC don’t have to move again, a second time, from the “buffer canister” to the real ckBTC minter in another transaction on the Bitcoin network.
Well 12 is a bit too much, not many wait 2 + hours to see if they get that 1:1 amount, specially new users. FYI regulated and insured financial entities that took at least 6 now they let you convert BTC after 3 , eg REVOLUT.
I see, so you don’t even need any integration, right? I mean what you show in your diagram can be implemented now, permissionlessly, the Buffer being a third-party service on top of ckBTC Minter, without any change required to ckBTC Minter.
Such institutions as well as centralized exchanges aren’t comparable though. They can assess the probability of the BTC transfer being reverted, they can limit the amount accepted, and they can control what the user that gets credited can do on their platform, how fast they can withdraw etc. If something happens on a exchange for example the exchange has some recourse. If a deposit is reverted they can shut down the user’s account and likely still capture value in other tokens. They may let you trade after
2 confirmations, but will they let you withdraw right away? They also know the user’s identity and can pursue the user legally.
None of that holds in ckBTC. Anybody can deposit an unlimited amount and withdraw immediately again in full and remain anonymous.
Nobody would hold a large amount of ckBTC permanently if the number of confirmations was 3 or 6. Maybe for small amounts, yes. If you want to use ckBTC in DeFi then there needs to be liquidity. You only get that if people are confident to hold ckBTC long-term and in large amounts.
All valid points but it would be nice to have the deposit show up faster, at least withdrawal is fast as anywhere else with average 10 minute per1 block confirmation to any BTC wallet. Also if you need fast deposit just buying ICP (well not today from Binance lol, but in general) and swap that for ckBTC works better. At least new users prefer paying fees rather than waiting for 12 confirmations. Maybe different for some but just to try it out and use it for tipping between dApps like OC and DSCVR or just to demo that is possible one has to deposit before the presentation and we all know that nothing beats seeing cool stuff happening in real time.
Also something that we do not like to talk about or is labeled as unpopular opinion is :
we* (*for the purpose of this post let’s say that I ) lure new users in with reclaimable ckBTC on Open Chat or other platforms without telling them that the minimum amount to exchange/withdraw is 0.0015 ckBTC plus the fee. At the time of posting this 0.0013799 is around 58.92 $USD so one can se the problem with this. Since there is the FEE paid why have the minimum amount to withdraw so high and the number of “Incoming Bitcoin network transactions require 12 confirmations” for deposit take so long…
Probably 12 confirmation is good for security for all reasons mentioned here. However, could we imagine to choose Satoshi fees in future ? Maybe it could have a minimum. But 5$ of fee is always enough to receive the BTC <24h. Pay 30$ hurt a little.
I little slidebar to choose fees, I can’t wait for it.
But, maybe it’s a strategy in order to influence people and make them keep the ckBTC.