Normally, when you register your public address, anyone can check all incoming transactions even if they are hidden behind a circular signature. To avoid the connection you can create hundreds of keys and send them to your tax payer in private, but this would deprive us of the convenience of having a single public address.
Dinastycoin solves this dilemma by automatically creating multiple unique keys, derived from the single public key, for each p2p payment. The solution consists of an intelligent modification of the Diffie-Hellman exchange protocol . Originally it allows two parts to produce a common secret key derived from their public key. In our version the sender uses the recipient’s public address and their own random data to calculate a one-time payment key.
IThe sender can only produce the public part of the key, while only the receiver can calculate the private part; therefore the receiver is the only one who can unlock the funds after the transaction has been committed. At the end he needs to perform a single-formula check on each transaction to determine if he belongs to him. This process involves the use of its private key, so no third party will be able to perform this check and discover the link between the one-time key generated by the sender and the only public address of the recipient.
An important part of our protocol is the use of random data by the sender. The One-Time Key will always be unique even if the sender and recipient remain the same for all operations (that’s why the key is called is called “one-time”). Moreover, even if they are both the same person, all One-time keys will always be absolutely unique.
Whitfield Diffie e Martin Hellman. Nuove direzioni nella crittografia. IEEE Transactions on Information Theory 22 (6): 644-654, 1976.
. Originally it allows two parties to produce a common secret key derived from their public keys. In our version the sender uses the receiver’s public address and his own random data to compute a one-time key for the payment.
The sender can produce only the public part of the key, whereas only the receiver can compute the private part; hence the receiver is the only one who can release the funds after the transaction is committed. He only needs to perform a single-formula check on each transactions to establish if it belongs to him. This process involves his private key, therefore no third party can perform this check and discover the link between the one-time key generated by the sender and the receiver’s unique public address.
An important part of our protocol is usage of random data by the sender. It always results in a different one-time key even if the sender and the receiver both remain the same for all transactions (that is why the key is called “one-time”). Moreover, even if they are both the same person, all the one-time keys will also be absolutely unique.