Bitcoin Forum
November 09, 2024, 08:00:35 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Master Public Key and Addresses  (Read 6653 times)
LogicalUnit (OP)
Sr. Member
****
Offline Offline

Activity: 299
Merit: 250


View Profile
July 19, 2014, 01:30:17 AM
 #1

Hi all, I'm trying to educate myself about some of the technical details of wallets. My current understanding is that a wallet contains a series of addresses, each of which consists of a public and private key. (Correct me if this is wrong)

I use Electrum, which allows me to view and export a "Master Public Key". This enables me to view all the transactions of that wallet ie use all the public addresses.

How is the Master Public Key related to the public addresses of a wallet?
Envrin
Sr. Member
****
Offline Offline

Activity: 318
Merit: 251



View Profile
July 19, 2014, 02:01:54 AM
 #2

It's an HD wallet.  Here, this helps explain it decently:

http://bitcoinmagazine.com/8396/deterministic-wallets-advantages-flaw/

Basically, the public addresses are child keys of your master key.  Think of it as a family structure.  Parents, children, grand children, etc.  The parents can spend their kids money, but the kids can't spent their parents money.
jonald_fyookball
Legendary
*
Offline Offline

Activity: 1302
Merit: 1008


Core dev leaves me neg feedback #abuse #political


View Profile
July 19, 2014, 03:34:15 AM
 #3

Hi all, I'm trying to educate myself about some of the technical details of wallets. My current understanding is that a wallet contains a series of addresses, each of which consists of a public and private key. (Correct me if this is wrong)

I use Electrum, which allows me to view and export a "Master Public Key". This enables me to view all the transactions of that wallet ie use all the public addresses.

How is the Master Public Key related to the public addresses of a wallet?

Electrum is a deterministic wallet, starting with a mnemonic seed, which is used
to calculate a master private key, and in turn, a master public key.

An unlimited number of addresses can be generated from these master keys.
The benefit of this is that you don't need to backup your wallet as long as
you have the seed, because all the addresses can be generated from that seed.

The master public key can be used for setting up a watching only wallet, for example,
if you have cold storage set up. 

Never share your master public key as it can compromise your entire wallet when combined
with a single private key of any of your addresses.

bitbaby
Hero Member
*****
Offline Offline

Activity: 812
Merit: 1000



View Profile WWW
July 19, 2014, 06:27:59 AM
 #4

Hi all, I'm trying to educate myself about some of the technical details of wallets. My current understanding is that a wallet contains a series of addresses, each of which consists of a public and private key. (Correct me if this is wrong)

I use Electrum, which allows me to view and export a "Master Public Key". This enables me to view all the transactions of that wallet ie use all the public addresses.

How is the Master Public Key related to the public addresses of a wallet?

Master Public Key is used to create your Public Addresses and Private keys associated with those addresses.

I was confused about this also, but a guy on the forum told me that if by any chance someone finds out your Master Public Key and any of your public addresses he can know the Master Private keys of all the addresses created using that Master Public Key.

joshraban76
Sr. Member
****
Offline Offline

Activity: 252
Merit: 250



View Profile
July 19, 2014, 07:57:17 AM
 #5

I watched this video series and if you do the same you will understand exactly how electrum works. The Master private key on a wallet that has no private key attached. Check out the video he explains it really well.

https://bitcointalk.org/index.php?topic=397118

\   \  \ \\\\\\\\\\\\\\\\◥◣◢◤//////////////// /  /   /
Win88.me ❖ Fair, Trusted Online BTC Gambling ❖
/   /  / ////////////////◢◤◥◣\\\\\\\\\\\\\\\\ \  \   \
LogicalUnit (OP)
Sr. Member
****
Offline Offline

Activity: 299
Merit: 250


View Profile
July 19, 2014, 08:29:11 AM
 #6

Seems to be some confusion here.

It seems to me (logically) that the wallet could be compromised if the Master Public Key and a Private Key were accessed by an attacker. If this type of attack could be done using the Master Public Key and a Public address, it shouldn't be called the Master Public Key at all!
Envrin
Sr. Member
****
Offline Offline

Activity: 318
Merit: 251



View Profile
July 19, 2014, 09:00:56 AM
 #7


I could be wrong as I'm not a highly skilled hackers, but as far as I'm aware, you can't go public -> private.  It's impossible.  If someone gets your Master PRIVATE Key, then yes, they can unlock all funds from all addresses.  They can't do that if they only get your public key though.

Abdussamad
Legendary
*
Offline Offline

Activity: 3682
Merit: 1580



View Profile
July 19, 2014, 09:29:15 AM
 #8

Hi all, I'm trying to educate myself about some of the technical details of wallets. My current understanding is that a wallet contains a series of addresses, each of which consists of a public and private key. (Correct me if this is wrong)

I use Electrum, which allows me to view and export a "Master Public Key". This enables me to view all the transactions of that wallet ie use all the public addresses.

How is the Master Public Key related to the public addresses of a wallet?

Master Public Key is used to create your Public Addresses and Private keys associated with those addresses.

I was confused about this also, but a guy on the forum told me that if by any chance someone finds out your Master Public Key and any of your public addresses he can know the Master Private keys of all the addresses created using that Master Public Key.


No that's not correct. He would need to know your master public key and a *private* key of one of your addresses. Oh and there's only one master private key in an electrum wallet.

Also saying "public address" is a bit redundant. Usually when people say "public address" it's because they think the address is the same as the public key. It is not. It is a hash of the public key and like the public key it is not a secret. You can share it with the world.
dabura667
Sr. Member
****
Offline Offline

Activity: 475
Merit: 252


View Profile
July 20, 2014, 09:36:04 AM
 #9

a guy on the forum told me that if by any chance someone finds out your Master Public Key and any of your public addresses PRIVATE KEYS he can know the Master Private keys of all the addresses created using that Master Public Key.

That was me, just making a correction on your post.

1 Master Public Key + 1 Private Key of any of the addresses generated by that private key = can calculate the Master Private Key (aka every single private key of the wallet)

https://bitcointalk.org/index.php?topic=657205.0

Here's the original post. It kind of explains how Electrum wallets work. So OP might want to read it.

My Tip Address:
1DXcHTJS2DJ3xDoxw22wCt11FeAsgfzdBU
bitbaby
Hero Member
*****
Offline Offline

Activity: 812
Merit: 1000



View Profile WWW
July 20, 2014, 11:37:16 AM
 #10

a guy on the forum told me that if by any chance someone finds out your Master Public Key and any of your public addresses PRIVATE KEYS he can know the Master Private keys of all the addresses created using that Master Public Key.

That was me, just making a correction on your post.

1 Master Public Key + 1 Private Key of any of the addresses generated by that private key = can calculate the Master Private Key (aka every single private key of the wallet)

https://bitcointalk.org/index.php?topic=657205.0

Here's the original post. It kind of explains how Electrum wallets work. So OP might want to read it.

Yes, that's right Master Public Key + Private Key of any addresses. Thanks for correcting me. And this is the guy who educated me about this and made me realized how big of mistake I was making. Smiley

Thanks dabura

Pages: [1]
  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!