LearnBitcoin

Bitcoin Dev Archive 2017

Bitcoin pointers

2 messages, 11 Jun 2017. Started by Jose Femenías Cañuelo.

Jose Femenías Cañuelo, Jonas Schnelli

Permalink Original thread on gnusha.org

Jose Femenías Cañuelo permalink original

Hi,

I’ve been doing some work lately to create a specification for bitcoin pointers.

They can be used to point to transactions, inputs, outputs or some internal items within them. The proposals strive for simplicity and user friendliness over compactness or other attributes.

There are three proposals, each of which builds upon the previous one, namely:

a) Canonical Pointers The basic proposal.They look like this example: btc@170.1/179-631-520 Here is a link to the Google Docs document -> https://docs.google.com/document/d/1PBN4wKFYtgvDxV4DrWUdNe9Xqmb8GVxoIGDKRkY9Xr4/edit?usp=sharing <https://docs.google.com/document/d/1PBN4wKFYtgvDxV4DrWUdNe9Xqmb8GVxoIGDKRkY9Xr4/edit?usp=sharing>

b) Mnemonic Pointers They build on Canonical Pointers and the dictionary provided in bip39 to use words instead of numbers. The previous Canonical pointer can thus be expressed as btc@best•ability <mailto:btc@best.ability>/biology-exclude-donate Here is a link to the Google Docs document -> https://docs.google.com/document/d/1wLK2_UrRzK0eshkDntUIbVlIdswzuHmYNELOePDjtPY/edit?usp=sharing <https://docs.google.com/document/d/1wLK2_UrRzK0eshkDntUIbVlIdswzuHmYNELOePDjtPY/edit?usp=sharing>

c) Domain Pointers They build on the Domain Name Registration system to encode a pointer to a Canonical Pointer as in btc@example•com <mailto:btc@example.com> Here is a link to the Google Docs document -> https://docs.google.com/document/d/1KY7rM090oKzGn8NAz4XFxQnfkyD5gs4V6vpbfdw92RM/edit?usp=sharing <https://docs.google.com/document/d/1KY7rM090oKzGn8NAz4XFxQnfkyD5gs4V6vpbfdw92RM/edit?usp=sharing>

I haven’t had any peer review yet, so it is very likely that some small or big problems can be found.

I’d welcome any feedback from the community.

Best regards,

José Femenías Cañuelo

Jonas Schnelli in reply to Jose Femenías Cañuelo permalink original

Hi José

Quoted text (3 lines)
> a) Canonical Pointers
> The basic proposal.They look like this example: btc@170.1/179-631-520
> Here is a link to the Google Docs document ->  https://docs.google.com/document/d/1PBN4wKFYtgvDxV4DrWUdNe9Xqmb8GVxoIGDKRkY9Xr4/edit?usp=sharing <https://docs.google.com/document/d/1PBN4wKFYtgvDxV4DrWUdNe9Xqmb8GVxoIGDKRkY9Xr4/edit?usp=sharing>

A similar/related proposal got posted last month : https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-May/014396.html <https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-May/014396.html> The Bech32 encoded transaction position reference allows to solve similar use cases (tx pointers) with a strong error-detection/correction using just 14 chars (encoded state, including error correction / unencoded 40bits).

/jonas