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
|
Return-Path: <jlrubin@mit.edu>
Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
[172.17.192.35])
by mail.linuxfoundation.org (Postfix) with ESMTPS id F0D02B9E
for <bitcoin-dev@lists.linuxfoundation.org>;
Mon, 20 May 2019 21:06:40 +0000 (UTC)
X-Greylist: delayed 00:08:22 by SQLgrey-1.7.6
Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11])
by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 678FC7ED
for <bitcoin-dev@lists.linuxfoundation.org>;
Mon, 20 May 2019 21:06:40 +0000 (UTC)
Received: from mail-ed1-f53.google.com (mail-ed1-f53.google.com
[209.85.208.53]) (authenticated bits=0)
(User authenticated as jlrubin@ATHENA.MIT.EDU)
by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id x4KKwFl6027420
(version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=NOT)
for <bitcoin-dev@lists.linuxfoundation.org>;
Mon, 20 May 2019 16:58:16 -0400
Received: by mail-ed1-f53.google.com with SMTP id f37so25755872edb.13
for <bitcoin-dev@lists.linuxfoundation.org>;
Mon, 20 May 2019 13:58:16 -0700 (PDT)
X-Gm-Message-State: APjAAAVkLxjmLP6gKBqbhP7blmi06HrpFOAFWJA1V2BvLQCCbuoM9CNi
ElYz+eDuIiAMhX1oKryoFocrSlZuXpvTCX7wGdQ=
X-Google-Smtp-Source: APXvYqwBB+YJwE7JCVbEIBanDYZehlME7kQ2TagVYqw25u9lDgQvKAl+OBGqSGOrACU0LLg4RhKH0D8FvLeAJJb3KKY=
X-Received: by 2002:a50:ba1d:: with SMTP id g29mr24079097edc.298.1558385895209;
Mon, 20 May 2019 13:58:15 -0700 (PDT)
MIME-Version: 1.0
From: Jeremy <jlrubin@mit.edu>
Date: Mon, 20 May 2019 13:58:03 -0700
X-Gmail-Original-Message-ID: <CAD5xwhgHyR5qdd09ikvA_vgepj4o+Aqb0JA_T6FuqX56ZNe1RQ@mail.gmail.com>
Message-ID: <CAD5xwhgHyR5qdd09ikvA_vgepj4o+Aqb0JA_T6FuqX56ZNe1RQ@mail.gmail.com>
To: Bitcoin development mailing list <bitcoin-dev@lists.linuxfoundation.org>
Content-Type: multipart/alternative; boundary="000000000000b500b6058957fd2d"
X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,HTML_MESSAGE,
RCVD_IN_DNSWL_MED 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: Tue, 21 May 2019 18:36:00 +0000
Subject: [bitcoin-dev] Congestion Control via OP_CHECKOUTPUTSHASHVERIFY
proposal
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: Mon, 20 May 2019 21:06:41 -0000
--000000000000b500b6058957fd2d
Content-Type: text/plain; charset="UTF-8"
Hello bitcoin-devs,
Below is a link to a BIP Draft for a new opcode, OP_CHECKOUTPUTSHASHVERIFY.
This opcode enables an easy-to-use trustless congestion control techniques
via a rudimentary, limited form of covenant which does not bear the same
technical and social risks of prior covenant designs.
Congestion control allows Bitcoin users to confirm payments to many users
in a single transaction without creating the UTXO on-chain until a later
time. This therefore improves the throughput of confirmed payments, at the
expense of latency on spendability and increased average block space
utilization. The BIP covers this use case in detail, and a few other use
cases lightly.
The BIP draft is here:
https://github.com/JeremyRubin/bips/blob/op-checkoutputshashverify/bip-coshv.mediawiki
The BIP proposes to deploy the change simultaneously with Taproot as an
OPSUCCESS, but it could be deployed separately if needed.
An initial reference implementation of the consensus changes and tests
which demonstrate how to use it for basic congestion control is available
at https://github.com/JeremyRubin/bitcoin/tree/congestion-control. The
changes are about 74 lines of code on top of sipa's Taproot reference
implementation.
Best regards,
Jeremy Rubin
--000000000000b500b6058957fd2d
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-family:arial,he=
lvetica,sans-serif;font-size:small;color:#000000">Hello bitcoin-devs,<br>
<br>Below is a link to a BIP Draft for a new opcode, OP_CHECKOUTPUTSHASHVER=
IFY. This opcode enables an easy-to-use trustless congestion control techni=
ques via a rudimentary, limited form of covenant which does not bear the sa=
me technical and social risks of prior covenant designs.<br></div><div clas=
s=3D"gmail_default" style=3D"font-family:arial,helvetica,sans-serif;font-si=
ze:small;color:#000000"><br></div><div class=3D"gmail_default" style=3D"fon=
t-family:arial,helvetica,sans-serif;font-size:small;color:#000000">Congesti=
on control allows Bitcoin users to confirm payments to many users in a sing=
le transaction without creating the UTXO on-chain until a later time. This =
therefore improves the throughput of confirmed payments, at the expense of =
latency on spendability and increased average block space utilization. The =
BIP covers this use case in detail, and a few other use cases lightly.<br><=
/div><div class=3D"gmail_default" style=3D"font-family:arial,helvetica,sans=
-serif;font-size:small;color:#000000"><br>
The BIP draft is here:</div><div class=3D"gmail_default" style=3D"font-fami=
ly:arial,helvetica,sans-serif;font-size:small;color:#000000"><div class=3D"=
gmail_default" style=3D"font-family:arial,helvetica,sans-serif;font-size:sm=
all;color:rgb(0,0,0)"><a href=3D"https://github.com/JeremyRubin/bips/blob/o=
p-checkoutputshashverify/bip-coshv.mediawiki">https://github.com/JeremyRubi=
n/bips/blob/op-checkoutputshashverify/bip-coshv.mediawiki</a></div><div cla=
ss=3D"gmail_default" style=3D"font-family:arial,helvetica,sans-serif;font-s=
ize:small;color:rgb(0,0,0)"><br></div><div class=3D"gmail_default" style=3D=
"font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">T=
he BIP proposes to deploy the change simultaneously with Taproot as an OPSU=
CCESS, but it could be deployed separately if needed.<br></div><div class=
=3D"gmail_default" style=3D"font-family:arial,helvetica,sans-serif;font-siz=
e:small;color:rgb(0,0,0)"><br></div><div class=3D"gmail_default" style=3D"f=
ont-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">An =
initial reference implementation of the consensus changes and=C2=A0 tests w=
hich demonstrate how to use it for basic congestion control is available at=
<a href=3D"https://github.com/JeremyRubin/bitcoin/tree/congestion-control"=
>https://github.com/JeremyRubin/bitcoin/tree/congestion-control</a>.=C2=A0 =
The changes are about 74 lines of code on top of sipa's Taproot referen=
ce implementation.<br></div><div class=3D"gmail_default" style=3D"font-fami=
ly:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)"><br></div><=
div class=3D"gmail_default" style=3D"font-family:arial,helvetica,sans-serif=
;font-size:small;color:rgb(0,0,0)">Best regards,</div><div class=3D"gmail_d=
efault" style=3D"font-family:arial,helvetica,sans-serif;font-size:small;col=
or:rgb(0,0,0)"><br></div><div class=3D"gmail_default" style=3D"font-family:=
arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">Jeremy Rubin<b=
r></div></div></div>
--000000000000b500b6058957fd2d--
|