summaryrefslogtreecommitdiff
path: root/9b/ae470499eb3dfdc76fcc0c41bd15e8c1760e02
blob: e1c32cd9f634706eccd75bdfd2be8331140cfbdd (plain)
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
Return-Path: <sean@z.cash>
Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
	[172.17.192.35])
	by mail.linuxfoundation.org (Postfix) with ESMTPS id 136C091A
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Wed, 20 Jul 2016 04:35:44 +0000 (UTC)
X-Greylist: whitelisted by SQLgrey-1.7.6
Received: from mail-wm0-f45.google.com (mail-wm0-f45.google.com [74.125.82.45])
	by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 25691202
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Wed, 20 Jul 2016 04:35:43 +0000 (UTC)
Received: by mail-wm0-f45.google.com with SMTP id q128so39899625wma.1
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Tue, 19 Jul 2016 21:35:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=z-cash.20150623.gappssmtp.com; s=20150623;
	h=mime-version:from:date:message-id:subject:to;
	bh=NP934VVbyHh8jhbaJ9sQ7mIGUhdBU7N9JJAlqf8VdQY=;
	b=qOC6Sd9VhYiaKi1QrzOTHt7YXQ7XUQT5+kemDrPog72MhsNfnX/UcHRW2e/2iSulVI
	HUO7UFa4LoApOmxO33WnN6T8VdtKSpZWWQo1TLJKnf1JivYf+Q6Qc5enQU9et5Cy5rY6
	BL6s9ErQg6pirErGIVRS/W2WllIEIZDrUnEa2MmIOLIDRA6Hfm33Ua0/90GBRCsVjZ6K
	Of9JeCCirrDfMxHq4Qsj6/9n+bgRYNjz3zbte0M6VejVhHlMT7esin6TIAIQoiGsINcE
	ETnRMUyWWDvskPJYrmm9ldDvMhYDplZjhXaRnXKpnT6DzBoAkJIEejp3wY6vbgw18sDK
	JcZA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=1e100.net; s=20130820;
	h=x-gm-message-state:mime-version:from:date:message-id:subject:to;
	bh=NP934VVbyHh8jhbaJ9sQ7mIGUhdBU7N9JJAlqf8VdQY=;
	b=MOgffbr7887e04oWrkuzzmuVCKU+ArigvlCoU7WJO3tDCBi6mEwIF3pv5+XVuJZYD1
	658zWrmZduOxpuUnnf3Rr4jYQY/baUTV5bJOB0EEAX6zNtxWT+xC9eK55yCFnh8ScMOg
	T+zPvf9nQ/wfU4+pQ9CTbUdHuSiS+vqKBts6dld8y3LrurjsAGaVYm39vBa1EJGLONr9
	ElTDSiUHXcIHKDWibVprHkedAMSKxncFmEsYHoiMTN+dOPhkmf/XqWPxB0F6zMl67icQ
	VrfGxE4SlWUkij1RZPJeZjOZE4/ZQcCFwYkX4amAtVEs3/kajewbc7DomS6LOTTjEtVM
	oeug==
X-Gm-Message-State: ALyK8tKe9cMiLJlfad1kapdgJgdwC7MjdSmwSiljVVt4EotD4TNB8TE/DBQs59c4IxX4YTMQPlhLt6uuBQKd0g==
X-Received: by 10.28.92.80 with SMTP id q77mr9216134wmb.66.1468989340395; Tue,
	19 Jul 2016 21:35:40 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.28.63.8 with HTTP; Tue, 19 Jul 2016 21:35:39 -0700 (PDT)
From: Sean Bowe <sean@z.cash>
Date: Tue, 19 Jul 2016 22:35:39 -0600
Message-ID: <CAKazn3mKUMMz0wyqTsgbkd4mBLgvG2PXziXhgRTi4hX_ApbPhg@mail.gmail.com>
To: bitcoin-dev@lists.linuxfoundation.org
Content-Type: multipart/alternative; boundary=001a1145b556d03b4d053809bbb0
X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,DKIM_SIGNED,
	DKIM_VALID,HTML_MESSAGE,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
X-Mailman-Approved-At: Wed, 20 Jul 2016 04:38:13 +0000
Subject: [bitcoin-dev] BIP draft: HTLC transactions
X-BeenThere: bitcoin-dev@lists.linuxfoundation.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Bitcoin Protocol 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: Wed, 20 Jul 2016 04:35:44 -0000

--001a1145b556d03b4d053809bbb0
Content-Type: text/plain; charset=UTF-8

I'm requesting feedback for Hash Time-Locked Contract (HTLC) transactions
in Bitcoin.

HTLC transactions allow you to pay for the preimage of a hash. CSV/CLTV can
be used to recover your funds if the other party is not cooperative. These
scripts take the following general form:

    [HASHOP] <digest> OP_EQUAL
    OP_IF
        <seller pubkey>
    OP_ELSE
        <num> [TIMEOUTOP] OP_DROP <buyer pubkey>
    OP_ENDIF
    OP_CHECKSIG

These transactions are useful for both the Lightning network and in
zero-knowledge contingent payments. This very script (using CLTV and
SHA256) was used as part of our "pay-to-sudoku" ZKCP demo earlier this
year: https://github.com/zcash/pay-to-sudoku

Members of the community have expressed the desire for a BIP to submitted
in coordination with changes to Bitcoin Core that support these
transactions in the wallet.

Please review my draft BIP here:
https://gist.github.com/ebfull/8306903041d46e4119a39442f72a3741

An implementation is being worked on here:
https://github.com/bitcoin/bitcoin/pull/7601

Thanks!

Sean Bowe
Zcash

--001a1145b556d03b4d053809bbb0
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>I&#39;m requesting feedback for Hash Time-Locked Cont=
ract (HTLC) transactions in Bitcoin.</div><div><br></div><div>HTLC transact=
ions allow you to pay for the preimage of a hash. CSV/CLTV can be used to r=
ecover your funds if the other party is not cooperative. These scripts take=
 the following general form:</div><div><br></div><div><div>=C2=A0 =C2=A0 [H=
ASHOP] &lt;digest&gt; OP_EQUAL</div><div>=C2=A0 =C2=A0 OP_IF</div><div>=C2=
=A0 =C2=A0 =C2=A0 =C2=A0 &lt;seller pubkey&gt;</div><div>=C2=A0 =C2=A0 OP_E=
LSE</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 &lt;num&gt; [TIMEOUTOP] OP_DROP &=
lt;buyer pubkey&gt;</div><div>=C2=A0 =C2=A0 OP_ENDIF</div><div>=C2=A0 =C2=
=A0 OP_CHECKSIG</div></div><div><br></div><div>These transactions are usefu=
l for both the Lightning network and in zero-knowledge contingent payments.=
 This very script (using CLTV and SHA256) was used as part of our &quot;pay=
-to-sudoku&quot; ZKCP demo earlier this year:=C2=A0<a href=3D"https://githu=
b.com/zcash/pay-to-sudoku">https://github.com/zcash/pay-to-sudoku</a></div>=
<div><br></div><div>Members of the community have expressed the desire for =
a BIP to submitted in coordination with changes to Bitcoin Core that suppor=
t these transactions in the wallet.</div><div><br></div><div>Please review =
my draft BIP here:=C2=A0<a href=3D"https://gist.github.com/ebfull/830690304=
1d46e4119a39442f72a3741">https://gist.github.com/ebfull/8306903041d46e4119a=
39442f72a3741</a></div><div><br></div><div>An implementation is being worke=
d on here:=C2=A0<a href=3D"https://github.com/bitcoin/bitcoin/pull/7601">ht=
tps://github.com/bitcoin/bitcoin/pull/7601</a><br></div><div><br></div><div=
>Thanks!</div><div><br></div><div>Sean Bowe<br></div><div>Zcash</div></div>

--001a1145b556d03b4d053809bbb0--