Bitcoin Forum
May 07, 2024, 01:33:22 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: 1 2 [All]
  Print  
Author Topic: Derivation Path  (Read 997 times)
blue Snow (OP)
Legendary
*
Offline Offline

Activity: 1498
Merit: 1024


#SWGT CERTIK Audited


View Profile WWW
April 25, 2020, 05:13:53 AM
Last edit: May 22, 2022, 12:43:17 AM by blue Snow
Merited by dbshck (8), LoyceV (6), TravelMug (6), hugeblack (2), o_e_l_e_o (2), Husna QA (2), vapourminer (1), mk4 (1), nc50lc (1), hosseinimr93 (1), AakZaki (1), DdmrDdmr (1), DireWolfM14 (1), cryptoaddictchie (1), Coyster (1), vv181 (1), Maus0728 (1), Luzin (1), Ifra24 (1)
 #1

Derivation Path is just a fancy way of saying “this is the thing you use to get all your accounts from your mnemonic phrase"

This is what a derivation path looks like:

m/44'/0'/0'/0'/0

m’ / purpose’ / coin_type’ / account’ / change / address_index



Here are some actual derivation paths used by wallets.

BIP 32: m/0'/0/0 (old)
BIP 44: m/44'/0'/0'/0/0 > Legacy
BIP 49: m/49'/0'/0'/0/0 > Segwit
BIP 84: m/84'/0'/0'/0/0 > native
BIP 86: m/86'/0'/0'/0/0 > Taproot

Coin_type 0 is Bitcoin
Coin_type 1 is testnet (all testnet coin)
Coin_type 2 is Litecoin, example > m/49'/2'/0'/0/0 > Litecoin segwit
Coin_type 3 is Dogecoin, example > m/44'/3'/0'/0/0

...
coin_type 60 is ethereum, example > BIP 44: m/44'/60'/0'/0/0
Coin_type 128 is Monero, example > m/44'/128'/0'/0/0

for more coin code type, find out > https://github.com/satoshilabs/slips/blob/master/slip-0044.md

this is for example index:

m/44/0/0/0/0: 1AZnveys2k5taGCCF743RtrWGwc58UMeq
m/44/0/0/0/1: 1AMYJTJyV4o1hwNACJtfdXBW6BiD1f5FXb
m/44/0/0/0/2: 1NPFFtSiFRatoeUf35rwYb8j8C1u7sVhGa
m/44/0/0/0/3: 1L44VTYEzWesp8cxnXcPGbUzuwTYoSW9at
m/44/0/0/0/4: 1FK85vpZavzZu6oBCvBcmD4FWXQT5fVYRu
m/44/0/0/0/5: 12QaHfWLtyuMwNXuap3FscMY434bw4TS6n
m/44/0/0/0/6: 1NeFG5BYAR9bnjAG72SDYKvNZBH4kPa8r1

This is derivation path on hardware wallet connecting





while connecting your wallet don't forget your address and derivation path, be sure doesn't make mistake purpose and coin type

https://medium.com/mycrypto/wtf-is-a-derivation-path-c3493ca2eb52
https://medium.com/myetherwallet/hd-wallets-and-derivation-paths-explained-865a643c7bf2
https://learnmeabitcoin.com/guide/derivation-paths
https://blog.blocknative.com/blog/custom-derivation-paths

1715088802
Hero Member
*
Offline Offline

Posts: 1715088802

View Profile Personal Message (Offline)

Ignore
1715088802
Reply with quote  #2

1715088802
Report to moderator
1715088802
Hero Member
*
Offline Offline

Posts: 1715088802

View Profile Personal Message (Offline)

Ignore
1715088802
Reply with quote  #2

1715088802
Report to moderator
1715088802
Hero Member
*
Offline Offline

Posts: 1715088802

View Profile Personal Message (Offline)

Ignore
1715088802
Reply with quote  #2

1715088802
Report to moderator
It is a common myth that Bitcoin is ruled by a majority of miners. This is not true. Bitcoin miners "vote" on the ordering of transactions, but that's all they do. They can't vote to change the network rules.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
Maus0728
Legendary
*
Offline Offline

Activity: 1904
Merit: 1563


Bitcoin Casino Est. 2013


View Profile
April 25, 2020, 06:04:42 AM
 #2

Hey I admire your effort in constructing the a simple guide regarding the derivation path use in many cryptocurrency wallet. I am hearing these terms when someone is having a trouble with their wallet in Developmental and Technical Discussions.

But it would be more useful if you are writing an in-depth explanation what is the use of derivation path, why is it useful and what are the prerequisites in order to fully understand them.

I admit that I am still a beginner when it comes to these matter but still I am trying to understand this as much as I can.  Wink

███▄▀██▄▄
░░▄████▄▀████ ▄▄▄
░░████▄▄▄▄░░█▀▀
███ ██████▄▄▀█▌
░▄░░███▀████
░▐█░░███░██▄▄
░░▄▀░████▄▄▄▀█
░█░▄███▀████ ▐█
▀▄▄███▀▄██▄
░░▄██▌░░██▀
░▐█▀████ ▀██
░░█▌██████ ▀▀██▄
░░▀███
▄▄██▀▄███
▄▄▄████▀▄████▄░░
▀▀█░░▄▄▄▄████░░
▐█▀▄▄█████████
████▀███░░▄░
▄▄██░███░░█▌░
█▀▄▄▄████░▀▄░░
█▌████▀███▄░█░
▄██▄▀███▄▄▀
▀██░░▐██▄░░
██▀████▀█▌░
▄██▀▀██████▐█░░
███▀░░
blue Snow (OP)
Legendary
*
Offline Offline

Activity: 1498
Merit: 1024


#SWGT CERTIK Audited


View Profile WWW
April 25, 2020, 09:26:30 AM
Merited by Husna QA (1)
 #3

But it would be more useful if you are writing an in-depth explanation what is the use of derivation path, why is it useful and what are the prerequisites in order to fully understand them.
for example you lost hardware wallet and want to recover into electrum, and you should to know most of Bitcoin address HD wallet come with 3 or segwit, different electrum use native or bc1.



After you tick BIP39 on already seed, you should change this path into p2sh-segwit



if you didn't change it you got different address, you will panic.

o_e_l_e_o
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18510


View Profile
April 25, 2020, 11:33:41 AM
Merited by Husna QA (1)
 #4

But it would be more useful if you are writing an in-depth explanation what is the use of derivation path, why is it useful and what are the prerequisites in order to fully understand them.
Derivation paths are explained in BIP44, and that's a good place to start reading if you want to understand them a bit more. Link here: https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki

BIP49 and BIP84 deal with derivation paths for P2SH-P2WPKH (nested segwit) and P2WPKH (native segwit) respectively. Links here: https://github.com/bitcoin/bips/blob/master/bip-0049.mediawiki and https://github.com/bitcoin/bips/blob/master/bip-0084.mediawiki

If you want to get even more technical, then once reading the BIPs above, you could read BIP32, which explains the algorithms used to derive child keys from their parent keys. Link here: https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki
Maus0728
Legendary
*
Offline Offline

Activity: 1904
Merit: 1563


Bitcoin Casino Est. 2013


View Profile
April 25, 2020, 12:36:22 PM
Merited by o_e_l_e_o (1)
 #5

Derivation paths are explained in BIP44, and that's a good place to start reading if you want to understand them a bit more. Link here: https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki

BIP49 and BIP84 deal with derivation paths for P2SH-P2WPKH (nested segwit) and P2WPKH (native segwit) respectively. Links here: https://github.com/bitcoin/bips/blob/master/bip-0049.mediawiki and https://github.com/bitcoin/bips/blob/master/bip-0084.mediawiki

If you want to get even more technical, then once reading the BIPs above, you could read BIP32, which explains the algorithms used to derive child keys from their parent keys. Link here: https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki

Is there any prerequisite subject to understand all of these related terms?

I am familiar using C++ programming language and I am currently using mycelium wallet just to familiarize myself to see the actual addresses of native segwit, legacy and segwit, I also understand the importance of seed phrase in a wallet. However, I think those are not enough to dive in to a more technical part of it.

Thank you for all of the guides @o_e_l_e_o. I assure you that I will study those lecture.

███▄▀██▄▄
░░▄████▄▀████ ▄▄▄
░░████▄▄▄▄░░█▀▀
███ ██████▄▄▀█▌
░▄░░███▀████
░▐█░░███░██▄▄
░░▄▀░████▄▄▄▀█
░█░▄███▀████ ▐█
▀▄▄███▀▄██▄
░░▄██▌░░██▀
░▐█▀████ ▀██
░░█▌██████ ▀▀██▄
░░▀███
▄▄██▀▄███
▄▄▄████▀▄████▄░░
▀▀█░░▄▄▄▄████░░
▐█▀▄▄█████████
████▀███░░▄░
▄▄██░███░░█▌░
█▀▄▄▄████░▀▄░░
█▌████▀███▄░█░
▄██▄▀███▄▄▀
▀██░░▐██▄░░
██▀████▀█▌░
▄██▀▀██████▐█░░
███▀░░
o_e_l_e_o
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18510


View Profile
April 25, 2020, 08:40:34 PM
Merited by DireWolfM14 (1), blue Snow (1)
 #6

Is there any prerequisite subject to understand all of these related terms?
BIPs 44, 49, and 84 aren't very technical and should only really require a basic knowledge of how hierarchical deterministic wallets (i.e. pretty much every current wallet) work.

BIP32 is significantly more technical and requires reasonable knowledge of math, cryptography, and some basic coding. If you are finding it hard to understand, then you could try reading Mastering Bitcoin by Andreas Antonopoulos, particularly Chapter 5 "Wallets". It's available for free here: https://github.com/bitcoinbook/bitcoinbook
blue Snow (OP)
Legendary
*
Offline Offline

Activity: 1498
Merit: 1024


#SWGT CERTIK Audited


View Profile WWW
April 28, 2020, 03:15:51 AM
 #7

Thanks for @Captain-Cryptory and @o_e_l_e_o for answer the question, I am still beginner and need more knowledge for explaining hi-tech question.



If user have and created more account in hardware or other HD wallet, dont forget to change "account" on Derivation path from 0 to 1. if we don't changed, it will appears different address or will back to first account (0). (In programing, counting star from 0,1,2,3...so,, second account (1), third account (2)..)

m/44'/0'/1'/0'



First learning is account and index address are different thing.



o_e_l_e_o
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18510


View Profile
April 28, 2020, 08:03:07 AM
Merited by blue Snow (1)
 #8

So in the screenshot of Electrum you have posted there, as you say m/44'/0'/1' refers to legacy addresses (44'), for bitcoin mainnet (0'), on the second account (1'). Every address generated within that wallet will have the same m/44'/0'/1' beginning to their derivation paths. You don't specify the last two numbers (which refer to change and address index) when generating a wallet, because every address generated within that wallet will have different last two numbers. The first receiving address in this example would be m/44'/0'/1'/0/0, the second would be m/44'/0'/1'/0/1, and the first change address would be m/44'/0'/1'/1/0.

Now, you've written the following:
Quote
m/44'/0'/1'/0'
You need to be careful here, as you've added an extra /0' at the end that is unnecessary. If you override the suggested derivation path in Electrum with that, Electrum will use that to generate a wallet instead of m/44'/0'/1', so you will be left with a very non-standard derivation path of m/44'/0'/1'/0'/0/0 for your first address (and so on), which will generate an entirely new set of private keys and an entirely new set of addresses. If you don't remember that you've done that, then you could have serious problems trying to recover your coins in the future.

As Electrum says, if you don't fully understand derivation paths, it's best not to mess around with them, because you could lose your coins somewhere in the infinite number of addresses you can create.
blue Snow (OP)
Legendary
*
Offline Offline

Activity: 1498
Merit: 1024


#SWGT CERTIK Audited


View Profile WWW
April 28, 2020, 10:37:34 AM
 #9

Thank you for explain,

I don't know what i have done or missing something, I am making practise using Mnemonic Code Converter tool to get BIP 39 seed (orient size mass nut pipe jewel nut burst artist mixed perfect develop) and derivation path  m/44'/0'/1'/1 address showed 1Z1EMQjFuyRvG3vZhrQpQKPjbu4zwYXsh
make an equation, import same detil to electrum, suddenly got different address 1NAxsdvXQeuEozUVvyVgge5B3vv1SutCB1

o_e_l_e_o
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18510


View Profile
April 28, 2020, 11:09:34 AM
Merited by blue Snow (1)
 #10

I am making practise using Mnemonic Code Converter tool to get BIP 39 seed
It should go without saying, but please make sure you only use that seed for practicing, and never send any coins to any of the address, since it is now publicly viewable to anyone and everyone.

So, if you use the derivation path m/44'/0'/1'/1/0 with that seed, you get the address 1Z1EMQjFuyRvG3vZhrQpQKPjbu4zwYXsh as you say.

The address 1NAxsdvXQeuEozUVvyVgge5B3vv1SutCB1 is found at the derivation path m/44'/0'/1'/1'/0/0. This means that in the derivation path box in Electrum, you must have entered m/44'/0'/1'/1'.

As I said above, you've added an entire extra level by adding in an extra /1', which results in a completely non-standard derivation path. It is possible (but not recommended) to add as many extra levels as you like - the key at each level is simply derived from the parent key at the level above it. But as you have discovered, when adding in additional levels you will end up with a completely different set of addresses, you might not be sure how you got there, and there is a very high potential to lose your coins.
o_e_l_e_o
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18510


View Profile
April 28, 2020, 01:01:29 PM
 #11

You have got different address cuz starting from the version 2.0 Electrum

derives keys and addresses from a hash of the UTF8 normalized seed phrase with no dependency on a fixed wordlist.

that isn't exactly the same as BIP39 scheme.
That's not accurate. Both address he gave are generate from the above BIP39 seed phrase at different derivation paths, as I showed in my last post.

Go to https://iancoleman.io/bip39/
Paste in the above seed phrase to the "BIP39 Mnemonic" field
Scroll down to "Derivation Path" and select "BIP32"
Under "Client" select "Custom derivation path"
Under "BIP32 Derivation Path" paste m/44'/0'/1'/1, scroll down, and the first address is 1Z1EM...
Under "BIP32 Derivation Path" paste m/44'/0'/1'/1'/0, scroll down, and the first address is 1NAxs...

Although Electrum by default doesn't use BIP39 seed phrases, when importing a seed phrase to Electrum you can click "Options" and select "BIP39 seed", as blue Snow must have done, otherwise he wouldn't have obtained the 1NAxs... address.

So, instead of "Custom Derivation Path" chose "Trezor, Ledger" option in  Client field  when fiddling with coleman generator.
Importing a non-BIP39 seed in to Electrum as a BIP39 seed will never give you the same addresses, regardless of how much you change the derivation path.
pooya87
Legendary
*
Offline Offline

Activity: 3444
Merit: 10555



View Profile
April 28, 2020, 02:13:11 PM
 #12

OK. bare BIP39 is still supported but likely  be deprecated in the future versions,  at least that is what 3.3.8 client says right now. Anyway the generation scheme of the current and all future Electrum is different from bare BIP39. https://electrum.readthedocs.io/en/latest/seedphrase.html  That is why you had to scroll down to find that address.

i haven't seen the "deprecated in the future versions" anywhere, and i don't think features like that would ever be deprecated because wallets must always try to keep backward compatibility.
in any case if some day some wallet stopped supporting BIP-39 you can always find another tool (like IanColeman tool) and convert the mnemonic to an extended private key (starts with xprv) to use the more universal master key to import. or worst case scenario import individual keys.

.
.BLACKJACK ♠ FUN.
█████████
██████████████
████████████
█████████████████
████████████████▄▄
░█████████████▀░▀▀
██████████████████
░██████████████
████████████████
░██████████████
████████████
███████████████░██
██████████
CRYPTO CASINO &
SPORTS BETTING
▄▄███████▄▄
▄███████████████▄
███████████████████
█████████████████████
███████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
███████████████████████
█████████████████████
███████████████████
▀███████████████▀
█████████
.
o_e_l_e_o
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18510


View Profile
April 28, 2020, 02:39:26 PM
 #13

at least that is what 3.3.8 client says right now.
It says "We do not guarantee that BIP39 imports will always be supported", which is a bit different to "They are likely to be deprecated". A very quick GitHub search says that message has been there for at least 2 years. Given how ubiquitous BIP39 seeds phrases are, I can't foresee the Electrum devs discontinuing support for them anytime soon.

Anyway the generation scheme of the current and all future Electrum is different from bare BIP39. https://electrum.readthedocs.io/en/latest/seedphrase.html  That is why you had to scroll down to find that address.
That's not the issue in blue Snow's case, though. If you use an Electrum generated non-BIP39 seed, then the default derivation path is m/0, meaning the first address is m/0/0, which is neither of the derivation paths he ended up on above. Even if he had managed to import that seed phrase as a non-BIP39 phrase (which he can't, because Electrum won't accept it as a non-BIP39 phrase), then the addresses at the derivation paths we have discussed above would be different to the addresses obtained. He obtained addresses linked to the BIP39 phrase both in and out of Electrum, so he managed to import the seed phrase correctly. His issue is with using custom derivation paths, not with importing the seed phrase incorrectly.
pooya87
Legendary
*
Offline Offline

Activity: 3444
Merit: 10555



View Profile
April 28, 2020, 02:43:36 PM
 #14

It will,  as the  key generation scheme used by Electrum differs from bare BIP39 https://electrum.readthedocs.io/en/latest/seedphrase.html  Right now client is in position to  import BIP 39 SEED but says   that option can not be guaranteed one  in the future. You can check it.

backward compatibility means when a user is capable of importing his BIP-39 mnemonic in Electrum today and the wallet file stores it, then it must continue being able to read BIP-39 mnemonics and convert them to child keys otherwise the old user's wallet can break down.
could you quote the exact part from the doc where it says that? i honestly cant see it.

.
.BLACKJACK ♠ FUN.
█████████
██████████████
████████████
█████████████████
████████████████▄▄
░█████████████▀░▀▀
██████████████████
░██████████████
████████████████
░██████████████
████████████
███████████████░██
██████████
CRYPTO CASINO &
SPORTS BETTING
▄▄███████▄▄
▄███████████████▄
███████████████████
█████████████████████
███████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
███████████████████████
█████████████████████
███████████████████
▀███████████████▀
█████████
.
o_e_l_e_o
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18510


View Profile
April 28, 2020, 02:50:48 PM
Merited by pooya87 (1)
 #15

could you quote the exact part from the doc where it says that? i honestly cant see it.
It says it after you tick the "BIP39 seed" checkbox under the "Options" pop up when importing a seed in to Electrum:



https://github.com/spesmilo/electrum/blob/a0b096dcb2292c2826f7beae173c529d335142f0/electrum/gui/qt/seed_dialog.py#L77
blue Snow (OP)
Legendary
*
Offline Offline

Activity: 1498
Merit: 1024


#SWGT CERTIK Audited


View Profile WWW
April 28, 2020, 09:05:53 PM
 #16

true, as @o_e_l_e_o mentioned i was mistake, inserted wrong path into electrum m/44'/0'/1'/1' , changed 0 with 1 without delete (') single quote at least

o_e_l_e_o
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18510


View Profile
April 29, 2020, 08:12:37 AM
Merited by DdmrDdmr (1)
 #17

The same for both me and Electrum team. If not guaranteed - then deprecated, forever for Electrum and me Wink
Well, then you are completely free to choose another wallet which guarantee BIP39 support forever more. As pooya87 says, it's highly unlikely Electrum will stop supporting BIP39 since it means all Electrum wallets which use BIP39 suddenly become incompatible. They would be shooting themselves in the foot and alienating a large number of their customers. But even if they did, you can just take your BIP39 seed to another wallet, so no harm done to you individually.

You know,  by arbitrary  extending derivation path you can get all possible keys that could only exist.
Theoretically yes, but practically impossible, in the same way that address collision is theoretically possible but will never happen.

Even just looking at individual private keys, there are (just short of) 2256 keys. Given that each key is 32 bytes, that works out to somewhere in the region of 3*1057 zettabytes just to store the private keys. For comparison, there is around 3 zettabytes of storage in the entire world right now. So we're off by a factor of around 1 billion trillion trillion trillion trillion just to be able to store the final private keys, even forgetting the multiple keys you have to derive to obtain each one, and forgetting generating addresses, and forgetting all the computing power to do so.
blue Snow (OP)
Legendary
*
Offline Offline

Activity: 1498
Merit: 1024


#SWGT CERTIK Audited


View Profile WWW
May 22, 2020, 12:21:56 PM
Merited by vapourminer (2)
 #18

I am learning some thing new here about derivation path of native segwit.

m/48'/0'/0'/2' is the correct default derivation path for multi-sig native segwit in Electrum. m/84'/0'/0' is for standard (non-multi-sig) wallets.

Basic on this thread we should be careful different path multi signature native segwit with standar native segwit.

Multi-sig native segwit path begin with number 48 while standar native begin with 84 see quoted example. we can read something case here https://bitcoin.stackexchange.com/questions/92533/why-do-the-xpubs-from-electrum-and-trezor-not-match-when-creating-a-multisig-wal Trezor using BIP39 standar native segwit use 84 while electrum using native begin with 48

o_e_l_e_o
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18510


View Profile
May 22, 2020, 06:36:24 PM
Merited by vapourminer (3), blue Snow (1)
 #19

Multi-sig native segwit path begin with number 48 while standar native begin with 84 see quoted example.
That's the convention, but it is my no means the law. It is entirely possible to generate any type of address (multi-sig or not, native or nested or not segwit) at any derivation path. Electrum uses the following as default values for the purpose field:

44 - Legacy
45 - Legacy Multi-sig
48 - Segwit Multi-sig
49 - Nested Segwit
84 - Native Segwit

Electrum expands on Segwit Multi-sig by adding a "script type" field between the account and change fields, meaning the derivation path for Nested Segwit Multi-sig is m/48'/0'/0'/1', and for Native Segwit Multi-sig is m/48'/0'/0'/2'. You can read more at GitHub here: https://github.com/spesmilo/electrum/issues/4352.

But as I said, you can use any derivation path you like. Bitcoin Core, for example, uses m/0'/0' for all address types.
Husna QA
Legendary
*
Offline Offline

Activity: 2268
Merit: 2877


#SWGT CERTIK Audited


View Profile WWW
August 29, 2020, 03:17:39 AM
Last edit: May 18, 2023, 06:50:13 AM by Husna QA
 #20

@blue Snow Sorry to bump your thread.
It seems that the derivation-paths-level image link listed in the directory on the web source you are using has changed.


Code:
https://learnmeabitcoin.com/guide/images/derivation-paths/levels.png

Here are the latest updates I found:


Code:
https://learnmeabitcoin.com/technical/images/derivation-paths/levels.png


blue Snow (OP)
Legendary
*
Offline Offline

Activity: 1498
Merit: 1024


#SWGT CERTIK Audited


View Profile WWW
August 29, 2020, 05:12:29 AM
 #21

Code:
https://learnmeabitcoin.com/technical/images/derivation-paths/levels.png
Thank You!. Thread has been updated.

blue Snow (OP)
Legendary
*
Offline Offline

Activity: 1498
Merit: 1024


#SWGT CERTIK Audited


View Profile WWW
August 31, 2021, 12:01:51 PM
 #22

I tried copy-paste iancoleman/bip39 derivation path to electrum wallet then get a different address.

here derivation path, m/84'/0'/1'/0

I'm confused then remove the last number /0 to be m/84'/0'/1' and done that worked, I got the same address on electrum wallet.

The big question for me is how to get the same address when derivation path like this, m/84'/0'/1'/1 ??
Yes, I tried and for sure got the different address. I tried with colon m/84'/0'/1'/1', same result, I still got the different address.

then tried many ways, change sit each other, with or without the colon.

is the bug on the electrum wallet (4.1.5)?

o_e_l_e_o
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18510


View Profile
August 31, 2021, 02:25:31 PM
Merited by DdmrDdmr (3)
 #23

No, it's not a bug.

Any BIP39 derivation path you enter in to Electrum will have /x/y appended to the end as it generates addresses. x will be 0 or 1 depending if the address is receiving or change respectively, and y will start at 0 and increment by 1 with each subsequent address. If you import m/84'/0'/0' to Electrum, then:

The first receiving address will be at path m/84'/0'/0'/0/0
The second receiving address will be at path m/84'/0'/0'/0/1
The third receiving address will be at path m/84'/0'/0'/0/2

The first change address will be at path m/84'/0'/0'/1/0
The second change address will be at path m/84'/0'/0'/1/1

And so on. Therefore, if you import m/84'/0'/1'/1 to Electrum, the first address Electrum generates will be at m/84'/0'/1'/1/0/0.

If you want the first address Ian Coleman generates at m/84'/0'/1'/1 to show up in Electrum (which will be at m/84'/0'/1'/1/0), then import m/84'/0'/1' and look at the first change address.
blue Snow (OP)
Legendary
*
Offline Offline

Activity: 1498
Merit: 1024


#SWGT CERTIK Audited


View Profile WWW
September 01, 2021, 12:22:15 AM
 #24

And so on. Therefore, if you import m/84'/0'/1'/1 to Electrum, the first address Electrum generates will be at m/84'/0'/1'/1/0/0.

If you want the first address Ian Coleman generates at m/84'/0'/1'/1 to show up in Electrum (which will be at m/84'/0'/1'/1/0),

I Still got a different address, try many times times with remove colon, add 0, change sit.

m/84'/0'/1'/1/0/0
m/84'/0'/1'/1/0
m/84'/0'/1'/0/1
m/84'/0'/1'/0'/1
m/84'/0'/1'/1'/0/0
m/84'/0'/1'/1'/0

BIP39 - emotion razor cheap bread tank view twenty lens silent banana arch fish

BIP32 Derivation Path: m/84'/0'/1'/1



here on electrum;



That was complex for me, this is my real problem, I have the bip39 seed and private key (m/84'/0'/3'/2). I bought a new hardware wallet and want to connect to electrum, I tried it many days but didn't get any way to get my address on electrum.

SquirrelJulietGarden
Hero Member
*****
Offline Offline

Activity: 1316
Merit: 727



View Profile
September 01, 2021, 02:43:01 AM
 #25

HD Wallets Explained: From High Level to Nuts and Bolts

███▄▀██▄▄
░░▄████▄▀████ ▄▄▄
░░████▄▄▄▄░░█▀▀
███ ██████▄▄▀█▌
░▄░░███▀████
░▐█░░███░██▄▄
░░▄▀░████▄▄▄▀█
░█░▄███▀████ ▐█
▀▄▄███▀▄██▄
░░▄██▌░░██▀
░▐█▀████ ▀██
░░█▌██████ ▀▀██▄
░░▀███
▄▄██▀▄███
▄▄▄████▀▄████▄░░
▀▀█░░▄▄▄▄████░░
▐█▀▄▄█████████
████▀███░░▄░
▄▄██░███░░█▌░
█▀▄▄▄████░▀▄░░
█▌████▀███▄░█░
▄██▄▀███▄▄▀
▀██░░▐██▄░░
██▀████▀█▌░
▄██▀▀██████▐█░░
███▀░░
pooya87
Legendary
*
Offline Offline

Activity: 3444
Merit: 10555



View Profile
September 01, 2021, 03:53:09 AM
 #26


There is an extra zero (and possibly the last 1) at the end.
When you are entering the path to derive multiple keys you shouldn't enter the derivation path of a single key.
m/84'/0'/1'/1/0 is the path of the first child key.
You want to enter the path of the derived master child key which is at m/84'/0'/1'/1/
then the wallet derives m/84'/0'/1'/1/0 and m/84'/0'/1'/1/1 and m/84'/0'/1'/1/2 and so on as the actual child keys.

Electrum should also be able to search and find the correct derivation path on its own if the wallet you are importing was ever used.

.
.BLACKJACK ♠ FUN.
█████████
██████████████
████████████
█████████████████
████████████████▄▄
░█████████████▀░▀▀
██████████████████
░██████████████
████████████████
░██████████████
████████████
███████████████░██
██████████
CRYPTO CASINO &
SPORTS BETTING
▄▄███████▄▄
▄███████████████▄
███████████████████
█████████████████████
███████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
███████████████████████
█████████████████████
███████████████████
▀███████████████▀
█████████
.
o_e_l_e_o
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18510


View Profile
September 01, 2021, 07:38:57 AM
Merited by pooya87 (2)
 #27

-snip-
You are importing the wrong derivation path to Electrum. As I said in my earlier post, your derivation path for Electrum should be m/84'/0'/1'. The change addresses Electrum displays at this derivation path will match the receiving addresses you have generated on Ian Coleman. I have just tested this myself.

Whatever BIP39 derivation path you import in to Electrum, Electrum will add /x/y on the end.
Whatever BIP32 derivation path you have on Ian Coleman, Ian Coleman will add /y on the end.
This is the reason for your confusion.

I have the bip39 seed and private key (m/84'/0'/3'/2). I bought a new hardware wallet and want to connect to electrum, I tried it many days but didn't get any way to get my address on electrum.
The derivation path m/84'/0'/3'/2 is non-standard and does not follow BIP39. The 4th number should only ever be 0 or 1 (corresponding to receiving or change addresses respectively), and there should be 5 numbers in total, not 4. How and with which wallet did you generate a key at this path?

Which hardware wallet are you trying to connect with Electrum? You shouldn't be importing external seeds to hardware wallets since it negates the whole point of the seed being generated on a secure environment (the hardware wallet itself). I would set up a brand new wallet using your hardware device, and then sweep all the funds from that individual private key to your new hardware protected wallet.
blue Snow (OP)
Legendary
*
Offline Offline

Activity: 1498
Merit: 1024


#SWGT CERTIK Audited


View Profile WWW
September 01, 2021, 07:53:41 AM
 #28


There is an extra zero (and possibly the last 1) at the end.
I still got different address.

m/84'/0'/1'/1/0
m/84'/0'/1'/1/1

Electrum should also be able to search and find the correct derivation path on its own if the wallet you are importing was ever used.
yes for sure. but, when connecting to hardware wallet Detect Existing Accounts button is dissapear.

-snip-
You are importing the wrong derivation path to Electrum. As I said in my earlier post, your derivation path for Electrum should be m/84'/0'/1'. The change addresses Electrum displays at this derivation path will match the receiving addresses you have generated on Ian Coleman. I have just tested this myself.
my derivation path m/84'/0'/1'/1 and still got different address when importing m/84'/0'/1'

Which hardware wallet are you trying to connect with Electrum? You shouldn't be importing external seeds to hardware wallets since it negates the whole point of the seed being generated on a secure environment (the hardware wallet itself). I would set up a brand new wallet using your hardware device, and then sweep all the funds from that individual private key to your new hardware protected wallet.
Ledger Nano S, I don't import anything anything.

o_e_l_e_o
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18510


View Profile
September 01, 2021, 08:24:01 AM
Merited by blue Snow (5)
 #29

I still got different address.

m/84'/0'/1'/1/0
m/84'/0'/1'/1/1
As I said above, those are not the correct derivation paths. You need to use m/84'/0'/1'.

See below:


These address match the address you have generated in this post using Ian Coleman.

Ledger Nano S, I don't import anything anything.
So create a brand new wallet using your Ledger Nano, then use an offline version of Ian Coleman to import your old seed phrase and obtain the private key at your non-standard derivation path, import that private key in to a wallet of your choice (again, preferably offline for maximum security) and send all the funds to your new hardware wallet.
blue Snow (OP)
Legendary
*
Offline Offline

Activity: 1498
Merit: 1024


#SWGT CERTIK Audited


View Profile WWW
September 01, 2021, 08:48:17 AM
 #30

I still got different address.

m/84'/0'/1'/1/0
m/84'/0'/1'/1/1
As I said above, those are not the correct derivation paths. You need to use m/84'/0'/1'.

See below:


These address match the address you have generated in this post using Ian Coleman.

Ledger Nano S, I don't import anything anything.
So create a brand new wallet using your Ledger Nano, then use an offline version of Ian Coleman to import your old seed phrase and obtain the private key at your non-standard derivation path, import that private key in to a wallet of your choice (again, preferably offline for maximum security) and send all the funds to your new hardware wallet.

Look like I'm missing looking for change address, I just look at first address.
so, m/84'/0'/3'/2 non standar derivation path i must changed.

o_e_l_e_o
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18510


View Profile
September 01, 2021, 09:11:01 AM
 #31

so, m/84'/0'/3'/2 non standar derivation path i must changed.
Yes. As far as I am aware, there is no way to import a seed phrase and with this derivation path in to Electrum without manually editing the source code, since it does not follow the BIP39 schematics. Again, where did you create this path and with which wallet? Do you have a known seed phrase with funds on this path?
blue Snow (OP)
Legendary
*
Offline Offline

Activity: 1498
Merit: 1024


#SWGT CERTIK Audited


View Profile WWW
September 02, 2021, 12:01:07 AM
 #32

Again, where did you create this path and with which wallet? Do you have a known seed phrase with funds on this path?

I have the seed for the first time on Ledger and was written down in my paper either. with the seed, I used Iancoleman with another computer (never connect to the internet) to get the address, private key, and that path m/84'/0'/3'/2.  I know the private key, I used mainly on electrum.

I was just confused to use ledger on electrum ( I never used ledger live - only the first time to install bitcoin application - then removed), and I never used the ledger for the transaction either (that look like my ledger only for storing the seed).

with that seed I'm split my balance into another path m/84'/0'/1'/1, m/84'/0'/2'/2, m/84'/0'/3'/2 ... get the address and keep private key, I haven't a problem with those all, I write down all the detail, and just confused to connect with those path.



derivation path over 1 is not standard, for example, m/84'/0'/2'/1 ?, we must be careful about that.



so

m/84'/0'/1'/0 - this is the first 20 address on electrum (no.1-20),
when path m/84'/0'/1'/1 the next 20 address (change address-yellow mark-no 21 until number 40),
when path m/84'/0'/1'/2 my assumtion hidden address on electrum (no.41 until number 60), correct me if i wrong.


o_e_l_e_o
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18510


View Profile
September 02, 2021, 07:31:09 AM
 #33

with the seed, I used Iancoleman with another computer (never connect to the internet) to get the address, private key, and that path m/84'/0'/3'/2.
So, just to be clear, you set up a new wallet using your Ledger Nano linked to Electrum, then took the seed of that wallet, entered it in to Ian Coleman, spun up this weird derivation path, and sent coins to it? Unless you are completely certain that you have properly airgapped the computer you used, then I would consider that seed phrase compromised.

with that seed I'm split my balance into another path m/84'/0'/1'/1, m/84'/0'/2'/2, m/84'/0'/3'/2 ... get the address and keep private key, I haven't a problem with those all, I write down all the detail, and just confused to connect with those path.
The only one of those three paths which will be recoverable using your Ledger Nano and Electrum will be the first one, following the steps I gave above. The other two do not follow the BIP44 standard and so are not recoverable using either Electrum or Ledger Live. I'm not sure of any software which will connect to a Ledger Nano and let you open wallets at arbitrary paths like these. If it were me, I would be importing those private keys to an airgapped Electrum wallet and sending the funds on them back to my hardware wallet under a standard derivation path.

In future, if you want a different account, then open a new wallet with the same Ledger Nano and Electrum, only changing the third number in the derivation path. For example, m/84'/0'/1', m/84'/0'/2', m/84'/0'/3', and so on.

derivation path over 1 is not standard, for example, m/84'/0'/2'/1 ?, we must be careful about that.
A full derivation path for a specific address might look like this: m/84'/0'/2'/1/0. This is broken down as follows:

84 - Purpose. Essentially tells us that it will be a segwit address.
0 - Coin type. Bitcoin main chain (i.e. not testnet).
2 - Account. The third account.
1 - Change. 0 for receiving, 1 for change.
0 - Address index. The first address.

So, when you create a new wallet (which is an account), you should only specify the first three numbers - m/84'/0'/2', in this case. The last two numbers are different for every address in that wallet.

m/84'/0'/1'/0 - this is the first 20 address on electrum (no.1-20)
Almost. m/84'/0'/1'/0/0 through m/84'/0'/1'/0/19 will be the first 20 addresses in the second account.

when path m/84'/0'/1'/1 the next 20 address (change address-yellow mark-no 21 until number 40)
m/84'/0'/1'/1/0 through m/84'/0'/1'/1/19 will be the first 20 change addresses in the second account.

when path m/84'/0'/1'/2 my assumtion hidden address on electrum (no.41 until number 60), correct me if i wrong.
Electrum will never generate addresses at this path, since as explained above, it is non standard.
blue Snow (OP)
Legendary
*
Offline Offline

Activity: 1498
Merit: 1024


#SWGT CERTIK Audited


View Profile WWW
September 02, 2021, 10:33:51 AM
Merited by o_e_l_e_o (4), Husna QA (1)
 #34

So, just to be clear, you set up a new wallet using your Ledger Nano linked to Electrum, then took the seed of that wallet, entered it in to Ian Coleman, spun up this weird derivation path, and sent coins to it? Unless you are completely certain that you have properly airgapped the computer you used, then I would consider that seed phrase compromised.
yes, I sent it to the address. and the computer which never connected to the internet.

All fixed now, I have generated a new address on Ledger (with an additional passphrase) using electrum offline and with standard path either, I will use this: m/84'/0'/1', m/84'/0'/2', m/84'/0'/3',, for split my balance because I won't be pilling up only 1 address.

Thanks for explaining much.

blue Snow (OP)
Legendary
*
Offline Offline

Activity: 1498
Merit: 1024


#SWGT CERTIK Audited


View Profile WWW
May 22, 2022, 12:09:35 PM
 #35

Basic in update taproot network
I have updated the thread by adding the p2tr derivation path:> https://github.com/bitcoin/bips/blob/master/bip-0086.mediawiki
Code:
BIP 86: m/86'/0'/0'/0/0

For the purpose-path level it uses 86'. The rest of the levels are used as defined in BIPs 44, 49, and 84

canudinho
Newbie
*
Offline Offline

Activity: 14
Merit: 8


View Profile
November 03, 2023, 06:50:59 PM
 #36

Quote
if you didn't change it you got different address, you will panic.

Hello Sir, please help: Just didn't payed attention on the derivation path of my electrum wallet once i created it. It is a standard wallet, nothing additional.
-> Suppose i have to recover it someday, i should go with m/0'/0 derivation path once asked, and my funds gonna be there?  Huh

Best regards
Charles-Tim
Legendary
*
Offline Offline

Activity: 1540
Merit: 4850



View Profile
November 03, 2023, 07:02:59 PM
 #37

-> Suppose i have to recover it someday, i should go with m/0'/0 derivation path once asked, and my funds gonna be there?  Huh
For standard wallet, the derivation path is m/0' which you have mentioned. But Electrum will do that for you automatically. You can also use Bluewallet which will generate the funded address derivation path automatically.

.
.HUGE.
▄██████████▄▄
▄█████████████████▄
▄█████████████████████▄
▄███████████████████████▄
▄█████████████████████████▄
███████▌██▌▐██▐██▐████▄███
████▐██▐████▌██▌██▌██▌██
█████▀███▀███▀▐██▐██▐█████

▀█████████████████████████▀

▀███████████████████████▀

▀█████████████████████▀

▀█████████████████▀

▀██████████▀▀
█▀▀▀▀











█▄▄▄▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
.
CASINSPORTSBOOK
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀▀█











▄▄▄▄█
o_e_l_e_o
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18510


View Profile
November 03, 2023, 07:06:01 PM
Merited by canudinho (1)
 #38

Just didn't payed attention on the derivation path of my electrum wallet once i created it. It is a standard wallet, nothing additional.
Open your wallet, click on "Wallet" in the top bar, then "Information". Your derivation path will be displayed at the bottom of this box.

For a standard segwit Electrum seed phrase, it will be m/0'.
If you have imported a BIP39 seed phrase from elsewhere, it will be m/84'/0'/0' for a standard segwit wallet.

Suppose i have to recover it someday, i should go with m/0'/0 derivation path once asked, and my funds gonna be there?
If it's an Electrum seed phrase you don't need to worry about the derivation path. Electrum will only ever recover a single wallet at a preset derivation path for each of its seed phrases.
Pages: 1 2 [All]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!