Author Topic: Account Registration and Delegates  (Read 2373 times)

0 Members and 1 Guest are viewing this topic.

Offline suzerain

  • Newbie
  • *
  • Posts: 6
    • View Profile
Thanks much.  Really appreciate the detailed responses.

Offline xeroc

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

Offline suzerain

  • Newbie
  • *
  • Posts: 6
    • View Profile

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?

Offline amencon

  • Sr. Member
  • ****
  • Posts: 227
    • View Profile
Nice explanation xeroc.

I've read about how TITAN works in a few other spots but this description was effective and concise, thanks.

Offline xeroc

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

Offline biophil

  • Hero Member
  • *****
  • Posts: 880
  • Professor of Computer Science
    • View Profile
    • My Academic Website
  • BitShares: biophil
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

Support our research efforts to improve BitAsset price-pegging! Vote for worker 1.14.204 "201907-uccs-research-project."

Offline vegolino

  • Sr. Member
  • ****
  • Posts: 450
  • Reality is Information
    • View Profile
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
« Last Edit: September 02, 2014, 01:23:09 pm by aloha »

Offline suzerain

  • Newbie
  • *
  • Posts: 6
    • View Profile
That's clear.  So it's just a label for convenience. Thanks much.  :)

Offline vegolino

  • Sr. Member
  • ****
  • Posts: 450
  • Reality is Information
    • View Profile
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. :)

Offline suzerain

  • Newbie
  • *
  • Posts: 6
    • View Profile
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.