Some questions about BTC addresses, wallets and private keys

Like many I bought my first bit of bitcoin on an exchange. Then I moved it to an interest account. Yet, “not your keys, not your coin”, so I am looking into wallets.

For purposes of making things concrete, let’s take a random bitcoin address: [bc1q6pr364uy3zplj0q7p3w7qm6chex53zk06cz48f](

I read on blockchain explorer: 54 transactions on this address, for a current balance of 0.01232966 BTC.

I have many questions of which it is not as easy as one might think to find an answer for, so I hope some of you could answer:

1. When I download a software wallet (for example Exodus), and click “receive”, it gives me a bitcoin address like the one above. When I look up this address on blockchain explorer, it has 0 bitcoin and transactions on it. This makes sense. But is it so that the address was pre-existing on the blockchain, and Exodus took a random, unused, address and assigned it to me?
2. When I say “assign to me”, I really mean “assigned to the private keys that Exodus created for this wallet on my laptop”. Is this correct?
3. Exodus has not given me a seed phrase to write down. How is this address it gave me, protected? Without a seedphrase, how can private keys be re-generated in case my laptop would crash, get stolen or whatever?
4. Going back to the original example address. The user behind that address is running a software or hardware wallet as well. At some point this address was assigned to his wallet. And he was given a seedphrase to generate the private keys of the wallet (do I formulate that correctly?). Is my understanding correct that from then onwards that address is only accessible with those private keys (where and how is an address linked to a private key?), and without the seedphrase you cannot re-generate the private key and then any btc on the address would be forever inaccessible. Is this correct?

View Reddit by fluffy_convictView Source

Leave a Reply

Your email address will not be published.

GIPHY App Key not set. Please check settings


  1. 1. No. The address you just created never existed before. Looking on the blockchain will not find it but often explorers return zero and no txs as if it was found blank – same layout etc.

    2. There is no assigning. Your wallet generated a random number and used that to generate private and public keys, then calculated addresses. No other entity is involved, and no other entity knows that data until you use it. When you receive btc on an address that is the first time it appears on the blockchain (in your tx data).

    3. I don’t know how Exodus works. Read their FAQ info. Most wallets use a seed for backup. From what I recall Exodus isn’t even “open source”, and as such I’d never consider using it, ever. Cannot trust what it does without it’s code being open to inspection. Mathematically it’s entirely **possible** every user wallet is generated from a master seed allowing the programmer access to all user btc.

    4. An address is derived by calculation from a public key, and that in turn from a private key. Knowing a private key any software can find the related pubkey and address. The whole thing works because of specific properties of the math used. Similar math for generating private keys from a seed. All these values are inextricably bound and require no outside help, database or authority.

    You can roll dice and write down the results, then use that as a private key, calculate the public key, do more math and have an address, receive pmt on that address. At some future date you want to spend the pmt. You use the private key to “sign” (math!) the transaction data proving you have the private key. If the signature is good then other nodes will accept your spending. These are the only two times you need interact with anything (the blockchain) external to yourself.

    No database, registration, authority, or censorship required.

    Math is beautiful.

    **edit** – If you want a pretty good primer on the math that makes this all possible then search ECC (Elliptic Curve Cryptography) on Google. Many hits, and [this is the first](, which also seems pretty decent (plus recommended by a well known crypto guru Bruce Schneier).

  2. To answer your first question, exodus should be generating a random Bitcoin wallet when you create a new one, it “shows up” on the block explorer because the block explorer doesn’t keep a log of all possible wallets, it instead takes a wallet that you query (the one you just generated) and it looks through all the blockchain transactions for Bitcoin and determines if any transaction was ever made to that address. As you said, a brand new wallet should not have any transactions ever made to it.

    Exodus should allow you to either dump the private key to the wallet in a .JSON file, or maybe it’ll show a seed phrase, look around in the settings tab a bit

  3. Every address already exists on the blockchain, software wallets just generate (seeded) random private keys that let you spend from a specific address. You can send bitcoin to any valid address, even ones that nobody has the private key for. It’s not a great idea to do it randomly but there are some reasons someone might do this (google proof of burn).

What do you think?

Ethereum Massive Prediction: ETH To Explode By 200% Over Bitcoin | CryptoGazette

Ethereum Bulls Are Around The Corner | CryptoGazette

Polkadot price analysis: Bears hinder price movement above $42.91 margin