Re: Fwd: Standarizing ECC seed, HD Wallets and WebID

On 29 May 2016 at 16:35, Manu Sporny <msporny@digitalbazaar.com> wrote:

> On 05/24/2016 10:29 AM, Melvin Carvalho wrote:
> > FYI: this is a post I sent to the blockchain list but I think it may be
> > interesting here too.
> >
> > The bitcoin block chain has a common function where you can derive a key
> > pair from a seed, and then use either the public or private key to
> > derive multiple addresses.
>
> Hey Melvin, I think you're talking about standardizing Hierarchical
> Deterministic Keys (HD Keys)[1] outside of Bitcoin?
>
> https://en.bitcoin.it/wiki/Deterministic_wallet


Reusing HD Keys in a web context.  I think HD keys are reasonably well done
in bitcoin BIPS.


>
>
> If so, Christopher Allen (cc'd, co-editor of the TLS 1.0 spec) is
> interested
> in doing that as well. Digital Bazaar is also interested in doing that
> and adding the functionality to Linked Data Signatures.
>

Great, would love to collaborate!


>
> Speaking only for Digital Bazaar, priority for us is low at this time
> due to a number of other customer demands at present... but this fits
> into "things that would be really interesting to standardize in the next
> 2-3 years" bucket for us.
>

Already moving on this front.  Satoshi labs has a nice write up:

https://github.com/satoshilabs/slips/blob/master/slip-0013.md

I have an alpha implementation of this working with the bitcoin testnet. [1]

The only difference I have is that Im using unhardened addresses to I AND
the hash with 0x7fffffff

The net result is that you can provision an address for any account, any
email, any phone to enable deposits.  And the private key can be kept in
cold storage and not exposed to the server.

So, this is working really well for me.

So I ran into a point of extensibility.  I am happy to take deposits on a
web service.  But I also want to accept donations.  So my question is how
to distinguish between a donation and a deposit.

Im not sure there's an easy way to do this deterministically.  So, my
current thinking is to 'reserve' the first byte in a typical 16 byte
sequence to be a kind of lookup mask

1 = DEPOSIT
2 = DONATION

...

up to 128 different possibilities

Do we need anything else -- I couldnt think of anything off the top of my
head.

I think this would be enough to make accepting payments on the web (eg
donations and deposits) as easy as publish a blog.

[1] https://github.com/quantumpayments/hdwallet/blob/master/test/util.js


>
> -- manu
>
> [1]
> https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#Abstract
>
> --
> Manu Sporny (skype: msporny, twitter: manusporny, G+: +Manu Sporny)
> Founder/CEO - Digital Bazaar, Inc.
> JSON-LD Best Practice: Context Caching
> https://manu.sporny.org/2016/json-ld-context-caching/
>
>

Received on Sunday, 29 May 2016 15:09:57 UTC