Bitcoin Forum
December 14, 2024, 01:58:46 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: how to i figure out my own private key/public key?  (Read 2356 times)
SurReality89 (OP)
Full Member
***
Offline Offline

Activity: 168
Merit: 100


View Profile
February 26, 2015, 01:12:38 AM
 #1

is it impossible to know this if you set up a wallet on a website like coinbase and blockchain.info?

or do i have to choose my own private key and do the math to figure out the public key and create a wallet based off my private key from the start in order to know it?

also how would you do that?
DannyHamilton
Legendary
*
Offline Offline

Activity: 3514
Merit: 4894



View Profile
February 26, 2015, 03:25:03 AM
 #2

is it impossible to know this if you set up a wallet on a website like coinbase

Yes, it is impossible.  However, what Coinbase provides is not a "wallet" (even if they like to try and call it that.  Coinbase provides you an account on their system.  They store all the bitcoins in their own wallet (effectively meaning the bitcoins belong to Coinbase and not to you).  Then they promise to honor the balance represented in their database for your "account" and send the same amount of their bitcoins wherever you ask them to.

and blockchain.info?

No, it is not impossible.  With blockchain.info you have exclusive control of the private keys.  As long as you don't have any malware, blockchain.info does not have access to your private keys, only you do.

or do i have to choose my own private key and do the math to figure out the public key and create a wallet based off my private key from the start in order to know it?

You certainly could do that if you wanted to, but most people don't bother.  Most bitcoin wallets (such as Bitoin Core, Armory, Electrum, MultiBit, Blockchain.info, etc) provide a way to access your private keys if you really want to.

also how would you do that?

How would you calculate it? You'd start by generating a TRULY random number between 1 and 1.15X1077.  That's your private key.  Next you would perform point multiplication with the secp256k1 curve.  The resulting point is your public key.  Then you would follow these steps to get a bitcoin address:

https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses
pedrog
Legendary
*
Offline Offline

Activity: 2786
Merit: 1031



View Profile
February 26, 2015, 03:27:05 AM
 #3

With Coinbase you do not have access to the private keys, they are the custodians of your coins.

With Blockchain.info go to Import/Export and there you can find your private keys.

costgranda
Full Member
***
Offline Offline

Activity: 476
Merit: 100



View Profile
February 26, 2015, 03:58:36 AM
 #4

With Coinbase you do not have access to the private keys, they are the custodians of your coins.

With Blockchain.info go to Import/Export and there you can find your private keys.
yep, if you select export witouth encrypt, you will see all your private keys, when you export to a paper wallet, you will see under your btc address your private key in bitcoin-qt  format
SurReality89 (OP)
Full Member
***
Offline Offline

Activity: 168
Merit: 100


View Profile
February 26, 2015, 05:23:51 AM
 #5

Thanks so much for the info. What are the chances I would select a private key that is already in use or that someone has access to but looks not do because it's empty?

It seems when self selecting a private key one could be playing the lottery for free and stumble on a key someone else had btc on. Up until I learned this I thought Bitcoin was more secure than I do now. It still seems pretty secure none the less. But there is a chance less than winning the power ball ten times in a row that you get someone else's wallet.
PenguinFire
Full Member
***
Offline Offline

Activity: 154
Merit: 100


That Darn Cat


View Profile
February 26, 2015, 06:02:29 AM
 #6

is it impossible to know this if you set up a wallet on a website like coinbase

Yes, it is impossible.  However, what Coinbase provides is not a "wallet" (even if they like to try and call it that.  Coinbase provides you an account on their system.  They store all the bitcoins in their own wallet (effectively meaning the bitcoins belong to Coinbase and not to you).  Then they promise to honor the balance represented in their database for your "account" and send the same amount of their bitcoins wherever you ask them to.

and blockchain.info?

No, it is not impossible.  With blockchain.info you have exclusive control of the private keys.  As long as you don't have any malware, blockchain.info does not have access to your private keys, only you do.

or do i have to choose my own private key and do the math to figure out the public key and create a wallet based off my private key from the start in order to know it?

You certainly could do that if you wanted to, but most people don't bother.  Most bitcoin wallets (such as Bitoin Core, Armory, Electrum, MultiBit, Blockchain.info, etc) provide a way to access your private keys if you really want to.

also how would you do that?

How would you calculate it? You'd start by generating a TRULY random number between 1 and 1.15X1077.  That's your private key.  Next you would perform point multiplication with the secp256k1 curve.  The resulting point is your public key.  Then you would follow these steps to get a bitcoin address:

https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses


I am a new BTC user (2-3 weeks) and this is on par.  I was confused for the first two weeks or so.  It can be complex at first but then it all is sorta understandable for a simple logic sense. 

Minnlo
Hero Member
*****
Offline Offline

Activity: 868
Merit: 1000



View Profile
February 26, 2015, 07:22:39 AM
 #7

Thanks so much for the info. What are the chances I would select a private key that is already in use or that someone has access to but looks not do because it's empty?

It seems when self selecting a private key one could be playing the lottery for free and stumble on a key someone else had btc on. Up until I learned this I thought Bitcoin was more secure than I do now. It still seems pretty secure none the less. But there is a chance less than winning the power ball ten times in a row that you get someone else's wallet.

Unless you are using some bugged RNG, the chance for a collision is non-zero but is very very very low. In theory, the chance of getting suffocation in your room is non-zero as well, because air molecules moves randomly and may all move away from you.

SurReality89 (OP)
Full Member
***
Offline Offline

Activity: 168
Merit: 100


View Profile
February 26, 2015, 07:53:54 AM
 #8

I don't think that's a good example. There would have to be some change in atmospheric pressure.

The chance would be exactly how many wallets in use there are divided by 10^77.

Not to mention the idea that you can solve for the y coordinate but not the x is math I don't understand...

ranochigo
Legendary
*
Offline Offline

Activity: 3052
Merit: 4443


Crypto Swap Exchange


View Profile
February 26, 2015, 11:39:38 AM
 #9

Thanks so much for the info. What are the chances I would select a private key that is already in use or that someone has access to but looks not do because it's empty?

It seems when self selecting a private key one could be playing the lottery for free and stumble on a key someone else had btc on. Up until I learned this I thought Bitcoin was more secure than I do now. It still seems pretty secure none the less. But there is a chance less than winning the power ball ten times in a row that you get someone else's wallet.
That is pretty much impossible. If you try to bruteforce a single private key, it would take the energy of the sun and would still take a few thousand years. There are approximately 2^160 keys to brute force. If you own 100 datacenter, that would still take a thousand years with a hefty electrical fee.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
Muhammed Zakir
Hero Member
*****
Offline Offline

Activity: 560
Merit: 509


I prefer Zakir over Muhammed when mentioning me!


View Profile WWW
February 26, 2015, 11:57:01 AM
 #10

That is pretty much impossible. If you try to bruteforce a single private key, it would take the energy of the sun and would still take a few thousand years. There are approximately 2^160 keys to brute force. If you own 100 datacenter, that would still take a thousand years with a hefty electrical fee.

Explained in image -> http://flic.kr/p/qf334o.

   -MZ

Amph
Legendary
*
Offline Offline

Activity: 3248
Merit: 1070



View Profile
February 26, 2015, 01:45:59 PM
 #11

you can't, always keep your btc in a local wallet, you have a better control over it
DannyHamilton
Legendary
*
Offline Offline

Activity: 3514
Merit: 4894



View Profile
February 26, 2015, 03:29:47 PM
 #12

Thanks so much for the info. What are the chances I would select a private key that is already in use or that someone has access to but looks not do because it's empty?

It seems when self selecting a private key one could be playing the lottery for free and stumble on a key someone else had btc on. Up until I learned this I thought Bitcoin was more secure than I do now. It still seems pretty secure none the less. But there is a chance less than winning the power ball ten times in a row that you get someone else's wallet.

Using the current version 1 addressing system in bitcoin, there are no more than 1.462X1048 unique bitcoin addresses possible.

There can never be more than 2.1X1015 addresses that simultaneously have any bitcoins associated with them (and if the number of addresses with bitcoins gets close to that, then almost all addresses will have only 0.00000001 BTC).

Therefore, the odds of stumbling across a randomly generated address that is already associated with some bitcoins will always be less than 1 in 6.96X1032 (or 0.00000000000000000000000000000014%).

This is close enough to zero that you can simply treat it as zero for real world purposes.
costgranda
Full Member
***
Offline Offline

Activity: 476
Merit: 100



View Profile
February 26, 2015, 05:33:24 PM
 #13

Nice pic MZ, omg my brain will explote with all this numbers lol
SurReality89 (OP)
Full Member
***
Offline Offline

Activity: 168
Merit: 100


View Profile
February 26, 2015, 06:50:11 PM
 #14

Thanks so much for the info. What are the chances I would select a private key that is already in use or that someone has access to but looks not do because it's empty?

It seems when self selecting a private key one could be playing the lottery for free and stumble on a key someone else had btc on. Up until I learned this I thought Bitcoin was more secure than I do now. It still seems pretty secure none the less. But there is a chance less than winning the power ball ten times in a row that you get someone else's wallet.
That is pretty much impossible. If you try to bruteforce a single private key, it would take the energy of the sun and would still take a few thousand years. There are approximately 2^160 keys to brute force. If you own 100 datacenter, that would still take a thousand years with a hefty electrical fee.

I'm not talking about brute forcing a single key. I'm talking about randomly finding any key that is in use.

I mean people play the lottery. Don't you think if everyone who is interested in playing a free lottery takes checks a random key for several hours a day that someone just might gain access to someone bitcoin?
DannyHamilton
Legendary
*
Offline Offline

Activity: 3514
Merit: 4894



View Profile
February 26, 2015, 07:48:06 PM
 #15

Don't you think if everyone who is interested in playing a free lottery takes checks a random key for several hours a day that someone just might gain access to someone bitcoin?

No.

Unfortunately, the human mind has a very difficult time understanding just how big "very big numbers" are.

It isn't going to happen.  These aren't just lottery odds.  These are "In real world situations, you can just call it impossible." odds.
SurReality89 (OP)
Full Member
***
Offline Offline

Activity: 168
Merit: 100


View Profile
February 27, 2015, 05:06:19 AM
 #16

well if you pick the private key 1 you can see that it was used.
DannyHamilton
Legendary
*
Offline Offline

Activity: 3514
Merit: 4894



View Profile
February 27, 2015, 11:16:52 AM
 #17

well if you pick the private key 1 you can see that it was used.

Correct.

This is why it is very important to generate a truly random number.  If you generate a wallet from a number that you've chosen for a specific reason (such a "1"), then there is a VERY GOOD chance that either someone else has already chosen that number for a similar reason, or that someone else will choose that number in the future ofr a similar reason, or that a hacker will figure out your reason and will generate a list of numbers that includes yours.

Human beings are VERY bad ad being random.  When we think we are making a "random" choice, we almost always are influenced by our subconscious into a choice that fits into some pattern.

This is why my explanations were careful to explain that you need to use a randomly generated private key:

start by generating a TRULY random number

the odds of stumbling across a randomly generated address

ranochigo
Legendary
*
Offline Offline

Activity: 3052
Merit: 4443


Crypto Swap Exchange


View Profile
February 27, 2015, 11:45:45 AM
 #18

Thanks so much for the info. What are the chances I would select a private key that is already in use or that someone has access to but looks not do because it's empty?

It seems when self selecting a private key one could be playing the lottery for free and stumble on a key someone else had btc on. Up until I learned this I thought Bitcoin was more secure than I do now. It still seems pretty secure none the less. But there is a chance less than winning the power ball ten times in a row that you get someone else's wallet.
That is pretty much impossible. If you try to bruteforce a single private key, it would take the energy of the sun and would still take a few thousand years. There are approximately 2^160 keys to brute force. If you own 100 datacenter, that would still take a thousand years with a hefty electrical fee.

I'm not talking about brute forcing a single key. I'm talking about randomly finding any key that is in use.

I mean people play the lottery. Don't you think if everyone who is interested in playing a free lottery takes checks a random key for several hours a day that someone just might gain access to someone bitcoin?
You would honestly just be wasting your time. A lottery would have a few million more chance to win than finding a collision. Basically you are playing a lottery which is impossible to win unless a weak key is chosen like 1 as the user said above.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
SurReality89 (OP)
Full Member
***
Offline Offline

Activity: 168
Merit: 100


View Profile
February 27, 2015, 04:11:48 PM
 #19

so can anyone explain a the elliptic curve? like show the math it take to get from private to public key and then address?

i've looked a lot and find something like

y^3=x^2+7

so is the public key equal to y and private equal to x?
DannyHamilton
Legendary
*
Offline Offline

Activity: 3514
Merit: 4894



View Profile
February 27, 2015, 06:05:03 PM
 #20

so can anyone explain a the elliptic curve? like show the math it take to get from private to public key and then address?

i've looked a lot and find something like

y^3=x^2+7

You've got your exponents switched.

The equation for the elliptic curve itself is y2=x3+ax+b
For bitcoin, a=0 and b=7 so the resulting curve is:
y2=x3+7

so is the public key equal to y and private equal to x?

No.

The public key will be a point, so it will have both an x and y component.

The private key is just a number, it doesn't exist on the curve, and it isn't x or y.

A base point is chosen on the curve. For bitcoin this base point is:
X=55066263022277343669578718895168534326250603453777594175500187360389116729240
Y=32670510020758816978083085130507043184471273380659243275938904335757337482424

Then that point is added to itself using elliptic curve point addition.  The private key indicates how many times you have to add the point to itself.  The resulting point is the public key.

For a reasonably understandable explanation of how it all works, read through the three pages of this ars technica article:
http://arstechnica.com/security/2013/10/a-relatively-easy-to-understand-primer-on-elliptic-curve-cryptography/

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!