Bitcoin Forum

Other => Beginners & Help => Topic started by: SurReality89 on February 26, 2015, 01:12:38 AM



Title: how to i figure out my own private key/public key?
Post by: SurReality89 on February 26, 2015, 01:12:38 AM
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?


Title: Re: how to i figure out my own private key/public key?
Post by: DannyHamilton on February 26, 2015, 03:25:03 AM
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


Title: Re: how to i figure out my own private key/public key?
Post by: pedrog on February 26, 2015, 03:27:05 AM
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.


Title: Re: how to i figure out my own private key/public key?
Post by: costgranda on February 26, 2015, 03:58:36 AM
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


Title: Re: how to i figure out my own private key/public key?
Post by: SurReality89 on February 26, 2015, 05:23:51 AM
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.


Title: Re: how to i figure out my own private key/public key?
Post by: PenguinFire on February 26, 2015, 06:02:29 AM
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. 


Title: Re: how to i figure out my own private key/public key?
Post by: Minnlo on February 26, 2015, 07:22:39 AM
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.


Title: Re: how to i figure out my own private key/public key?
Post by: SurReality89 on February 26, 2015, 07:53:54 AM
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...



Title: Re: how to i figure out my own private key/public key?
Post by: ranochigo on February 26, 2015, 11:39:38 AM
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.


Title: Re: how to i figure out my own private key/public key?
Post by: Muhammed Zakir on February 26, 2015, 11:57:01 AM
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


Title: Re: how to i figure out my own private key/public key?
Post by: Amph on February 26, 2015, 01:45:59 PM
you can't, always keep your btc in a local wallet, you have a better control over it


Title: Re: how to i figure out my own private key/public key?
Post by: DannyHamilton on February 26, 2015, 03:29:47 PM
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.


Title: Re: how to i figure out my own private key/public key?
Post by: costgranda on February 26, 2015, 05:33:24 PM
Nice pic MZ, omg my brain will explote with all this numbers lol


Title: Re: how to i figure out my own private key/public key?
Post by: SurReality89 on February 26, 2015, 06:50:11 PM
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?


Title: Re: how to i figure out my own private key/public key?
Post by: DannyHamilton on February 26, 2015, 07:48:06 PM
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.


Title: Re: how to i figure out my own private key/public key?
Post by: SurReality89 on February 27, 2015, 05:06:19 AM
well if you pick the private key 1 you can see that it was used.


Title: Re: how to i figure out my own private key/public key?
Post by: DannyHamilton on February 27, 2015, 11:16:52 AM
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



Title: Re: how to i figure out my own private key/public key?
Post by: ranochigo on February 27, 2015, 11:45:45 AM
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.


Title: Re: how to i figure out my own private key/public key?
Post by: SurReality89 on February 27, 2015, 04:11:48 PM
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?


Title: Re: how to i figure out my own private key/public key?
Post by: DannyHamilton on February 27, 2015, 06:05:03 PM
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/



Title: Re: how to i figure out my own private key/public key?
Post by: SurReality89 on February 27, 2015, 07:38:33 PM
can i just see an example. like how do you get from the private key 1 to the public key and then the address. could you plug an equation in an xcel spreadsheet and input private keys and see the public key and address.

also when you have the private key and public key/address where do you go to transfer to another public key/address?


Title: Re: how to i figure out my own private key/public key?
Post by: DannyHamilton on February 27, 2015, 08:24:12 PM
can i just see an example. like how do you get from the private key 1 to the public key and then the address.

Sorry, I'm not going to sit here and type up all the math for you.  I've explained the concept, and given you some resources.

also when you have the private key and public key/address where do you go to transfer to another public key/address?

You use wallet software.  You tell the software what address you want to send the bitcoins to, and how much you want to send.  The wallet takes care of the rest.

The wallet creates a sequence of bytes of data representing a transaction that is supplied value by listing some previously unspent transaction outputs and then assigns that value to new unspent outputs.  Proof that you have the right to spend the previously unspent outputs is supplied by the wallet software by using the private key to calculate a digital signature of a modified version of the transaction.  This signature can be verified by all nodes on the system by using the public key.

The new outputs include a script that place a requirement that must be met in order for any node to accept that output being used as an input.  The most common requirement is a digital signature from a private key that is associated with a particular public key hash.  This is represented with an "bitcoin address" when presenting the interface to the user.


Title: Re: how to i figure out my own private key/public key?
Post by: SurReality89 on February 27, 2015, 08:31:48 PM
i thought the whole point of knowing your private key, like on a paper wallet is so you don't need wallet software.

so in order to transfer from a paper wallet you need software?


Title: Re: how to i figure out my own private key/public key?
Post by: DannyHamilton on February 27, 2015, 08:39:45 PM
i thought the whole point of knowing your private key, like on a paper wallet is so you don't need wallet software.

No.  You've misunderstood.  It would be extremely difficult to create and sign a transaction by hand.

The purpose of having your private key on paper is that it can't be hacked or accessed by viruses, and you won't lose it if your hard drive crashes.  It's fine for long term storage of bitcoins that you don't intend to spend any time soon.

so in order to transfer from a paper wallet you need software?

Yes.


Title: Re: how to i figure out my own private key/public key?
Post by: SurReality89 on February 27, 2015, 08:57:28 PM
gotcha. yea i thought you could just do it on blockchain, but i guess you need to use the app to do it.

anyway i'm not expecting you to type up the math. i thought it was just one "easy" equation, but all i'm finding is bits and pieces of it and a lot of people saying its a simple math problem but not a single example of the problem....

other than the address to private key "1" is 1EHNa6Q4Jz2uvNExL497mE43ikXhwF6kZm


i'm just sifting through an unbearable amount of information to find something that seems as though it is at least claimed to be so simple.