BitShares Forum

Main => General Discussion => Topic started by: suzerain on September 02, 2014, 10:14:06 am

Title: Account Registration and Delegates
Post by: suzerain on September 02, 2014, 10:14:06 am
I sort of checked out of the Protoshares universe in January because of some personal stuff.  Since then there have been a lot of changes.  Now my PTS are converted over to Bitshares-PS, BitsharesX is installed, and I've bought some BTSX at bter.  I guess the PTS will turn into some number of BTS at some later date...but I'm not sure how that will happen. (How will that happen, actually?)

All this has been done, admittedly not entirely wrapping my head around all the concepts yet. So I have two questions:

1. Why would someone want to 'register' his account on the blockchain? Is this just for convenience, or for some other reason?

2. What is a 'delegate', and why would someone want to make her account one?

I've read some explanations, but clearer ones would be appreciated.  If I wrap my head around this more fully, I can probably help with explaining this to an equally confused public.
Title: Re: Account Registration and Delegates
Post by: vegolino on September 02, 2014, 10:53:58 am
HI suzerain,

Welcome to the forum and Bithsares community  :)
1. If somebody is sending to you bitcoins you would need to provide them with bitcoin address which is normally long string of numbers and letters mixed (5AzpjhXsKi2Bhrj2S8FY9ovRrAXkoDucs).
If somebody is sending you bitshares all you will need is name which is in my case aloha and you can see others on this forum, in most cases their names represent their receiving address. When you register your account name ( as you can see on the forum most people use nicknames for privacy, but you can register your real names if you wish so) that name becomes your receiving address. If I send bitcoins to your bitcoin address you will be able to check how much bitcoins I have in my wallet, but if I send you bitshares to your registered name you would not be able to find out balance of my account without some expert knowledge and time.
So it is for convenience and security that you should register your account (no personal info required).
System which allows you to Transfer Invisibly To Any Name is called TITAN.
If my explanation make sense to you I will try with your second question if not just ignore it and forgive me for unclear explanation. :)
Title: Re: Account Registration and Delegates
Post by: suzerain on September 02, 2014, 01:04:27 pm
That's clear.  So it's just a label for convenience. Thanks much.  :)
Title: Re: Account Registration and Delegates
Post by: vegolino on September 02, 2014, 01:20:17 pm
Hi sezerain,

Yes it is label for convenience and privacy also  :)

Delegates are nodes  who produce blocks and verify transactions in BTSX system. There is 101 delegate and anybody can become one if you have enough votes from BTSX shareholders. Their job is similar to that of the miners in Bitcoin system, except that Bitcon miners are using POW (proof of work) and Bitshare delegates using DPOS (delegated proof of stake)
I would also recommend to check out bithshares wiki for more detailed and accurate info. Here is link http://wiki.bitshares.org/index.php/Main_Page

Kind Regards  :)
aloha
Title: Re: Account Registration and Delegates
Post by: biophil on September 02, 2014, 01:23:19 pm
That's clear.  So it's just a label for convenience. Thanks much.  :)

I don't completely know how this works, but my understanding is that it's actually more than just a label for convenience; it has a purpose in the client as well. I think your client will work better if you register your account.

Sent from my SCH-S720C using Tapatalk 2

Title: Re: Account Registration and Delegates
Post by: xeroc on September 02, 2014, 01:38:47 pm
That's clear.  So it's just a label for convenience. Thanks much.  :)

I don't completely know how this works, but my understanding is that it's actually more than just a label for convenience; it has a purpose in the client as well. I think your client will work better if you register your account.

The client .. and all transactions are currently based on TITAN. In TITAN you do not send your funds to an address but you generate a stealth address everytime you send funds to an account. Theses sealth addresses have the purpose to anonymize transactions and hide yuor balance from other users. But in order for you to access the funds, the stealth  addresse have to be generated in a very particular (mathematical) way and thus use YOUR public key to derive the stealth address ..
All stealth addresses that are derived from your public key can be accessed by your private key (taht corresponds to the public key) ... however the public keys are ugly and longer than bitcoin addresses ... so what you do in TITAN is you register an (almost) arbitrary name with a public key on the blockchain ..
if you want to send funds to a name .. the client crawls the blockchain and searched the registration of the name, gets the public key (much like domain lookup), generates the stealth address and send the funds to a newly generated address ..

In theory you can also send funds to the address that corresponds to the public key .. however the client does not have a call for that .. the devs want to hide addresses completly from the users as they are solely used by TITAN ..
Title: Re: Account Registration and Delegates
Post by: amencon on September 02, 2014, 04:33:24 pm
Nice explanation xeroc.

I've read about how TITAN works in a few other spots but this description was effective and concise, thanks.
Title: Re: Account Registration and Delegates
Post by: suzerain on September 03, 2014, 07:03:41 pm

The client .. and all transactions are currently based on TITAN. In TITAN you do not send your funds to an address but you generate a stealth address everytime you send funds to an account. Theses sealth addresses have the purpose to anonymize transactions and hide yuor balance from other users. But in order for you to access the funds, the stealth  addresse have to be generated in a very particular (mathematical) way and thus use YOUR public key to derive the stealth address ..
All stealth addresses that are derived from your public key can be accessed by your private key (taht corresponds to the public key) ... however the public keys are ugly and longer than bitcoin addresses ... so what you do in TITAN is you register an (almost) arbitrary name with a public key on the blockchain ..
if you want to send funds to a name .. the client crawls the blockchain and searched the registration of the name, gets the public key (much like domain lookup), generates the stealth address and send the funds to a newly generated address ..

In theory you can also send funds to the address that corresponds to the public key .. however the client does not have a call for that .. the devs want to hide addresses completly from the users as they are solely used by TITAN ..

I'm restating this in a different way just to make sure I understand. Let me know if it's wrong somehow.

1. I register "MyAccount" as a name
2. I request bitshares from "YourAccount"
3. YourAccount sends bitshares to MyAccount
4. TITAN figures out where MyAccount is and generates a dynamic address to send the funds.
5. The funds magically appear, but only "...sfds756a4asd7f65asdf..." or whatever shows up in the block chain.

One question about step 4: How is there anonymity if there is a record of the account name registration stored on the block chain? Is it not possible to find those registration points and then crawl the blockchain for all addresses afterward that correspond to that public key?
Title: Re: Account Registration and Delegates
Post by: xeroc on September 03, 2014, 07:43:58 pm
1. I register "MyAccount" as a name
2. I request bitshares from "YourAccount"
3. YourAccount sends bitshares to MyAccount
4. TITAN figures out where MyAccount is and generates a dynamic address to send the funds.
5. The funds magically appear, but only "...sfds756a4asd7f65asdf..." or whatever shows up in the block chain.
Yhea .. basically

One question about step 4: How is there anonymity if there is a record of the
account name registration stored on the block chain? Is it not possible to find
those registration points and then crawl the blockchain for all addresses
afterward that correspond to that public key?
Your account name is not anonymous ... but everything the blockchain knows about your account name is:
- the name
- a public key (crypto .. start with BTSX)

However, transactions do not go to your public key .. but to an address that can be derived from the public key
Later on the blockchain, that address does not link to any account name anymore
.. its an arbitrary looking address .. could be for anybody

so basically .. funds to to addresses ... these addresses are derived from the
pubkey (individually for each sender) only sender and receiver knows how he did it ..
So no linking between addresses (funds) and account names.

We have a rather nice info graphic just for TITAN alone .. you may want to check it out:
http://wiki.bitshares.org/index.php/TITAN
Title: Re: Account Registration and Delegates
Post by: suzerain on September 08, 2014, 07:07:34 am
Thanks much.  Really appreciate the detailed responses.