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--