summaryrefslogtreecommitdiff
path: root/c6/c6e1d759f129c6e6a6119ab1afaf79a41a3d05
blob: 7d943264973cd6c3025e9bc65fc7975e542a6008 (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
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
204
205
206
207
208
209
210
211
212
213
214
215
216
Return-Path: <antoine.riard@gmail.com>
Received: from smtp2.osuosl.org (smtp2.osuosl.org [IPv6:2605:bc80:3010::133])
 by lists.linuxfoundation.org (Postfix) with ESMTP id 41ED1C0011
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 21 Feb 2022 13:16:21 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by smtp2.osuosl.org (Postfix) with ESMTP id 1B65B4015A
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 21 Feb 2022 13:16:21 +0000 (UTC)
X-Virus-Scanned: amavisd-new at osuosl.org
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level: 
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5
 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1,
 DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
 HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: smtp2.osuosl.org (amavisd-new);
 dkim=pass (2048-bit key) header.d=gmail.com
Received: from smtp2.osuosl.org ([127.0.0.1])
 by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 1BFUKbAzi_SP
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 21 Feb 2022 13:16:19 +0000 (UTC)
X-Greylist: whitelisted by SQLgrey-1.8.0
Received: from mail-yw1-x1131.google.com (mail-yw1-x1131.google.com
 [IPv6:2607:f8b0:4864:20::1131])
 by smtp2.osuosl.org (Postfix) with ESMTPS id 9C74640117
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 21 Feb 2022 13:16:19 +0000 (UTC)
Received: by mail-yw1-x1131.google.com with SMTP id
 00721157ae682-2d07ae0b1bfso137438687b3.6
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 21 Feb 2022 05:16:19 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=mime-version:from:date:message-id:subject:to;
 bh=Igikw/hLsIjJuLAF2nwfNtlIrKbPVEGIb70R71m1Ou0=;
 b=TkCJC9oG+deoh3QwMtFOdOmyq/fQPkY+TpfybW1+pG65/kISdtn0wY/LNbHwZfoMP6
 990maNBQFUy/kbUg20IwACHrNQH6Bpj8WIKdits2T/ayp5JNAofX5plPQAwHBV92tjek
 gA6Vzo3fU9gGn1s3KXCCyn2D2ZeDTTtSUDbK9HHc/w5ajfJ9DUe+dtFtVv3synG5QX9X
 MAuE5PmueXH1ybD1d0G22vys2+M05Aq5T5IHN6M3XGxIc2hz0WKEJfrRasMZKFXgDz2a
 hgAiLJDfctwHUhzvmGrqJXjTkNkn1uu44686PYOsKC19p+tyecnQV4ri/lHS5PZd21bi
 h+oQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=x-gm-message-state:mime-version:from:date:message-id:subject:to;
 bh=Igikw/hLsIjJuLAF2nwfNtlIrKbPVEGIb70R71m1Ou0=;
 b=F8qppyrGtth027jbGT/QRIyM9Sy6lHbXS6xv39ZMUSAomyL2PKJc934eZUVdtU/xlP
 V5ep9y1XAmanC+FgXzM5Nxlf3ctcptDKDEIkjxyjOgFpLNBqACvFvLuHkCWm+cUP77RQ
 QB8dZMsu7U2PLeSnqBeiLXJJ+qQ/+vXSaDDWBVRFKKpATlbm8d1au5WTsswgWWR/iTHe
 fyua+efiIuzgtLhQ5kvCJVNQt/dr7tGjL+JHiGLYE+uumVBw35bO1FHeHgtNcqn3LIre
 sbo/j+All2ZJCNXQq8TjCQ8QYuDEQboJR0y7r1469+Q+sHJKgdnUXvvXUVQWbvigHkjc
 hUOA==
X-Gm-Message-State: AOAM531wfqwePrEmd7UBffVqcmm3mab03L4sBGJg5FflZCblxDto3drd
 dp9+mbI6ZnkKtX1a+Py17wlok69Wdvly0mfyHVKAK9r7y8c=
X-Google-Smtp-Source: ABdhPJzFl1dPMeAQv9HJ++r5XwV3f5Yp0pw7a6fxsrqpG+1F1IR7/eGy+OxQgj04mq49YLD1HDDH88528R3jnX7MifY=
X-Received: by 2002:a81:f611:0:b0:2cf:aa3c:ab17 with SMTP id
 w17-20020a81f611000000b002cfaa3cab17mr13315536ywm.410.1645449378290; Mon, 21
 Feb 2022 05:16:18 -0800 (PST)
MIME-Version: 1.0
From: Antoine Riard <antoine.riard@gmail.com>
Date: Mon, 21 Feb 2022 08:16:06 -0500
Message-ID: <CALZpt+E+eKKtOXd-8A6oThw-1i5cJ4h12TuG8tnWswqbfAnRdA@mail.gmail.com>
To: Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>
Content-Type: multipart/alternative; boundary="000000000000b05ef505d8870928"
X-Mailman-Approved-At: Mon, 21 Feb 2022 14:17:43 +0000
Subject: [bitcoin-dev] A Dive into CoinPool : Bitcoin Balances for Billions
X-BeenThere: bitcoin-dev@lists.linuxfoundation.org
X-Mailman-Version: 2.1.15
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, 21 Feb 2022 13:16:21 -0000

--000000000000b05ef505d8870928
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,

We (Gleb+ me) would like to present the following of our research on
payment pools [0].

Abstract:

CoinPool is a new multi-party construction to improve Bitcoin onboarding
and transactional scaling by orders of magnitude.
CoinPool allows many users to share a UTXO and make instant off-chain
transfers inside the UTXO while allowing withdrawals at any time without
permission from other users.
In-pool accounts can be used for advanced protocols (e.g., payment
channels). Connecting them to other CoinPool instances, or even to the
Lightning Network, makes in-pool funds highly liquid.
CoinPool construction relies on SIGHASH_GROUP, SIGHASH_ANYPREVOUT and
OP_MERKLESUB changes to Bitcoin. It also assumes a high degree of
interactivity between pool participants.

CoinPool provides an interesting alternative to the LN: it allows locking
more people in a single UTXO and potentially lets them stay in the same
UTXO for longer. In the end, this expands Bitcoin payment throughput, via
better use of the block space.
CoinPool accounts can be also plugged into the LN, making them
complementary and benefiting from each other.

CoinPool explores what can be achieved with covenants, lately explored by a
few of us. It is exploration =E2=80=9Cin-depth=E2=80=9D: what kind of proto=
col could be
achieved by Merkle tree subtraction check.
We hope this work can inform thinking on future softforks.

We think the 7.9 billion people could be distributed across 1000-sized
CoinPool instances. Assuming perfect cooperation among the participant, a
liquidity exhaustion rate of 6 months and a refulfillment footprint of 100
inputs (at 106 bytes each), 167 GB of blockchain space would be required by
year to enable everyone in the world to transact on Bitcoin in a
non-custodial fashion, unless one order of magnitude beyond the current
block size. By fine-tuning the pools off-chain sustainability  parameters
further, it is realistic to think to satisfy current full-node validation
requirements, thus preserving the decentralization of the network.
.
We're eager to hear everyone's feedback, what we missed, what can be
improved. We hope the ideas presented sound interesting to the community.
If so, we acknowledge it will likely take a decade of patient engineering
before we see mature payment pools in the wild.

The paper is available here :
https://coinpool.dev/v0.1.pdf [1]

The OP_MERKLESUB and SIGASH_GROUP BIPs are available here:
https://github.com/ariard/bips/blob/coinpool-bips/bip-group.mediawiki
https://github.com/ariard/bips/blob/coinpool-bips/bip-merklesub.mediawiki

The code for the pool withdraw tree is available here:
https://github.com/ariard/bitcoin/tree/2022-02-coinpool-withdraw

The transaction/scripts formats for the CoinPool transaction are available
here:
https://gist.github.com/ariard/713ce396281163337c175d9122163e8f

Sincerely,
Gleb & Antoine

PS: Thanks to the reviewers.

[0]
https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2020-June/017964.ht=
ml
[1] Always have a backup plan in Bitcoin :
https://github.com/coinpool-dev/paper/blob/master/coinpool-v0.1.pdf

--000000000000b05ef505d8870928
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi,<br><br>We (Gleb+ me) would like to present the followi=
ng of our research on payment pools [0].<br><br>Abstract:<br><br>CoinPool i=
s a new multi-party construction to improve Bitcoin onboarding and transact=
ional scaling by orders of magnitude.<br>CoinPool allows many users to shar=
e a UTXO and make instant off-chain transfers inside the UTXO while allowin=
g withdrawals at any time without permission from other users.<br>In-pool a=
ccounts can be used for advanced protocols (e.g., payment channels). Connec=
ting them to other CoinPool instances, or even to the Lightning Network, ma=
kes in-pool funds highly liquid.<br>CoinPool construction relies on SIGHASH=
_GROUP, SIGHASH_ANYPREVOUT and OP_MERKLESUB changes to Bitcoin. It also ass=
umes a high degree of interactivity between pool participants.<br><br>CoinP=
ool provides an interesting alternative to the LN: it allows locking more p=
eople in a single UTXO and potentially lets them stay in the same UTXO for =
longer. In the end, this expands Bitcoin payment throughput, via better use=
 of the block space.<br>CoinPool accounts can be also plugged into the LN, =
making them complementary and benefiting from each other.<br><br>CoinPool e=
xplores what can be achieved with covenants, lately explored by a few of us=
. It is exploration =E2=80=9Cin-depth=E2=80=9D: what kind of protocol could=
 be achieved by Merkle tree subtraction check.<br>We hope this work can inf=
orm thinking on future softforks.<br><br>We think the 7.9 billion people co=
uld be distributed across 1000-sized CoinPool instances. Assuming perfect c=
ooperation among the participant, a liquidity exhaustion rate of 6 months a=
nd a refulfillment footprint of 100 inputs (at 106 bytes each), 167 GB of b=
lockchain space would be required by year to enable everyone in the world t=
o transact on Bitcoin in a non-custodial fashion, unless one order of magni=
tude beyond the current block size. By fine-tuning the pools off-chain sust=
ainability=C2=A0 parameters further, it is realistic to think to satisfy cu=
rrent full-node validation requirements, thus preserving the decentralizati=
on of the network.<br>.<br><div>We&#39;re eager to hear everyone&#39;s feed=
back, what we missed, what can be improved. We hope the ideas presented sou=
nd interesting to the community. If so, we acknowledge it will likely take =
a decade of patient engineering before we see mature payment pools in the w=
ild.<br></div><br>The paper is available here :<br><a href=3D"https://coinp=
ool.dev/v0.1.pdf">https://coinpool.dev/v0.1.pdf</a> [1]<br><br>The OP_MERKL=
ESUB and SIGASH_GROUP BIPs are available here:<br><a href=3D"https://github=
.com/ariard/bips/blob/coinpool-bips/bip-group.mediawiki">https://github.com=
/ariard/bips/blob/coinpool-bips/bip-group.mediawiki</a><br><a href=3D"https=
://github.com/ariard/bips/blob/coinpool-bips/bip-merklesub.mediawiki">https=
://github.com/ariard/bips/blob/coinpool-bips/bip-merklesub.mediawiki</a><br=
><br>The code for the pool withdraw tree is available here:<br><a href=3D"h=
ttps://github.com/ariard/bitcoin/tree/2022-02-coinpool-withdraw">https://gi=
thub.com/ariard/bitcoin/tree/2022-02-coinpool-withdraw</a><br><br>The trans=
action/scripts formats for the CoinPool transaction are available here:<br>=
<a href=3D"https://gist.github.com/ariard/713ce396281163337c175d9122163e8f"=
>https://gist.github.com/ariard/713ce396281163337c175d9122163e8f</a><br><br=
>Sincerely,<br>Gleb &amp; Antoine<br><br>PS: Thanks to the reviewers.<br><b=
r>[0] <a href=3D"https://lists.linuxfoundation.org/pipermail/bitcoin-dev/20=
20-June/017964.html">https://lists.linuxfoundation.org/pipermail/bitcoin-de=
v/2020-June/017964.html</a><br>[1] Always have a backup plan in Bitcoin : <=
a href=3D"https://github.com/coinpool-dev/paper/blob/master/coinpool-v0.1.p=
df">https://github.com/coinpool-dev/paper/blob/master/coinpool-v0.1.pdf</a>=
</div>

--000000000000b05ef505d8870928--