1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
|
Return-Path: <asperous2@gmail.com>
Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
[172.17.192.35])
by mail.linuxfoundation.org (Postfix) with ESMTPS id 52D25E72
for <bitcoin-dev@lists.linuxfoundation.org>;
Fri, 11 Sep 2015 09:44:15 +0000 (UTC)
X-Greylist: whitelisted by SQLgrey-1.7.6
Received: from mail-io0-f176.google.com (mail-io0-f176.google.com
[209.85.223.176])
by smtp1.linuxfoundation.org (Postfix) with ESMTPS id A44A712C
for <bitcoin-dev@lists.linuxfoundation.org>;
Fri, 11 Sep 2015 09:44:14 +0000 (UTC)
Received: by iofh134 with SMTP id h134so91912097iof.0
for <bitcoin-dev@lists.linuxfoundation.org>;
Fri, 11 Sep 2015 02:44:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
h=mime-version:sender:in-reply-to:references:from:date:message-id
:subject:to:cc:content-type:content-transfer-encoding;
bh=KvvO3K2UpWjkVA8Y98tBjIa+ApeBW+M22+4b7JIEdkY=;
b=TIfla1ftJOQ+W52GLbMTfiV1NkfJcFBRNMo1GeJaOg7aSxVn1JLe7zpYv96DXoLrkh
9RA18tTfyVQJt2kM19dGq76F5nmkS2LIlc7cbeRy8/cCgpBCB9x0rt4sARvuLrOxAaCA
OX/DVi+6jqE0fzhYO+f5i1uJgr7hHwocsHpBIZ6pVAHlqgRwFMRnAHb3MQGoZX/w0pVs
/qAwjJs68UeSH1+TO4tm0EUJZX4VpS9hr9zpingt0qwkrbJadO2moc/tP1NodK9BekTh
40L0VQkm0mwhceNQgQudMlXaKqnq5OV+7Cr/RHaqVo54iCnXnzRACY8iPQF/6S8N2riV
6D+A==
X-Received: by 10.107.166.139 with SMTP id p133mr2048127ioe.113.1441964654026;
Fri, 11 Sep 2015 02:44:14 -0700 (PDT)
MIME-Version: 1.0
Sender: asperous2@gmail.com
Received: by 10.50.3.33 with HTTP; Fri, 11 Sep 2015 02:43:54 -0700 (PDT)
In-Reply-To: <CAOG=w-vsp6Oxx3WsjVoQ9xO41SqgUMw97h0Ba1jSd9s=KZL6wQ@mail.gmail.com>
References: <CAK8x=ZUhYQXGsrxZGDMQtXu80zqrejVnb01w=8s38-HF0VLXqA@mail.gmail.com>
<CAOG=w-vsp6Oxx3WsjVoQ9xO41SqgUMw97h0Ba1jSd9s=KZL6wQ@mail.gmail.com>
From: Andy Chase <theandychase@gmail.com>
Date: Fri, 11 Sep 2015 02:43:54 -0700
X-Google-Sender-Auth: Q46MF_UQfG3rHUvC1odKjWXAXkU
Message-ID: <CAAxp-m9upffFeuf_SQM2OzSh=Jf-8QX3Rie6w73s0yLPMirGTA@mail.gmail.com>
To: Mark Friedenbach <mark@friedenbach.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-2.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,
RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
smtp1.linux-foundation.org
Cc: Bitcoin Dev <bitcoin-dev@lists.linuxfoundation.org>
Subject: Re: [bitcoin-dev] Named Bitcoin Addresses
X-BeenThere: bitcoin-dev@lists.linuxfoundation.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Bitcoin Development Discussion <bitcoin-dev.lists.linuxfoundation.org>
List-Unsubscribe: <https://lists.linuxfoundation.org/mailman/options/bitcoin-dev>,
<mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=unsubscribe>
List-Archive: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/>
List-Post: <mailto:bitcoin-dev@lists.linuxfoundation.org>
List-Help: <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=help>
List-Subscribe: <https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev>,
<mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=subscribe>
X-List-Received-Date: Fri, 11 Sep 2015 09:44:15 -0000
What's some more information about the "memorizing and sharing" use
case? In most cases if you wanted someone to send you money you'd send
them a payment request via email (or just send them your address).
There's a bunch of solutions to your problem listed here:
https://github.com/bitcoin/bips/blob/master/bip-0015.mediawiki
But sending a payment request via BIP-70 is the "best practice":
https://github.com/bitcoin/bips/blob/master/bip-0070.mediawiki
On Thu, Sep 10, 2015 at 2:32 PM, Mark Friedenbach via bitcoin-dev
<bitcoin-dev@lists.linuxfoundation.org> wrote:
> Are you aware of the payment protocol?
>
> On Sep 10, 2015 2:12 PM, "essofluffy . via bitcoin-dev"
> <bitcoin-dev@lists.linuxfoundation.org> wrote:
>>
>> Hi Everyone,
>>
>> An issue I'm sure everyone here is familiar with is the problem concerni=
ng
>> the fact that Bitcoin addresses are too complex to memorize and share.
>> Current Bitcoin addresses can be very intimidating to new users. As Bitc=
oin
>> grows it's necessary to provide a much more user friendly experience to =
the
>> end user. I think that having the capability to assign a unique name to =
a
>> Bitcoin address is in the best interest of Bitcoin and it's users.
>> I've recently come up with a method for assigning a unique name to a
>> specific Bitcoin address. I'm looking to get some feedback/criticism on =
this
>> method that I have detailed below.
>>
>> Let=E2=80=99s run through Bob and Alice transacting with a Named Bitcoin=
Address.
>> Bob wants to collect a payment from Alice for a service/good he is
>> selling, but Alice wants to pay from her home computer where she securel=
y
>> keeps all her Bitcoin. So now Bob needs to give Alice his Bitcoin addres=
s
>> and because Bob is using a Named Bitcoin Address and a supported wallet =
he
>> can give her an easy to memorize and hard to mess up address. Bob=E2=80=
=99s address
>> is simply =E2=80=98SendBitcoinsToBob=E2=80=99 which can easily be writte=
n down or memorized.
>> Now Alice can go home send the Bitcoin from her own supported wallet and=
be
>> positive that she sent it to Bob.
>>
>> Let=E2=80=99s look at how Bob=E2=80=99s supported wallet made that addre=
ss.
>>
>> First Bob let=E2=80=99s his wallet know that he wants to create a new ad=
dress. In
>> response, his wallet simply asks him what he wants that address to be na=
med.
>> Bob then enters =E2=80=98SendBitcoinsToBob=E2=80=99 as his preferred add=
ress name. The
>> wallet then let=E2=80=99s Bob know if his preferred address name is avai=
lable. If
>> it=E2=80=99s available the name is broadcasted to the network and ready =
to use.
>>
>> Now let=E2=80=99s get a little more technical.
>>
>> When Bob inputs his preferred address name the client has to make sure
>> this name hasn=E2=80=99t been taken or else who knows where Alice will b=
e sending
>> her Bitcoins. The client does this by referencing a downloaded =E2=80=9C=
directory=E2=80=9D
>> of names chosen by people using this system. This directory of names are
>> transactions sent to an address without a private key (but still viewabl=
e on
>> the blockchain) with the name appended to the transactions as an OP_RETU=
RN
>> output. These transactions are downloaded or indexed, depending on wheth=
er
>> or not the wallet contains the full Blockchain or is an SPV wallet. Beca=
use
>> of such a large amount of possible address names a binary search method =
is
>> used to search through all this data efficiently. The names could be sor=
ted
>> in two ways, the first being the first character and the second being th=
e
>> total length of the name (I will being exploring additional methods to m=
ake
>> this process more efficient). So now that Bob=E2=80=99s client has verif=
ied that the
>> name has not been taken and is valid (valid meaning it's under 35 bytes =
long
>> and only using chars 0-9 and a-z) it sends a transaction of 1 satoshi an=
d a
>> small fee to the address without a private key as talked about earlier. =
The
>> transaction's OP_RETURN output consists of two parts. The implementation
>> version of this method (up to 8 characters) and the name itself (up to 3=
2
>> characters). Once the transaction is broadcasted to the network and
>> confirmed the name is ready to be used.
>>
>> Let=E2=80=99s look at how Alice=E2=80=99s supported wallet sends her Bit=
coin to Bob=E2=80=99s
>> Named Bitcoin Address.
>>
>> When Alice enters in Bob=E2=80=99s address, =E2=80=98SendBitcoinsToBob=
=E2=80=99 Alice=E2=80=99s client
>> references the same =E2=80=9Cdirectory=E2=80=9D as Bob only on her devic=
e and searches for
>> the OP_RETURN output of =E2=80=98SendBitcoinsToBob=E2=80=99 using a very=
similar binary
>> search method as used for the verification of the availability of an add=
ress
>> name. If a name isn=E2=80=99t found the client would simply return an er=
ror. If the
>> name is found then the client will pull the information of that transact=
ion
>> and use the address it was sent from as the address to send the Bitcoin =
to.
>>
>> Essentially what this idea describes is a method to assign a name to a
>> Bitcoin address in a way that is completely verifiable and independent o=
f a
>> third party.
>>
>> Please ask your questions and provide feedback.
>>
>> - Devin
>>
>>
>> _______________________________________________
>> bitcoin-dev mailing list
>> bitcoin-dev@lists.linuxfoundation.org
>> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>>
>
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>
|