https://github.com/BitShares/bitshares_toolkit/wiki/AYNTK_TITANAll about TITAN
Where is the name TITAN coming from?
TITAN stands for T ransfer I nvisibly T o A ny N ame and describes that transactions performed are anonymous by default.
How can I use it?
Just type: wallet_transfer AMOUNT UNIT sender receiver memo
The wallet will do the rest!
As you can see it's the basic transmit procedure, thus all transactions are anonymous on the blockchain by default!
What does it mean? What are the features?
No need to exchange ugly addresses. Instead a Name can be registered with the blockchain which suffices to receive payments
The receiver is anonymous to everyone except the sender.
Simplifies accounting in the wallet, as you can register arbitrary names and no one can see your balance (except you, of course)!
How can the receiver be anonymous for everyone else?
For each payment a temporary one-time address is generated
The details of TITAN can be summarized to:
dan => DANS_EXT_PUBLIC_KEY
scott => SCOTTS_EXT_PUBLIC_KEY
scott: Generate OneTimePrivateKey & OneTimePublicKey Pair
scott: OneTimePrivateKey * DANS_EXT_PUBLIC_KEY => SECRET
DANS_EXT_PUBLIC_KEY.child( SECRET ) => RECEIVE_PUBLIC_KEY => RECEIVE_ADDRESS
scott: RECEIVE_PUBLIC_KEY * SCOTTS_EXT_PRIVATE_KEY => CHECK_SECRET
=> SHORT_HASH(CHECK_SECRET) == SHORT_SIGNATURE
scott-broadcast: OneTimePublicKey + RECEIVE_ADDRESS + ENCRYPT( from scott + SHORT_SIGNATURE, SECRET )
dan: OneTimePublicKey * DANS_EXT_PRIVATE_KEY => SECRET
DANS_EXT_PRIVATE_KEY.child( SECRET ) => RECEIVE_PRIVATE_KEY =>
=> RECEIVE_PUBLIC_KEY => RECEIVE_ADDRESS
dan: DECRYPT( data, SECRET ) => "from scott" + SHORT_SIGNATURE
dan: SCOTT_EXT_PUBLIC_KEY * RECEIVE_PRIVATE_KEY => CHECK_SECRET => SHORT_HASH(CHECK_SECRET)
Isn't that exactly the same as bitcoin's stealth-addresses?
This is a variation of stealth addresses (
http://www.coindesk.com/stealth-addresses-secret-bitcoin-privacy) that leverages the name system to solve the first part of the problem.
Just type: wallet_transfer AMOUNT UNIT sender receiver memo
Are read-only/watch-only keys possible with TITAN?
Yes. The basic support is already in place.
Where can I find more about about the various types keys used in TITAN
We have a dedicated article about the key structures in place in this wiki:
Wallets, accounts, owners & active keys - The differences between Bitcoin and Bitshares
What advanced features does it have?
Ability to encode a message and 'from' data into the transaction for payment details, much like a 'purpose field'
Sources
https://bitsharestalk.org/index.php?topic=4887.msg64091#msg64091 https://bitsharestalk.org/index.php?topic=4699.0