Author

Topic: [need help] Offline / online address (Read 1336 times)

legendary
Activity: 1232
Merit: 1029
give me your cryptos
September 28, 2016, 07:24:19 PM
#12
There's no difference between online and offline addresses generation. Wallets do not check for a collision. Even if they did, someone could be holding keys to addresses that haven't been used yet. You can't tell.

It's extremely rare, so don't count on it.


If the protocol wasn't changed at all, then once someone spent some bitcoins which were received at an address (which results in the public key being broadcast) it might become possible to compute the private key. This isn't a certainty, and the first available quantum computers won't be very good at it, but given enough time quantum computers might be developed that could.

There are a few things to keep in mind here:

1.  "Quantum" doesn't mean "magic" or "super-duper fast".  Quantum computing is a completely different way of handling calculations.  It is very good at some types of calculations, and very bad at other types.

2. Much like the computers of the 1940's and early 1950's, the first quantum computers aren't going to be able to do a lot.  Over years (probably decades) they may be improved upon and get more versatile, but initially they'll be limited in their usefulness.

3. There will be time to modify the bitcoin transaction types to be even more resistant to the abilities of quantum computers.

4. Bitcoin addresses are already quantum resistant.  The public key is not initially given out.  It is passed through the SHA256 hashing algorithm and then the result of that through the RIPEMD160 hashing algorithm.  It is only result of the RIPEMD160 hashing algorithm that is intially stored in the blockchain when you receive a transaction.  Since quantum computers aren't very good at reversing hashing algorithms, this protects the bitcoins your receive.  It is only when you spend those bitcoins that the public key becomes publicly known.  So, if you never re-use a bitcoin address (always generate a new address for every transaction that you receive), then none of your bitcoins will ever be sitting at an address with a publicly known public key.

Quantum computers that we think of today are basically  computers that can store two states in a single atom, with the current physical limit being one. That's all the difference.
legendary
Activity: 3388
Merit: 4615
September 27, 2016, 07:48:36 AM
#11
- snip -
but it is possible.
- snip -

No it isn't.

Perhaps you are using a VERY different definition of the word "possible" than most of the world uses.

- snip -
a quantum computer, how would that have an impact?

If the protocol wasn't changed at all, then once someone spent some bitcoins which were received at an address (which results in the public key being broadcast) it might become possible to compute the private key. This isn't a certainty, and the first available quantum computers won't be very good at it, but given enough time quantum computers might be developed that could.

There are a few things to keep in mind here:

1.  "Quantum" doesn't mean "magic" or "super-duper fast".  Quantum computing is a completely different way of handling calculations.  It is very good at some types of calculations, and very bad at other types.

2. Much like the computers of the 1940's and early 1950's, the first quantum computers aren't going to be able to do a lot.  Over years (probably decades) they may be improved upon and get more versatile, but initially they'll be limited in their usefulness.

3. There will be time to modify the bitcoin transaction types to be even more resistant to the abilities of quantum computers.

4. Bitcoin addresses are already quantum resistant.  The public key is not initially given out.  It is passed through the SHA256 hashing algorithm and then the result of that through the RIPEMD160 hashing algorithm.  It is only result of the RIPEMD160 hashing algorithm that is intially stored in the blockchain when you receive a transaction.  Since quantum computers aren't very good at reversing hashing algorithms, this protects the bitcoins your receive.  It is only when you spend those bitcoins that the public key becomes publicly known.  So, if you never re-use a bitcoin address (always generate a new address for every transaction that you receive), then none of your bitcoins will ever be sitting at an address with a publicly known public key.

Let's say someone has one and set it's task to generating addresses, would such a person be able to drastically 'improve' his changes to 'find' addresses which are already taken/have some Bitcoins in them, i.e. address collision?

No.

Brute forcing a bitcoin address will still be impossible.  It can be difficult for humans to grasp just how bit the numbers are that we are dealing with.  It's a bit like saying: "I know that dumping this teaspoon of fresh water into the ocean isn't going to noticeably change the salinity of the ocean, but what if I dump this 5 gallon bucket in?  Would that reduce the ocean's salinity in a significant way?


sr. member
Activity: 343
Merit: 252
September 27, 2016, 06:54:20 AM
#10
It's next to impossible to get an address collision but it is possible. I'm serious when i say next to impossible, it almost practically is. Should be nothing to worry about.

Well, though a bit off topic, it is something to think about; like a quantum computer, how would that have an impact? Let's say someone has one and set it's task to generating addresses, would such a person be able to drastically 'improve' his changes to 'find' addresses which are already taken/have some Bitcoins in them, i.e. address collision? Or am I thinking to simple on this...
sr. member
Activity: 252
Merit: 250
September 27, 2016, 06:24:03 AM
#9
It's next to impossible to get an address collision but it is possible. I'm serious when i say next to impossible, it almost practically is. Should be nothing to worry about.
legendary
Activity: 2909
Merit: 1307
September 21, 2016, 04:55:36 AM
#8
No one else will generate the same address that you generated in your offline system.

if your offline random generator is good enough..
full member
Activity: 210
Merit: 100
September 19, 2016, 05:27:46 AM
#7
i heard somewhere on the forum that offline address is possible and it is secured than online address , we can store it on hard disk and make paper wallet that may be the secured one than online wallet.
sr. member
Activity: 343
Merit: 252
September 16, 2016, 03:53:50 AM
#6
I'm familiar with the Bitcoin, but not with the mathematics behind the wallet(s) or how they work. Your answers made me understand it a whole lot better, thank you guys.


Internet connection is not required to generate a bitcoin address you can do it offline,you can read here about address collision http://bitcoin.stackexchange.com/questions/7724/what-happens-if-your-bitcoin-client-generates-an-address-identical-to-another-pe

Thank you, that was a very useful page for me.



Leaving the address collision mathematics aside.  I am not exactly sure what you meant when you stated; "that address never gets propagated to the network".  The address in question most definitely will be in the network (that is to say in the permanent blockchain).  Regardless of what the originating BTC address is, your address in question MUST be used in the blockchain in order for a transaction to be sent to it.  e.g. I could setup thousands of addresses in Electrum and if I never use them nobody other than me will ever see them.  BUT the first time I send any btc to one its on the blockchain forever.  Does this knowledge help you in your thinking about this?

I was under the assumption that an address newly generated, was somehow checked in the network by some kind of hash if it not already existed. And yes, your reply helped me understand it better too, ty  Smiley
hero member
Activity: 758
Merit: 606
September 15, 2016, 07:43:15 PM
#5
I have a technical question:

If I create a new wallet address on a complete offline system (one that never ever connects to the net), will that address 100% be mine? Or would there be a 0.0000....% chance that someone somewhere could generate the exact same address as well?

Reason why I want to know, is because I want to work with 2 systems; 1 offline, and 1 online. On my offline system, I want to create the addresses I need. Through my online system, I want to send my coins to those addresses. But if I create an address on an offline system that never connects to the net, I'm not entirely sure that address will 100% be mine (because to my logic, that address never gets propagated to the network and thus maybe someone somewhere could generate the exact same address?).


Leaving the address collision mathematics aside.  I am not exactly sure what you meant when you stated; "that address never gets propagated to the network".  The address in question most definitely will be in the network (that is to say in the permanent blockchain).  Regardless of what the originating BTC address is, your address in question MUST be used in the blockchain in order for a transaction to be sent to it.  e.g. I could setup thousands of addresses in Electrum and if I never use them nobody other than me will ever see them.  BUT the first time I send any btc to one its on the blockchain forever.  Does this knowledge help you in your thinking about this?
legendary
Activity: 1274
Merit: 1006
Trainman
September 15, 2016, 06:41:39 PM
#4
Internet connection is not required to generate a bitcoin address you can do it offline,you can read here about address collision http://bitcoin.stackexchange.com/questions/7724/what-happens-if-your-bitcoin-client-generates-an-address-identical-to-another-pe
staff
Activity: 3374
Merit: 6530
Just writing some code
September 15, 2016, 06:18:09 PM
#3
Reason why I want to know, is because I want to work with 2 systems; 1 offline, and 1 online. On my offline system, I want to create the addresses I need. Through my online system, I want to send my coins to those addresses. But if I create an address on an offline system that never connects to the net, I'm not entirely sure that address will 100% be mine (because to my logic, that address never gets propagated to the network and thus maybe someone somewhere could generate the exact same address?).
It doesn't matter either way, wallets do not check whether a newly generated address has been used before, and there is nothing to "register" and address to. Wallets assume an address is new because they assume that the PRNG is not broken and that fact that the probability of an address collision is ridiculously low. Also, having to search through the entire blockchain for all of the known addresses would take a while and use up a lot of computing resources.
copper member
Activity: 924
Merit: 1007
hee-ho.
September 15, 2016, 05:08:57 PM
#2
I have a technical question:

If I create a new wallet address on a complete offline system (one that never ever connects to the net), will that address 100% be mine? Or would there be a 0.0000....% chance that someone somewhere could generate the exact same address as well?

it's called address collision and the chance of that happening once is 0.000000000000000000000000000000000000684% per 10 billion addresses. you'd be the unluckiest living thing in the universe if that happens to you.
sr. member
Activity: 343
Merit: 252
September 15, 2016, 03:51:50 PM
#1
I have a technical question:

If I create a new wallet address on a complete offline system (one that never ever connects to the net), will that address 100% be mine? Or would there be a 0.0000....% chance that someone somewhere could generate the exact same address as well?

Reason why I want to know, is because I want to work with 2 systems; 1 offline, and 1 online. On my offline system, I want to create the addresses I need. Through my online system, I want to send my coins to those addresses. But if I create an address on an offline system that never connects to the net, I'm not entirely sure that address will 100% be mine (because to my logic, that address never gets propagated to the network and thus maybe someone somewhere could generate the exact same address?).
Jump to: