pull down to refresh
30 sats \ 0 replies \ @Filiprogrammer 17 Dec \ parent \ on: [Bitcoin Puzzle] Probability of private key collisions, part 1 bitcoin
So each person would have to generate approximately or 6.7 trillion keys for there to be a 0.1% chance of a Segwit address collision.
So time to switch to taproot? hmm
So if we adjust the reply from @shafemtol to calculate how many addresses would have to be generated for a collision:
We get private keys that would have to be generated for there to be a 0.1% chance of a Segwit address collision.
Keep in mind that while there are almost valid private keys, there are actually less Bitcoin addresses. For example singlesig native Segwit addresses (bc1q...) are a bech32 representation of a 160 bit hash.
This means that there are only different singlesig native Segwit addresses. So the probability of guessing a private key for a certain Segwit address is actually .
You have to trust the DNS server to serve you the correct BOLT12 offer and not slip its own one in there.
Just a little nit I noticed that might confuse people:
You either have to use a 3rd party accelerator or pull the funds into Sparrow and craft a replacement CPFP transaction, have it settle, then open the channel at the appropriate fee rate
Calling it "replacement CPFP transaction" is misleading, since it is not CPFP. You are replacing the original channel funding transaction. I would just call it "replacement transaction"
I wonder does this mean we'll grow old faster on the Moon than we do on our Earth?
From the point of view of someone on Earth, people on the moon would indeed grow older faster. But the difference is extremely small.
Let's imagine a different scenario:
Person A stays on earth
Person B spends 1 year in an area with very strong gravity (e.g. close to a black hole)
Person B returns to earth after that 1 year. (Let's ignore the fact that traveling through space also alters the flow of time.)
Person B has aged 1 year.
Person A has aged 5 years.
Mostly agree, but...
Buying non-KYC is nonsense.
Buying non-KYC Bitcoin can make sense when you don't want your government to know that you own Bitcoin.
The only issue I had was it took ages to pay the invoice and the status was stuck on 'attempting lightning payment' for over an hour. I thought the invoice I created would have expired for sure.
This is normal with Hodl invoices. Robosats will also tell you below the invoice when it is a hodl invoice, meaning it freezes in your wallet until the trade is over.
So as a Lightning node operator it could make sense to use a combination of the existing Poon-Dryja payment channels for larger payments and the Offchain Payment Resolution (OPR) protocol for small payments.
If you have a simple Electrum wallet file then it actually makes things pretty easy.
- In Sparrow Wallet go to "File" -> "Import Wallet..."
- Next to "Electrum" click "Import File..."
- Locate the Electrum wallet file (usually in ~/.electrum/wallets/)
- You are asked to name the wallet. Click "Create Wallet".
- Optionally set a password
- Now you have imported the wallet and your SegWit Coins should appear.
- Switch to the "Settings" tab
- Change "Script Type" to "Taproot (P2TR)"
- When asked whether to clear the keystores, select "No"
- Click "Apply"
- Now you should see your "lost" Taproot coins, ready to be spent.
Is your seed even a BIP39 seed?
If you generated it using Electrum it is most likely is an Electrum seed.
When you restore your wallet in Electrum you probably go through "Standard wallet" -> "I already have a seed". When entering the seed, do you change anything in the "Options" or do you leave it on the default "Electrum" seed type.
And on a different note: You do not actually have to patch Sparrow wallet. Under "File" -> "Preferences" -> "General" -> Turn off "Validate derivations"
I reproduced your situation on regtest and I managed to view the "lost" taproot coins in Sparrow wallet. I would also be able to recover the "lost" coins but that requires a patch to Sparrow wallet.
First to view the "lost" taproot coins:
- Download Sparrow wallet
- In Sparrow wallet create a new wallet
- Set "Script Type" to "Taproot (P2TR)"
- Under Keystore click "xPub / Watch Only Wallet"
- Next to "xpub:" paste the xpub you gave to Wasabi Wallet
- Next to "Master fingerprint:" enter "04b2430c"
- What you type next to "Derivation:" does not matter but just enter "m" since it requires this box to not be empty
- Click "Apply"
- Switch to the "Transaction" tab and your "lost" coins should be there.
Recovering the "lost" taproot coins (this method involves typing the seed into a computer, making the wallet hot):
-
Navigate to https://iancoleman.io/bip39/
-
Set the number of seed words you are using (12 or 24)
-
Type your seed words into the "BIP39 Mnemonic" text box (assuming that you have a BIP39 seed)
-
Scroll down to "Derivation Path" and select "BIP32"
-
Next to "BIP32 Derivation Path" enter "m/84'/0'/0'"
-
Copy the "BIP32 Extended Private Key"
-
Create a new wallet in Sparrow wallet
-
Set "Script Type" to "Taproot (P2TR)"
-
Under Keystore click "New or Imported Software Wallet"
-
Next to "Master Private Key (BIP32)" click "Enter Private Key"
-
Enter your xprv (the one you copied in step 6)
-
Click Import
-
Set the derivation path to "m/84'/0'/0'"
-
Click "Import Custom Derivation Key..."
-
And this is where you would click "Apply" but it is grayed out because of a restriction in Sparrow Wallet which would need to be patched out. (I can take a look at this later)
-
Then your "lost" taproot coins should theoretically appear and you should be able to send them.
There is probably a way to do this without making the wallet hot, but that depends on the type of cold wallet you are using.
In any case, your coins are NOT lost.
For anyone trying import a watch-only wallet without Taproot into Wasabi:
In the JSON file set
"TaprootExtPubKey"
to null
and "TaprootAccountKeyPath"
also to null
.It should be possible to recover your "lost" coins by manually specifying the
m/84'/0'
derivation path when configuring the taproot wallet. I haven't tried that though.