Author Topic: HOW are wallets Deterministic?  (Read 2027 times)

0 Members and 1 Guest are viewing this topic.

Offline Riverhead


Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
I just successfully created a local contact coldstorage.xeroc with a new random key ... worked .. haven't tried to register though .. gonna try tomorrow

Offline CryptoPrometheus

  • Sr. Member
  • ****
  • Posts: 324
    • View Profile
Sorry guys I won't be able to test this till tomorrow nite  ::)
"Power and law are not synonymous. In fact, they are often in opposition and irreconcilable."
- Cicero

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
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?

Offline Riverhead

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.

Offline CryptoPrometheus

  • Sr. Member
  • ****
  • Posts: 324
    • View Profile
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?
"Power and law are not synonymous. In fact, they are often in opposition and irreconcilable."
- Cicero

Offline Riverhead

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.


Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
Thanks guys, I feel like I got something
one of our devs (toast) likes to say

learn sth. new every day :)

Offline CryptoPrometheus

  • Sr. Member
  • ****
  • Posts: 324
    • View Profile
Thanks guys, I feel like I got something
"Power and law are not synonymous. In fact, they are often in opposition and irreconcilable."
- Cicero

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
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

Ggozzo

  • Guest
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.

Offline CryptoPrometheus

  • Sr. Member
  • ****
  • Posts: 324
    • View Profile
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?
« Last Edit: August 16, 2014, 01:40:12 pm by crypto_prometheus_81 »
"Power and law are not synonymous. In fact, they are often in opposition and irreconcilable."
- Cicero

Offline bytemaster

Password and account name are not used to generate private keys 


Sent from my iPhone using Tapatalk
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline CryptoPrometheus

  • Sr. Member
  • ****
  • Posts: 324
    • View Profile
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!


"Power and law are not synonymous. In fact, they are often in opposition and irreconcilable."
- Cicero