Author

Topic: public key assignment (Read 161 times)

legendary
Activity: 2296
Merit: 1014
March 03, 2018, 12:56:09 PM
#14
just wondering,

because bitcoin is a de-centralized system, who is responsible for assigning the public key (i.e., the bitcoin address)?

if any individual node is able to assign the public key, won't there be a potential collision?
very good question, quite basic but important
there are more possible addresses than all grains of sand on our entire planet
possibility of collision is astronomically low
you can lower it two times more even, not keeping everything on one address


legendary
Activity: 3808
Merit: 7912
March 03, 2018, 11:11:10 AM
#13
so if one generates the public/private key using an online service, doesn't that mean his/her identity is not anonymous anymore, at least to the law enforcement, because the online service must have his/her IP address?

even if one generate the key pair by running a node him/herself, the IP address should be known to the other nodes on the network, right?

in this regard, how could someone use bitcoin as a mean for illicit activities?

 


Your online wallet better use client side encryption so the server will never see your private keys.  If it doesn't, you haven't done your homework.

 


Roger Ver, a “Bitcoin Angel Investor & Evangelist”, once released the name and address of a BitcoinStore.com customer on a public forum, and then used his administrative privileges on Blockchain.info to lookup this person’s IP address, phone number, and other personal information using the customer’s Bitcoin address — all of which ended up being posted on the forum as well. Why? Because the BitcoinStore accidentally refunded an extra $50 worth of bitcoins to the customer, and the customer didn’t return the extra coins. Roger owns BitcoinStore.com. Presumably, he felt posting the customer’s details would help identify the customer to other merchants… or maybe it was to just settle a score.

from: https://99bitcoins.com/know-more-top-seven-ways-your-identity-can-be-linked-to-your-bitcoin-address/
newbie
Activity: 4
Merit: 0
March 02, 2018, 09:22:12 PM
#12
so if one generates the public/private key using an online service, doesn't that mean his/her identity is not anonymous anymore, at least to the law enforcement, because the online service must have his/her IP address?

even if one generate the key pair by running a node him/herself, the IP address should be known to the other nodes on the network, right?

in this regard, how could someone use bitcoin as a mean for illicit activities?

 


Your online wallet better use client side encryption so the server will never see your private keys.  If it doesn't, you haven't done your homework.

 
legendary
Activity: 3808
Merit: 7912
March 02, 2018, 09:07:20 PM
#11
 Your online wallet better use client side encryption so the server will never see your private keys.  If it doesn't, you haven't done your homework.


If everyone runs his/her own node and generate private and public key pair for him/her self, then yes, no others know his/her private key.

But for people who generate the public/private key pair online through a wallet or some kind of key generating services, i.e., without running his/her own node.  Doesn't that mean whoever generated the key for him/her, the generator has the private key as well?  That's why I used the PIN code for the debt card as an example.
 


So if any individual node can create a public and private key pair, that particular node should know my private key, right?  And there is no way to change the private key.

If a bank gave its customer the PIN for debit card and told he/her that he/she could not change it, everyone would fear for the security of the money in that account, right?
I’m not sure what you’re getting at here. Any node can, and indeed does, create their own key pairs, but they must always keep their private keys secret. The number of available key combinations is such that for all practical purposes, private keys are unguessable. So you’re the only one who should know your private key.

As for your card example: FWIW, the credit and debit cards I’ve used have usually come with a preset PIN that I have not had any means to change. But payment cards are different from bitcoins in that you also need the actual card; you cannot make purchases from my account by knowing just my PIN. Additionally, if someone at my bank would abuse their knowledge of my PIN code, they would stand a good chance of being caught, and the transactions would probably be reversed in any case if I could prove the charges to be fraudulent.

Bitcoin transactions, however, are anonymous and non-repudiable. Anyone who knows your private key can instantly transfer your bitcoins to their address, and investigators can’t easily ‘follow the money’. This means that if your private key is compromised, you’re likely to lose all balances associated with that key, and you will have very slim hopes of ever catching the perpetrator. There is also no central authority that would be able to nullify fraudulent bitcoin transactions.
newbie
Activity: 4
Merit: 0
March 02, 2018, 08:01:35 PM
#10
If everyone runs his/her own node and generate private and public key pair for him/her self, then yes, no others know his/her private key.

But for people who generate the public/private key pair online through a wallet or some kind of key generating services, i.e., without running his/her own node.  Doesn't that mean whoever generated the key for him/her, the generator has the private key as well?  That's why I used the PIN code for the debt card as an example.
 


So if any individual node can create a public and private key pair, that particular node should know my private key, right?  And there is no way to change the private key.

If a bank gave its customer the PIN for debit card and told he/her that he/she could not change it, everyone would fear for the security of the money in that account, right?
I’m not sure what you’re getting at here. Any node can, and indeed does, create their own key pairs, but they must always keep their private keys secret. The number of available key combinations is such that for all practical purposes, private keys are unguessable. So you’re the only one who should know your private key.

As for your card example: FWIW, the credit and debit cards I’ve used have usually come with a preset PIN that I have not had any means to change. But payment cards are different from bitcoins in that you also need the actual card; you cannot make purchases from my account by knowing just my PIN. Additionally, if someone at my bank would abuse their knowledge of my PIN code, they would stand a good chance of being caught, and the transactions would probably be reversed in any case if I could prove the charges to be fraudulent.

Bitcoin transactions, however, are anonymous and non-repudiable. Anyone who knows your private key can instantly transfer your bitcoins to their address, and investigators can’t easily ‘follow the money’. This means that if your private key is compromised, you’re likely to lose all balances associated with that key, and you will have very slim hopes of ever catching the perpetrator. There is also no central authority that would be able to nullify fraudulent bitcoin transactions.
full member
Activity: 210
Merit: 119
March 02, 2018, 07:14:54 PM
#9
So if any individual node can create a public and private key pair, that particular node should know my private key, right?  And there is no way to change the private key.

If a bank gave its customer the PIN for debit card and told he/her that he/she could not change it, everyone would fear for the security of the money in that account, right?
I’m not sure what you’re getting at here. Any node can, and indeed does, create their own key pairs, but they must always keep their private keys secret. The number of available key combinations is such that for all practical purposes, private keys are unguessable. So you’re the only one who should know your private key.

As for your card example: FWIW, the credit and debit cards I’ve used have usually come with a preset PIN that I have not had any means to change. But payment cards are different from bitcoins in that you also need the actual card; you cannot make purchases from my account by knowing just my PIN. Additionally, if someone at my bank would abuse their knowledge of my PIN code, they would stand a good chance of being caught, and the transactions would probably be reversed in any case if I could prove the charges to be fraudulent.

Bitcoin transactions, however, are anonymous and non-repudiable. Anyone who knows your private key can instantly transfer your bitcoins to their address, and investigators can’t easily ‘follow the money’. This means that if your private key is compromised, you’re likely to lose all balances associated with that key, and you will have very slim hopes of ever catching the perpetrator. There is also no central authority that would be able to nullify fraudulent bitcoin transactions.
newbie
Activity: 167
Merit: 0
March 02, 2018, 07:02:42 PM
#8
Bitcoin is a decentralized Blockchain technology centered in Blockchain, and I do not think anyone is personally in control because it runs automatically.
newbie
Activity: 4
Merit: 0
March 02, 2018, 06:57:18 PM
#7
So if any individual node can create a public and private key pair, that particular node should know my private key, right?  And there is no way to change the private key.

If a bank gave its customer the PIN for debit card and told he/her that he/she could not change it, everyone would fear for the security of the money in that account, right?



who is responsible for assigning the public key (i.e., the bitcoin address)?

if any individual node is able to assign the public key, won't there be a potential collision?
Each node creates its own keys. This is important for security; nobody but you must know your private key. A collision is still very unlikely, as the key length allows for a huge number of combinations.
full member
Activity: 210
Merit: 119
March 02, 2018, 06:47:45 PM
#6
who is responsible for assigning the public key (i.e., the bitcoin address)?

if any individual node is able to assign the public key, won't there be a potential collision?
Each node creates its own keys. This is important for security; nobody but you must know your private key. A collision is still very unlikely, as the key length allows for a huge number of combinations.
legendary
Activity: 3948
Merit: 3191
Leave no FUD unchallenged
March 02, 2018, 06:44:00 PM
#5
Addresses are generated through a combination of ECDSA, SHA-256 and RIPEMD-160.  It's all just software and encryption.

This post from 2013 (and every other post in that thread by the same author) tells you everything you need to know about the possibility of address collisions.  2160 is a very large number.
member
Activity: 350
Merit: 10
March 02, 2018, 06:42:03 PM
#4
Here nobody is responsible because bitcoin is an unattended system, it runs by itself in a decentralized way, that's what makes the greatness of bitcoin differentiate it from the bank.
member
Activity: 458
Merit: 10
March 02, 2018, 06:28:29 PM
#3
It is true that bitcoin is a centralized system in Blockchain technology, and the bitcoin wallet is created by itself by bitcoin, and nothing will be knocked down or the same.
full member
Activity: 1736
Merit: 121
March 02, 2018, 06:16:02 PM
#2
Your question is just like when you put a 🔑 in the opening of the door, who opens the door huh? Does the door open by itself? Yes, because the key has a code that is sensored to the door.

Therefore to your question, it has simply been codified and programmed.
newbie
Activity: 4
Merit: 0
March 02, 2018, 05:58:45 PM
#1
just wondering,

because bitcoin is a de-centralized system, who is responsible for assigning the public key (i.e., the bitcoin address)?

if any individual node is able to assign the public key, won't there be a potential collision?
Jump to: