summaryrefslogtreecommitdiff
path: root/df/c6a45acdd559fa4112978a0c51fa86624c8c98
blob: 8bcd0274b2f455621fa84e24f56392034a75377b (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
Return-Path: <ryan@breen.xyz>
Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133])
 by lists.linuxfoundation.org (Postfix) with ESMTP id 708CFC0032
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 28 Aug 2023 14:35:44 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by smtp2.osuosl.org (Postfix) with ESMTP id 487E040AF4
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 28 Aug 2023 14:35:44 +0000 (UTC)
DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 487E040AF4
Authentication-Results: smtp2.osuosl.org; dkim=pass (2048-bit key,
 unprotected) header.d=breen.xyz header.i=@breen.xyz header.a=rsa-sha256
 header.s=sig1 header.b=ASd0mH/W
X-Virus-Scanned: amavisd-new at osuosl.org
X-Spam-Flag: NO
X-Spam-Score: -0.3
X-Spam-Level: 
X-Spam-Status: No, score=-0.3 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, FROM_SUSPICIOUS_NTLD=0.499,
 PDS_OTHER_BAD_TLD=1.999, RCVD_IN_DNSWL_LOW=-0.7,
 RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001] autolearn=no autolearn_force=no
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 ViCSsmeCLJ4T
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 28 Aug 2023 14:35:43 +0000 (UTC)
Received: from st43p00im-ztfb10061701.me.com (st43p00im-ztfb10061701.me.com
 [17.58.63.172])
 by smtp2.osuosl.org (Postfix) with ESMTPS id 6622C402D7
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 28 Aug 2023 14:35:43 +0000 (UTC)
DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 6622C402D7
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=breen.xyz; s=sig1;
 t=1693233342; bh=wwsFRPZyDYekbMxi1vHE9J1sB6iomyXWL6XFQnCLIpA=;
 h=Content-Type:Mime-Version:Subject:From:Date:Message-Id:To;
 b=ASd0mH/WF+zuv3pIGeyRHJfVZBo0p5mG5fGnK7D0V5O7m4t/mWmbuA49IiPMOF7Y3
 rJAghbQQUjFJysIpBX8Q8U5kaJ/X3a1hvsbtRxPWW+wOdYZUQAeDuXZIa3tebZG86L
 /dVvpJRnRTOjKRgMzVbv42jjXTYHhqGdJz9AN9+6d94BKSlKezj+t4i/vITgJYMeQe
 sc3z59aiNtu61qfLsQYCC1f4jmOxPTMMYAN1eOI5v94HsvrYLDRh6BtzDE81ublf17
 bzIDGAMUcJaS+aYN9KGgrlTlNmPGgKkOLkoNlvRn/B9yEKKM77tbdtcSj+CMopcFA4
 YrSJFs4WHb/4Q==
Received: from smtpclient.apple (st43p00im-dlb-asmtp-mailmevip.me.com
 [17.42.251.41])
 by st43p00im-ztfb10061701.me.com (Postfix) with ESMTPSA id 52F032E052E;
 Mon, 28 Aug 2023 14:35:41 +0000 (UTC)
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.700.6\))
From: ryan@breen.xyz
In-Reply-To: <2FylpMx7IsZBt3ILxEt9pVB0Kq03jZqTUeLnB2hWT5j8qiB4o6plW3gjhBXQ_7p4MwQ_npQUpZ64hQaR6UnLhMNCnk_jCv1XObmrJbjrVqg=@protonmail.com>
Date: Mon, 28 Aug 2023 10:35:30 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <0D44C322-E2B4-4F80-A5D8-7D8304BDAE1A@breen.xyz>
References: <E4A37B75-349D-4CD8-B8E2-9686EFDA9EEA@breen.xyz>
 <CAPv7TjZf4nLpCZPDOWK=vJGQuH0waTXkM6h40tc7G+YKAOGOGQ@mail.gmail.com>
 <2BFA7EE8-2E0E-45A3-AC11-8E57F99EC775@breen.xyz>
 <2FylpMx7IsZBt3ILxEt9pVB0Kq03jZqTUeLnB2hWT5j8qiB4o6plW3gjhBXQ_7p4MwQ_npQUpZ64hQaR6UnLhMNCnk_jCv1XObmrJbjrVqg=@protonmail.com>
To: ZmnSCPxj <ZmnSCPxj@protonmail.com>
X-Mailer: Apple Mail (2.3731.700.6)
X-Proofpoint-ORIG-GUID: 9Drq7gyRJlhCy2fa75fS05-NFUwv0krN
X-Proofpoint-GUID: 9Drq7gyRJlhCy2fa75fS05-NFUwv0krN
X-Proofpoint-Virus-Version: =?UTF-8?Q?vendor=3Dfsecure_engine=3D1.1.170-22c6f66c430a71ce266a39bfe25bc?=
 =?UTF-8?Q?2903e8d5c8f:6.0.138,18.0.957,17.0.605.474.0000000_definitions?=
 =?UTF-8?Q?=3D2023-05-18=5F15:2020-02-14=5F02,2023-05-18=5F15,2020-01-23?=
 =?UTF-8?Q?=5F02_signatures=3D0?=
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0
 suspectscore=0
 clxscore=1030 adultscore=0 bulkscore=0 mlxscore=0 phishscore=0
 mlxlogscore=821 malwarescore=0 classifier=spam adjust=0 reason=mlx
 scancount=1 engine=8.12.0-2212070000 definitions=main-2308280128
X-Mailman-Approved-At: Mon, 28 Aug 2023 19:41:51 +0000
Cc: Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>
Subject: Re: [bitcoin-dev] Sentinel Chains: A Novel Two-Way Peg
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, 28 Aug 2023 14:35:44 -0000

I appreciate your questions, ZmnSCPxj.

I will answer your second question first: Mainchain nodes do not ever =
validate sidechain blocks. Sidechain nodes watch Bitcoin for invalid =
withdrawals, and publish signed attestations to a public broadcast =
network (such as Nostr) that a transaction is making an invalid =
withdrawal. These sidechain nodes are the so-called sentinels.

Bitcoin full nodes wishing to participate in holding miners accountable =
for stealing will watch the public broadcast network for attestations of =
improper withdrawals and treat those transactions as de facto invalid, =
thus forking violating miners off the network. In this way, launching a =
Sentinel chain mimics a user-activated soft fork, but without any =
changes to Bitcoin Core consensus logic.

Bitcoin full nodes would choose their own limited set of sidechain =
validators to trust. They might run their own sidechain node and trust =
that result exclusively. They might instead choose to trust a set of =
high quality community members such as companies, etc.

A downside to this method are the same as the difficulties of launching =
a soft fork. Making sure enough nodes (or miners) are on board to =
enforce the new rules prior to launch of a sidechain, or a minority of =
users will fork off the network. Additionally, maintaining a healthy =
network of sentinels for a sidechain is an additional angle to consider.=20=


The upside of this method is that sidechains can be user-activated, not =
just miner-activated like under the BIP-300 framework. And it allows =
Bitcoin full nodes to hold miners accountable for obeying the sidechain =
withdrawal rules.

--------------------

To answer your first question: When you say the sentinel chain software, =
are you asking what would happen if the sidechain developers create =
malicious code in sidechain node software? I suppose that would depend =
on the upgrade process of the sidechain, but the maximum fallout from =
malicious Sentinel chains is the exact same as any other sidechain =
proposal: the sidechain users get rugged.

The concept behind Sentinel chains puts no restriction on how sentinel =
chains may operate, only how the =E2=80=9Cdifficult=E2=80=9D part of =
launching a 2WP sidechain, peg-outs from sidechain to mainchain, may =
work without advanced cryptographic techniques such a ZKPs.

Thanks,
Ryan (ursuscamp on twitter)

> On Aug 28, 2023, at 9:48 AM, ZmnSCPxj <ZmnSCPxj@protonmail.com> wrote:
>=20
> Good morning Ryan,
>=20
> If I modify your Sentinel Chain open-source software so that it is =
honest for 999 sidechain blocks, then lies and says that the 1000th =
block is invalid even though it actually is, what happens?
>=20
> Do mainchain nodes need to download the previous 999 sidechain blocks, =
run the sidechain rules on them, and then validate the 1000th sidechain =
block itself?
>=20
> Regards,
> ZmnSCPxj