LearnBitcoin

Bitcoin Dev Archive 2013

Standard for private keys with birth timestamp

2 messages, 22 Jul 2013. Started by Pieter Wuille.

Pieter Wuille, Melvin Carvalho

Permalink Original thread on gnusha.org

Pieter Wuille permalink original

Hello,

I should have brought up this suggestion before, as there seems to be relevant other work.

I'd like to propose encoding keys data (whatever type) with a birth timestamp as: * <serialized key>@<unix timestamp in decimal>

The reason for not incorporating this inside the key serialization (for example BIP32), is because birth timestamps are more generally a property of an address, rather than the key it is derived from. For one, it is useful for non-extended standard serialized private keys, but for P2SH addresses, the "private key" is really the actual scriptPubKey, but birth data is equally useful for this.

Reason for choosing the '@' character: it's not present in the base58, hex, or base64 encodings that are typically used for key/script data.

One downside is that this means no checksum-protection for the timestamp, but the advantage is increased genericity. It's also longer than using a binary encoding, but this is an optional part anyway, and I think "human typing" is already fairly hard anyway.

Melvin Carvalho in reply to Pieter Wuille permalink original

On 22 July 2013 16:44, Pieter Wuille <pieter.wuille@gmail•com> wrote:

Quoted text (28 lines)
> Hello,
>
> I should have brought up this suggestion before, as there seems to be
> relevant other work.
>
> I'd like to propose encoding keys data (whatever type) with a birth
> timestamp as:
>  * <serialized key>@<unix timestamp in decimal>
>
> The reason for not incorporating this inside the key serialization (for
> example BIP32), is because
> birth timestamps are more generally a property of an address, rather than
> the key it is derived from.
> For one, it is useful for non-extended standard serialized private keys,
> but for P2SH addresses,
> the "private key" is really the actual scriptPubKey, but birth data is
> equally useful for this.
>
> Reason for choosing the '@' character: it's not present in the base58,
> hex, or base64 encodings that
> are typically used for key/script data.
>
> One downside is that this means no checksum-protection for the timestamp,
> but the advantage is
> increased genericity. It's also longer than using a binary encoding, but
> this is an optional
> part anyway, and I think "human typing" is already fairly hard anyway.
>

Is there a BIP for this?

@ is normally used in conjunction with things other than a time stamp ...

You may want to look at RFC 4151

http://www.ietf.org/rfc/rfc4151.txt

They had an idea on adding time stamps to identifiers.

First impression is that the sacrifice in opacity does not seem to justify the utility.

Quoted text (17 lines)
>
> --
> Pieter
>
>
>
> ------------------------------------------------------------------------------
> See everything from the browser to the database with AppDynamics
> Get end-to-end visibility with application monitoring from AppDynamics
> Isolate bottlenecks and diagnose root cause in seconds.
> Start your free trial of AppDynamics Pro today!
> http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
> _______________________________________________
> Bitcoin-development mailing list
> Bitcoin-development@lists•sourceforge•net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>