BitShares Forum

Main => General Discussion => Topic started by: CryptoPrometheus on August 16, 2014, 12:08:10 pm

Title: HOW are wallets Deterministic?
Post by: CryptoPrometheus on August 16, 2014, 12:08:10 pm
Just trying to find some clarity on the so called "deterministic" nature of the wallet

If I enter a registered account name/handle and the appropriate passcode into ANY wallet terminal (assuming the terminal is secure and the blockchain is synched)
will I get access to my accounts?

In other words, If the *source* Windows/Mac/Ubuntu wallet software is installed on ANY operating system AND the blockchain is synched, AND I enter a registered account name/handle AND appropriate passcode to unlock wallet, will those actions result in access to said/stated registered account name/handle?

Links to any other relevent information I would be most grateful  :D

CHEERS!
THANK YOU!


Title: Re: HOW are wallets Deterministic?
Post by: bytemaster on August 16, 2014, 01:15:54 pm
Password and account name are not used to generate private keys 


Sent from my iPhone using Tapatalk (http://tapatalk.com/m?id=1)
Title: Re: HOW are wallets Deterministic?
Post by: CryptoPrometheus on August 16, 2014, 01:37:22 pm
I appreciate the terse reply, Even though it leaves me confused...lol

A question of a different flavor:

What is *best practice* for preventing exposure of your private PTS/AGS keys to potentially malicious 3rd party DAC wallets?
Title: Re: HOW are wallets Deterministic?
Post by: Ggozzo on August 16, 2014, 04:08:53 pm
I don't know the technicals of it but, I have BitsharesX running on different machines. For 2, an old VPS I killed and the new VPS, I used the same password to access the platform. It doesn't link to my account unless I imported the privatekey. As I understand, your privatekey isn't generated until you register an account or import one and the password is only linked to unlocking the wallet. It's not linked to your accounts.  So you could use the same password on your laptop as you do on your desktop and the accounts wouldn't be linked in anyway unless you imported the privkey.
Title: Re: HOW are wallets Deterministic?
Post by: xeroc on August 16, 2014, 06:24:56 pm
I don't know the technicals of it but, I have BitsharesX running on different machines. For 2, an old VPS I killed and the new VPS, I used the same password to access the platform. It doesn't link to my account unless I imported the privatekey. As I understand, your privatekey isn't generated until you register an account or import one and the password is only linked to unlocking the wallet. It's not linked to your accounts.  So you could use the same password on your laptop as you do on your desktop and the accounts wouldn't be linked in anyway unless you imported the privkey.
mostly correct, except: the private key is generated once your create a new account .. then your register the corresponding public key with a name on the blockchain
Title: Re: HOW are wallets Deterministic?
Post by: CryptoPrometheus on August 16, 2014, 06:42:46 pm
Thanks guys, I feel like I got something
Title: Re: HOW are wallets Deterministic?
Post by: xeroc on August 16, 2014, 06:55:41 pm
Thanks guys, I feel like I got something
one of our devs (toast) likes to say

learn sth. new every day :)
Title: Re: HOW are wallets Deterministic?
Post by: Riverhead on August 16, 2014, 06:56:20 pm
Thanks guys, I feel like I got something


If I recall something BM said a while ago that once the master key is created the wallet becomes deterministic from then on. So as long as your wallet is backed up (and you don't create any more accounts) you're good. You can take that .json backup and move it to wallets on other machines. As long as you're not a block producing delegate it shouldn't be an issue. So technically you could keep your .json on a flash drive and load it up anywhere you like. You can also create a wallet called my_wallet_whatever and open/close it manually in the client's console screen. When you execute wallet_open my_wallet_whatever you'll be taken to the passphrase opening screen.


Keep in mind the .json is your backup as long as you don't create new accounts.

Title: Re: HOW are wallets Deterministic?
Post by: CryptoPrometheus on August 16, 2014, 07:54:52 pm
Thanks guys, I feel like I got something


If I recall something BM said a while ago that once the master key is created the wallet becomes deterministic from then on. So as long as your wallet is backed up (and you don't create any more accounts) you're good. You can take that .json backup and move it to wallets on other machines. As long as you're not a block producing delegate it shouldn't be an issue. So technically you could keep your .json on a flash drive and load it up anywhere you like. You can also create a wallet called my_wallet_whatever and open/close it manually in the client's console screen. When you execute wallet_open my_wallet_whatever you'll be taken to the passphrase opening screen.


Keep in mind the .json is your backup as long as you don't create new accounts.

I have two accounts in my wallet but only one of them is Registered

After I compiled the wallet I created an account name which included a dot(.)

and after posting the key and recieving seed funds, the name with a (.) would not register so I created a second account in the wallet (without the (.)), and registered that account name Instead

Would a flash drive with the .json work in this situation?
Title: Re: HOW are wallets Deterministic?
Post by: Riverhead on August 16, 2014, 08:06:14 pm
Would be worth testing. Backup to json, rename the wallet directory, fire up the client and see what you get after restoring the json. I'm curious myself.

The . is used for sub accounts.
Title: Re: HOW are wallets Deterministic?
Post by: xeroc on August 16, 2014, 08:23:32 pm
I'd also like to know how sub accounts are used .. my basic question would be .. as the master account ... let's call it "bob" ... has controll over all his sub accounts
a.bob and b.bob .. can he withdraw from those using the private key of "bob" .. or can he just reproduce the private key of "a.bob" and "b.bob" because they are also deterministically generated?

This also leads to the question .. if I hold "bob" .. can I register "coldstorage.bob" with a totally 'new' (offline generted) pubkey?
Title: Re: HOW are wallets Deterministic?
Post by: CryptoPrometheus on August 16, 2014, 08:39:35 pm
Sorry guys I won't be able to test this till tomorrow nite  ::)
Title: Re: HOW are wallets Deterministic?
Post by: xeroc on August 16, 2014, 08:45:43 pm
I just successfully created a local contact coldstorage.xeroc with a new random key ... worked .. haven't tried to register though .. gonna try tomorrow
Title: Re: HOW are wallets Deterministic?
Post by: Riverhead on August 16, 2014, 09:16:14 pm
Awesome!