BitShares Forum

Main => General Discussion => Topic started by: ElMato on May 19, 2015, 05:24:39 pm

Title: Reconstruct memo info from a seed
Post by: 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
Title: Re: Reconstruct memo info from a seed
Post by: sittingduck on May 20, 2015, 11:56:57 am
Bts already does this using info from the transaction.   


Sent from my iPhone using Tapatalk
Title: Re: Reconstruct memo info from a seed
Post by: xeroc on May 20, 2015, 12:17:02 pm
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 ..
Title: Re: Reconstruct memo info from a seed
Post by: vikram on May 20, 2015, 05:15:02 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.
Title: Re: Reconstruct memo info from a seed
Post by: bytemaster on May 20, 2015, 06:24:06 pm
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.