Reconstruct memo info from a seed

Started by ElMato, May 19, 2015, 05:24:39 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

bytemaster

Quote from: sittingduck on May 20, 2015, 11:56:57 AM
Bts already does this using info from the transaction.   


Sent from my iPhone using Tapatalk

Only the hosted wallet and Light Wallet currently allow complete recovery from the blockchain. 
For the latest updates checkout my blog: [url="http://bytemaster.bitshares.org"]http://bytemaster.bitshares.org[/url]
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.

vikram

Quote from: ElMato on May 19, 2015, 05:24:39 PM
If we want to reconstruct the entire transaction history of an account, we need to decode the memos that were sent from us and the memos received by us. (The second ones are not a problem since we have all the necessary information to decode).

But, the reconstruction of the shared secret (used to encrypt the memo out) forces the client to keep a reference to the key used (child index of HD key, full ECkey, other).

If we can just store 4 bytes in the memo we can relieve the client from storing that references (since the reference will be in the blockchain) and will let reconstruct the entire history just from a seed.

This 4 bytes can be obscured/encrypted using skip32 or other mechanism.

It there any possibility to do this in the core?
I don't want to increment blockchain size since it will have a big impact on the long term, but can we give a new meaning to some memo fields?

@vikram

I believe we are planning to use a scheme like this for a future upgrade to BitShares. bytemaster or modprobe can confirm.

xeroc

Quote from: sittingduck on May 20, 2015, 11:56:57 AM
Bts already does this using info from the transaction.   
Not for outgoing transactions ... those are usually only identifiable from the transaction history stored on-disk.
elmato proposes a scheme to allow recovering the memo from the blockchain ..

sittingduck

Bts already does this using info from the transaction.   


Sent from my iPhone using Tapatalk

ElMato

#1
If we want to reconstruct the entire transaction history of an account, we need to decode the memos that were sent from us and the memos received by us. (The second ones are not a problem since we have all the necessary information to decode).

But, the reconstruction of the shared secret (used to encrypt the memo out) forces the client to keep a reference to the key used (child index of HD key, full ECkey, other).

If we can just store 4 bytes in the memo we can relieve the client from storing that references (since the reference will be in the blockchain) and will let reconstruct the entire history just from a seed.

This 4 bytes can be obscured/encrypted using skip32 or other mechanism.

It there any possibility to do this in the core?
I don't want to increment blockchain size since it will have a big impact on the long term, but can we give a new meaning to some memo fields?

@vikram