Return-Path: <contact@taoeffect.com>
Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
	[172.17.192.35])
	by mail.linuxfoundation.org (Postfix) with ESMTPS id 281DCB2A
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Thu, 13 Jul 2017 03:24:13 +0000 (UTC)
X-Greylist: from auto-whitelisted by SQLgrey-1.7.6
Received: from homiemail-a3.g.dreamhost.com (homie.mail.dreamhost.com
	[208.97.132.208])
	by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 64AB510A
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Thu, 13 Jul 2017 03:24:11 +0000 (UTC)
Received: from homiemail-a3.g.dreamhost.com (localhost [127.0.0.1])
	by homiemail-a3.g.dreamhost.com (Postfix) with ESMTP id C9C77284078;
	Wed, 12 Jul 2017 20:24:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=taoeffect.com; h=from
	:content-type:mime-version:subject:message-id:date:references:to
	:in-reply-to; s=taoeffect.com; bh=gAXQUKynjMciZW5h6RU6m1zJB6M=;
	b=Qh457lAIu+YSG78IEHfM9kunAoJbwJcrB03qeZcu0pPVRPRh8Q/sCGnVxO581
	Cue/RvnV68Ihfrv+qEOkH46IPEdDfdOG9HtbzlvKMwPZTmDedaVTQXdZndjH4y7s
	mbQJL2L8TRSz/J5Ko9kx0fTQcUmrDWC3ADcCGHc+S+0bo8=
Received: from [192.168.42.67] (184-23-252-118.fiber.dynamic.sonic.net
	[184.23.252.118])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(No client certificate requested)
	(Authenticated sender: contact@taoeffect.com)
	by homiemail-a3.g.dreamhost.com (Postfix) with ESMTPSA id 96FB228406C; 
	Wed, 12 Jul 2017 20:24:10 -0700 (PDT)
From: Tao Effect <contact@taoeffect.com>
Content-Type: multipart/signed;
	boundary="Apple-Mail=_00D64527-0324-4692-826A-5D68957184F5";
	protocol="application/pgp-signature"; micalg=pgp-sha512
X-Mao-Original-Outgoing-Id: 521609049.7779-a6449991ad806af44a20e278efcee780
Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\))
Message-Id: <3F1802B5-FDD5-4E4F-9A5D-238C5F83116F@taoeffect.com>
Date: Wed, 12 Jul 2017 20:24:10 -0700
References: <24f2b447-a237-45eb-ef9f-1a62533fad5c@gmail.com>
	<83671224-f6ff-16a9-81c0-20ab578aec9d@gmail.com>
	<AAC86547-7904-4475-9966-138130019567@taoeffect.com>
	<6764b8af-bb4c-615d-5af5-462127bbbe36@gmail.com>
	<F2C3A9F4-07AB-41B9-B915-9E33EE313F9E@taoeffect.com>
	<117f6a96-6d90-778a-d87a-be72592e31c5@gmail.com>
	<42C03DFC-C358-4F8C-A088-735910CCC60E@taoeffect.com>
	<3277f4ef-a250-d383-8b00-cb912eb19f8b@gmail.com>
To: Paul Sztorc <truthcoin@gmail.com>,
	Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>
In-Reply-To: <3277f4ef-a250-d383-8b00-cb912eb19f8b@gmail.com>
X-Mailer: Apple Mail (2.3273)
X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,
	DKIM_VALID, DKIM_VALID_AU, HTML_MESSAGE,
	RCVD_IN_DNSWL_NONE 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: Thu, 13 Jul 2017 03:51:41 +0000
Subject: Re: [bitcoin-dev] Drivechain RfD -- Follow Up
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: Thu, 13 Jul 2017 03:24:13 -0000


--Apple-Mail=_00D64527-0324-4692-826A-5D68957184F5
Content-Type: multipart/alternative;
	boundary="Apple-Mail=_8CD43468-0A58-49E7-82A4-666B949AE531"


--Apple-Mail=_8CD43468-0A58-49E7-82A4-666B949AE531
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

Dear Paul,

> In point of fact, he is wrong, because nodes do the counting. When =
miners find a block, they can choose to move the counter up, down, or =
not at all. But nodes do the counting.

I may very well have confused who counts what, but for this discussion =
on *theft* it's irrelevant, so I won't push further on this.

Let's move on to the theft.

> Again, keep in mind that Greg continually conflates two different =
things:
> 1. Whether the soft fork rules have been followed, and
> 2. Whether the WT^ submitted by a majority hashrate matches the one =
calculated by sidechain nodes.
>=20
> The first case is exactly equal to P2SH. Just as old nodes accept =
every P2SH transaction, so too will [DC#0] users accept every WT^ =
transaction.

To be crystal clear: I am entirely uninterested in the un-upgraded =
nodes, what you call [DC#0].

They are irrelevant to my argument.

> In the second case, it so happens that [DC#1], [DC#2], and [DC#3] =
would also accept any WT^ *that followed the Drivechain rules*, even if =
they did not like the outcome (because the outcome in question was =
arbitrarily designated as a "theft" of funds -- again, see the second =
case in the list above). In this way, it is exactly similar to P2SH =
because nodes will accept *any* p2sh txn **that follows the p2sh =
rules**, even if they don't "like" the specific script contained within =
(for example, because it is a theft of "their" BitFinex funds, or a =
donation to a political candidate they dislike, etc).

This is false.

For miners to steal P2SH funds, the P2SH script would have to be coded =
to explicitly allow them to do it.

How many P2SH scripts are you aware of that are used for the purpose of =
facilitating such theft?

I know of none, and I bet there are none.

Whereas in DC, every single usage of DC allows miners to steal funds.

>> In P2SH, all upgraded nodes will reject invalid P2SH transactions, =
period.
>=20
> In DC, all upgraded nodes will reject invalid DC transactions, period.

It appears you are playing games with the meaning of "invalid" here, so =
that sentence is invalid.

I was very clear what I meant by "invalid" in my email: WT^ transactions =
that represent miners stealing funds. Please stick to that and do not =
play word games.

> The [DC#2] and [DC#3] nodes would do exactly what the [DC#0] and =
[DC#1] nodes do. This is what I mean by "every withdrawal is valid".

So, here you are again re-affirming that WT^ transactions representing =
stolen funds are allowed in DC, and by tying them all together you are =
also affirming that the SPV proofs mentioned in DC are completely =
irrelevant / pointless / unused.

>> Again, in P2SH miners cannot steal funds, because all full nodes have =
a fully automatic enforcement policy.
>=20
> In DC, miners cannot steal funds, because all full nodes have a fully =
automatic enforcement policy.
>=20
> However, DC *allows* users to choose to place some of their BTC at the =
relative mercy of the miners in creative ways, if they wish (as does =
P2SH -- someone could write a script which donates funds to miners, and =
then fund it... "paying" to that script). This is another example of =
conflating [DC#1] and [DC#3].

So in the first sentence you say they "cannot steal funds", but =
everything else you've said, including the following paragraph, and your =
specification, indicates they can.

I've finally collected all my thoughts / concerns and have also =
summarized them in this document:

https://gist.github.com/taoeffect/9ff64cf78cf1408ec29f13ed39e534c9 =
<https://gist.github.com/taoeffect/9ff64cf78cf1408ec29f13ed39e534c9>

Kind regards,
Greg Slepak

--
Please do not email me anything that you are not comfortable also =
sharing with the NSA.

> On Jul 12, 2017, at 7:58 PM, Paul Sztorc via bitcoin-dev =
<bitcoin-dev@lists.linuxfoundation.org =
<mailto:bitcoin-dev@lists.linuxfoundation.org>> wrote:
>=20
> I will repeat that Drivechain can sometimes be confusing because it is =
different things to different people.
>=20
> Here is my attempt to break it down into different modes:
>=20
> [DC#0] -- Someone who does not upgrade their Bitcoin software (and is =
running, say, 0.13). However, they experience the effects of the new =
rules which miners add (as per the soft fork[s] to add drivechain =
functionality and individual drivechains).
> [DC#1] -- Someone who always upgrades to the latest version of the =
Bitcoin software, but otherwise has no interest in running/using =
sidechains.
> [DC#2] -- Someone who upgrades to the latest Bitcoin version, and =
decides to also become a full node of one or more sidechains, but who =
ever actually uses the sidechains.
> [DC#3] -- Someone who upgrades their software, runs sidechain full =
nodes, and actively moves money to and from these.
>=20
> Greg is still conflating modes [DC#1] and [DC#3]. Specifically, he =
equivocates on the team "steal", using it to mean two different things: =
[a] spending an invalid transaction, and [b] a withdrawal that would not =
match the report given by a sidechain node.
>=20
> The two are quite different, see my comments below:
>=20
>=20
> On 7/12/2017 9:15 PM, Tao Effect wrote:
>>> FYI that document is nearly two years old, and although it is still =
overwhelmingly accurate, new optimizations allow us (I think) to push =
the waiting period to several weeks and the total ACK counting period up =
to several months.
>>=20
>> What does that have to do with my question? The counting period, if I =
understood correctly, is something miners do, not full nodes.
>=20
> Greg quoted a passage that contained an older parameter estimate of "a =
few days", and I thought it would be helpful and informative if I =
clarified that the parameter estimate had been updated to a new (more =
secure) value.
>=20
> In point of fact, he is wrong, because nodes do the counting. When =
miners find a block, they can choose to move the counter up, down, or =
not at all. But nodes do the counting.
>=20
>=20
>> Also, if the document is old and/or outdated, do you happen to have a =
link to a more update-to-date version of the spec? It would be helpful =
for review.
>=20
> As I stated above, the document is mostly accurate. There is no other =
more up to date version.
>=20
>=20
>>> Because if a node doesn't have the sidechain's information, it will =
just assume every withdrawal is valid. This is comparable to someone who =
still hasn't upgraded to support P2SH, in cases [DC#0] and [#1].
>>=20
>> Right, for [DC#0] and [DC#1], but for [DC#2] an [DC#3] you marked it =
as "Yes" without substantiating why you did so.
>=20
>=20
> Above, Greg omitted his original question. For reference, it was:
>=20
>>  The Drivechain spec seems to claim that its use of anyone-can-pay is =
the same as P2SH
>=20
> The answer is that both DC and P2SH use transactions which are 'always =
valid' to some group of people (un-upgraded users) but which are =
sometimes invalid to new users. So the only difference would be for =
[DC#0] vs other versions, but this difference is trivial as miners will =
censor invalid txns.
>=20
> It is your classic soft fork situation.
>=20
>=20
>>> Again, from the perspective of a mainchain user, every withdrawal is =
valid.
>>=20
>> And that is not how P2SH works.
>=20
> Again, keep in mind that Greg continually conflates two different =
things:
> 1. Whether the soft fork rules have been followed, and
> 2. Whether the WT^ submitted by a majority hashrate matches the one =
calculated by sidechain nodes.
>=20
> The first case is exactly equal to P2SH. Just as old nodes accept =
every P2SH transaction, so too will [DC#0] users accept every WT^ =
transaction.
>=20
> In the second case, it so happens that [DC#1], [DC#2], and [DC#3] =
would also accept any WT^ *that followed the Drivechain rules*, even if =
they did not like the outcome (because the outcome in question was =
arbitrarily designated as a "theft" of funds -- again, see the second =
case in the list above). In this way, it is exactly similar to P2SH =
because nodes will accept *any* p2sh txn **that follows the p2sh =
rules**, even if they don't "like" the specific script contained within =
(for example, because it is a theft of "their" BitFinex funds, or a =
donation to a political candidate they dislike, etc).
>=20
>=20
>>> [DC#2] and [DC#3] would certainly have an interest in understanding =
what is going on, but that has absolutely nothing whatsoever to do with =
Bitcoin Core and so is off-topic for this mailing list.
>>=20
>> How is that an answer to my question?
>=20
> Greg is, of course, not entitled to an answer to irrelevant questions =
-- just as he would not be entitled to an answer if he asked for my =
favorite color or my home address. And such answers would needlessly =
consume the mailing list's scarce time.
>=20
>=20
>> What does "[DC#2] and [DC#3] would certainly have an interest in =
understanding what is going on" mean?
>=20
> It is clear to me that, if we are not clear on the basics first, we =
cannot hope to tackle anything intermediate. We will come back to this =
after clearing up soft fork part.
>=20
>=20
>> In P2SH, all upgraded nodes will reject invalid P2SH transactions, =
period.
>=20
> In DC, all upgraded nodes will reject invalid DC transactions, period.
>=20
>=20
>> What exactly would [DC#2] and [DC#3] nodes do when faced with an =
invalid WT^ transaction =E2=80=94 invalid in the sense that it contains =
funds which miners are stealing?
>=20
> The [DC#2] and [DC#3] nodes would do exactly what the [DC#0] and =
[DC#1] nodes do. This is what I mean by "every withdrawal is valid".
>=20
>=20
>> Again, in P2SH miners cannot steal funds, because all full nodes have =
a fully automatic enforcement policy.
>=20
> In DC, miners cannot steal funds, because all full nodes have a fully =
automatic enforcement policy.
>=20
> However, DC *allows* users to choose to place some of their BTC at the =
relative mercy of the miners in creative ways, if they wish (as does =
P2SH -- someone could write a script which donates funds to miners, and =
then fund it... "paying" to that script). This is another example of =
conflating [DC#1] and [DC#3].
>=20
> Paul


--Apple-Mail=_8CD43468-0A58-49E7-82A4-666B949AE531
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=utf-8

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Dutf-8"><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" =
class=3D"">Dear Paul,<div class=3D""><br class=3D""></div><div =
class=3D""><blockquote type=3D"cite" class=3D""><span class=3D"" =
style=3D"background-color: rgb(255, 255, 255); float: none; display: =
inline !important;">In point of fact, he is wrong, because nodes do the =
counting. When miners find a block, they can choose to move the counter =
up, down, or not at all. But nodes do the counting.</span><br class=3D"" =
style=3D"background-color: rgb(255, 255, 255);"></blockquote><div =
class=3D""><br class=3D""></div>I may very well have confused who counts =
what, but for this discussion on *theft* it's irrelevant, so I won't =
push further on this.</div><div class=3D""><br class=3D""></div><div =
class=3D"">Let's move on to the theft.</div><div class=3D""><br =
class=3D""></div><div class=3D""><div class=3D""><blockquote type=3D"cite"=
 class=3D""><span class=3D"" style=3D"background-color: rgb(255, 255, =
255); float: none; display: inline !important;">Again, keep in mind that =
Greg continually conflates two different things:</span><br class=3D"" =
style=3D"background-color: rgb(255, 255, 255);"><span class=3D"" =
style=3D"background-color: rgb(255, 255, 255); float: none; display: =
inline !important;">1. Whether the soft fork rules have been followed, =
and</span><br class=3D"" style=3D"background-color: rgb(255, 255, =
255);"><span class=3D"" style=3D"background-color: rgb(255, 255, 255); =
float: none; display: inline !important;">2. Whether the WT^ submitted =
by a majority hashrate matches the one calculated by sidechain =
nodes.</span><br class=3D"" style=3D"background-color: rgb(255, 255, =
255);"><br class=3D"" style=3D"background-color: rgb(255, 255, =
255);"><span class=3D"" style=3D"background-color: rgb(255, 255, 255); =
float: none; display: inline !important;">The first case is exactly =
equal to P2SH. Just as old nodes accept every P2SH transaction, so too =
will [DC#0] users accept every WT^ transaction.</span></blockquote><br =
class=3D""></div><div class=3D"">To be crystal clear: I am entirely =
uninterested in the un-upgraded nodes, what you call [DC#0].</div><div =
class=3D""><br class=3D""></div><div class=3D"">They are irrelevant to =
my argument.</div><div class=3D""><br =
class=3D"webkit-block-placeholder"></div><div class=3D""><blockquote =
type=3D"cite" class=3D""><span class=3D"" style=3D"background-color: =
rgb(255, 255, 255); display: inline !important;">In the second case, it =
so happens that [DC#1], [DC#2], and [DC#3] would also accept any WT^ =
*that followed the Drivechain rules*, even if they did not like the =
outcome (because the outcome in question was arbitrarily designated as a =
"theft" of funds -- again, see the second case in the list above). In =
this way, it is exactly similar to P2SH because nodes will accept *any* =
p2sh txn **that follows the p2sh rules**, even if they don't "like" the =
specific script contained within (for example, because it is a theft of =
"their" BitFinex funds, or a donation to a political candidate they =
dislike, etc).</span></blockquote><br class=3D""></div><div =
class=3D"">This is false.</div><div class=3D""><br class=3D""></div><div =
class=3D"">For miners to steal P2SH funds, the P2SH script would have to =
be coded to explicitly allow them to do it.</div><div class=3D""><br =
class=3D""></div><div class=3D"">How many P2SH scripts are you aware of =
that are used for the purpose of facilitating such theft?</div><div =
class=3D""><br class=3D""></div><div class=3D"">I know of none, and I =
bet there are none.</div><div class=3D""><br class=3D""></div><div =
class=3D"">Whereas in DC, every single usage of DC allows miners to =
steal funds.</div><div class=3D""><br class=3D""></div><div =
class=3D""><blockquote type=3D"cite" class=3D""><blockquote type=3D"cite" =
cite=3D"mid:42C03DFC-C358-4F8C-A088-735910CCC60E@taoeffect.com" class=3D""=
 style=3D"background-color: rgb(255, 255, 255);"><div class=3D"">In =
P2SH, all upgraded nodes will reject invalid P2SH transactions, =
period.</div></blockquote><br class=3D"" style=3D"background-color: =
rgb(255, 255, 255);"><span class=3D"" style=3D"background-color: =
rgb(255, 255, 255); float: none; display: inline !important;">In DC, all =
upgraded nodes will reject invalid DC transactions, period.</span><br =
class=3D"" style=3D"background-color: rgb(255, 255, =
255);"></blockquote><br class=3D""></div><div class=3D"">It appears you =
are playing games with the meaning of "invalid" here, so that sentence =
is invalid.</div><div class=3D""><br class=3D""></div><div class=3D"">I =
was very clear what I meant by "invalid" in my email: WT^ transactions =
that represent miners stealing funds. Please stick to that and do not =
play word games.</div><div class=3D""><br class=3D""></div><div =
class=3D""><blockquote type=3D"cite" class=3D""><span class=3D"" =
style=3D"background-color: rgb(255, 255, 255); display: inline =
!important;">The [DC#2] and [DC#3] nodes would do exactly what the =
[DC#0] and [DC#1] nodes do. This is what I mean by "every withdrawal is =
valid".</span></blockquote><br class=3D""></div><div class=3D"">So, here =
you are again re-affirming that WT^ transactions representing stolen =
funds are allowed in DC, and by tying them all together you are also =
affirming that the SPV proofs mentioned in DC are completely irrelevant =
/ pointless / unused.</div><div class=3D""><br class=3D""></div><div =
class=3D""><blockquote type=3D"cite" class=3D""><blockquote type=3D"cite" =
cite=3D"mid:42C03DFC-C358-4F8C-A088-735910CCC60E@taoeffect.com" class=3D""=
 style=3D"background-color: rgb(255, 255, 255);"><div class=3D"">Again, =
in P2SH miners cannot steal funds, because all full nodes have a fully =
automatic enforcement policy.</div></blockquote><br class=3D"" =
style=3D"background-color: rgb(255, 255, 255);"><span class=3D"" =
style=3D"background-color: rgb(255, 255, 255); float: none; display: =
inline !important;">In DC, miners cannot steal funds, because all full =
nodes have a fully automatic enforcement policy.</span><br class=3D"" =
style=3D"background-color: rgb(255, 255, 255);"><br class=3D"" =
style=3D"background-color: rgb(255, 255, 255);"><span class=3D"" =
style=3D"background-color: rgb(255, 255, 255); float: none; display: =
inline !important;">However, DC *allows* users to choose to place some =
of their BTC at the relative mercy of the miners in creative ways, if =
they wish (as does P2SH -- someone could write a script which donates =
funds to miners, and then fund it... "paying" to that script). This is =
another example of conflating [DC#1] and [DC#3].</span><br class=3D"" =
style=3D"background-color: rgb(255, 255, 255);"></blockquote><br =
class=3D""></div><div class=3D"">So in the first sentence you say they =
"cannot steal funds", but everything else you've said, including the =
following paragraph, and your specification, indicates they =
can.</div><div class=3D""><br class=3D""></div><div class=3D"">I've =
finally collected all my thoughts / concerns and have also summarized =
them in this document:</div><div class=3D""><br class=3D""></div><div =
class=3D""><a =
href=3D"https://gist.github.com/taoeffect/9ff64cf78cf1408ec29f13ed39e534c9=
" =
class=3D"">https://gist.github.com/taoeffect/9ff64cf78cf1408ec29f13ed39e53=
4c9</a></div><div class=3D""><br class=3D""></div><div class=3D"">Kind =
regards,</div><div class=3D"">Greg Slepak</div><div class=3D""><br =
class=3D""></div><div class=3D""><span style=3D"color: rgb(0, 0, 0); =
font-family: Helvetica; font-size: 14px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
font-variant-ligatures: normal; font-variant-position: normal; =
font-variant-numeric: normal; font-variant-alternates: normal; =
font-variant-east-asian: normal; line-height: normal; orphans: 2; =
widows: 2;" class=3D"">--</span><br style=3D"color: rgb(0, 0, 0); =
font-family: Helvetica; font-size: 14px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
font-variant-ligatures: normal; font-variant-position: normal; =
font-variant-numeric: normal; font-variant-alternates: normal; =
font-variant-east-asian: normal; line-height: normal; orphans: 2; =
widows: 2;" class=3D""><span style=3D"color: rgb(0, 0, 0); font-family: =
Helvetica; font-size: 14px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; =
font-variant-ligatures: normal; font-variant-position: normal; =
font-variant-numeric: normal; font-variant-alternates: normal; =
font-variant-east-asian: normal; line-height: normal; orphans: 2; =
widows: 2;" class=3D"">Please do not email me anything that you are not =
comfortable also sharing</span><span style=3D"color: rgb(0, 0, 0); =
font-family: Helvetica; font-size: 14px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
font-variant-ligatures: normal; font-variant-position: normal; =
font-variant-numeric: normal; font-variant-alternates: normal; =
font-variant-east-asian: normal; line-height: normal; orphans: 2; =
widows: 2;" class=3D"">&nbsp;with the NSA.</span>
</div>
<br class=3D""><div><blockquote type=3D"cite" class=3D""><div =
class=3D"">On Jul 12, 2017, at 7:58 PM, Paul Sztorc via bitcoin-dev =
&lt;<a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org" =
class=3D"">bitcoin-dev@lists.linuxfoundation.org</a>&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><div class=3D""><div =
class=3D"moz-cite-prefix" style=3D"font-family: Helvetica; font-size: =
14px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);">I =
will repeat that Drivechain can sometimes be confusing because it is =
different things to different people.<br class=3D""><br class=3D"">Here =
is my attempt to break it down into different modes:<br class=3D""><br =
class=3D"">[DC#0] -- Someone who does not upgrade their Bitcoin software =
(and is running, say, 0.13). However, they experience the effects of the =
new rules which miners add (as per the soft fork[s] to add drivechain =
functionality and individual drivechains).<br class=3D"">[DC#1] -- =
Someone who always upgrades to the latest version of the Bitcoin =
software, but otherwise has no interest in running/using sidechains.<br =
class=3D"">[DC#2] -- Someone who upgrades to the latest Bitcoin version, =
and decides to also become a full node of one or more sidechains, but =
who ever actually uses the sidechains.<br class=3D"">[DC#3] -- Someone =
who upgrades their software, runs sidechain full nodes, and actively =
moves money to and from these.<br class=3D""><br class=3D"">Greg is =
still conflating modes [DC#1] and [DC#3]. Specifically, he equivocates =
on the team "steal", using it to mean two different things: [a] spending =
an invalid transaction, and [b] a withdrawal that would not match the =
report given by a sidechain node.<br class=3D""><br class=3D"">The two =
are quite different, see my comments below:<br class=3D""><br =
class=3D""><br class=3D"">On 7/12/2017 9:15 PM, Tao Effect wrote:<br =
class=3D""></div><blockquote type=3D"cite" =
cite=3D"mid:42C03DFC-C358-4F8C-A088-735910CCC60E@taoeffect.com" =
style=3D"font-family: Helvetica; font-size: 14px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
orphans: auto; text-align: start; text-indent: 0px; text-transform: =
none; white-space: normal; widows: auto; word-spacing: 0px; =
-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; =
background-color: rgb(255, 255, 255);" class=3D""><div =
class=3D""><blockquote type=3D"cite" class=3D""><div text=3D"#000000" =
bgcolor=3D"#FFFFFF" class=3D"">FYI that document is nearly two years =
old, and although it is still overwhelmingly accurate, new optimizations =
allow us (I think) to push the waiting period to several weeks and the =
total ACK counting period up to several =
months.</div></blockquote></div><div class=3D"">What does that have to =
do with my question? The counting period, if I understood correctly, is =
something miners do, not full nodes.</div></blockquote><br =
style=3D"font-family: Helvetica; font-size: 14px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
background-color: rgb(255, 255, 255);" class=3D""><span =
style=3D"font-family: Helvetica; font-size: 14px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
background-color: rgb(255, 255, 255); float: none; display: inline =
!important;" class=3D"">Greg quoted a passage that contained an older =
parameter estimate of "a few days", and I thought it would be helpful =
and informative if I clarified that the parameter estimate had been =
updated to a new (more secure) value.</span><br style=3D"font-family: =
Helvetica; font-size: 14px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: =
rgb(255, 255, 255);" class=3D""><br style=3D"font-family: Helvetica; =
font-size: 14px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: =
rgb(255, 255, 255);" class=3D""><span style=3D"font-family: Helvetica; =
font-size: 14px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: =
rgb(255, 255, 255); float: none; display: inline !important;" =
class=3D"">In point of fact, he is wrong, because nodes do the counting. =
When miners find a block, they can choose to move the counter up, down, =
or not at all. But nodes do the counting.</span><br style=3D"font-family: =
Helvetica; font-size: 14px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: =
rgb(255, 255, 255);" class=3D""><br style=3D"font-family: Helvetica; =
font-size: 14px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: =
rgb(255, 255, 255);" class=3D""><br style=3D"font-family: Helvetica; =
font-size: 14px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: =
rgb(255, 255, 255);" class=3D""><blockquote type=3D"cite" =
cite=3D"mid:42C03DFC-C358-4F8C-A088-735910CCC60E@taoeffect.com" =
style=3D"font-family: Helvetica; font-size: 14px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
orphans: auto; text-align: start; text-indent: 0px; text-transform: =
none; white-space: normal; widows: auto; word-spacing: 0px; =
-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; =
background-color: rgb(255, 255, 255);" class=3D""><div class=3D"">Also, =
if the document is old and/or outdated, do you happen to have a link to =
a more update-to-date version of the spec? It would be helpful for =
review.</div></blockquote><br style=3D"font-family: Helvetica; =
font-size: 14px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: =
rgb(255, 255, 255);" class=3D""><span style=3D"font-family: Helvetica; =
font-size: 14px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: =
rgb(255, 255, 255); float: none; display: inline !important;" =
class=3D"">As I stated above, the document is mostly accurate. There is =
no other more up to date version.</span><br style=3D"font-family: =
Helvetica; font-size: 14px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: =
rgb(255, 255, 255);" class=3D""><br style=3D"font-family: Helvetica; =
font-size: 14px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: =
rgb(255, 255, 255);" class=3D""><br style=3D"font-family: Helvetica; =
font-size: 14px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: =
rgb(255, 255, 255);" class=3D""><blockquote type=3D"cite" =
cite=3D"mid:42C03DFC-C358-4F8C-A088-735910CCC60E@taoeffect.com" =
style=3D"font-family: Helvetica; font-size: 14px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
orphans: auto; text-align: start; text-indent: 0px; text-transform: =
none; white-space: normal; widows: auto; word-spacing: 0px; =
-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; =
background-color: rgb(255, 255, 255);" class=3D""><div =
class=3D""><blockquote type=3D"cite" class=3D""><div text=3D"#000000" =
bgcolor=3D"#FFFFFF" class=3D"">Because if a node doesn't have the =
sidechain's information, it will just assume every withdrawal is valid. =
This is comparable to someone who still hasn't upgraded to support P2SH, =
in cases [DC#0] and [#1].<br class=3D""></div></blockquote><br =
class=3D""></div><div class=3D"">Right, for [DC#0] and [DC#1], but for =
[DC#2] an [DC#3] you marked it as "Yes" without substantiating why you =
did so.</div></blockquote><br style=3D"font-family: Helvetica; =
font-size: 14px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: =
rgb(255, 255, 255);" class=3D""><br style=3D"font-family: Helvetica; =
font-size: 14px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: =
rgb(255, 255, 255);" class=3D""><span style=3D"font-family: Helvetica; =
font-size: 14px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: =
rgb(255, 255, 255); float: none; display: inline !important;" =
class=3D"">Above, Greg omitted his original question. For reference, it =
was:</span><br style=3D"font-family: Helvetica; font-size: 14px; =
font-style: normal; font-variant-caps: normal; font-weight: normal; =
letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" =
class=3D""><br style=3D"font-family: Helvetica; font-size: 14px; =
font-style: normal; font-variant-caps: normal; font-weight: normal; =
letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" =
class=3D""><blockquote type=3D"cite" style=3D"font-family: Helvetica; =
font-size: 14px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; orphans: auto; text-align: =
start; text-indent: 0px; text-transform: none; white-space: normal; =
widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; =
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" =
class=3D""><pre style=3D"white-space: pre-wrap; font-style: normal; =
font-variant-ligatures: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; orphans: 2; text-align: start; =
text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; =
-webkit-text-stroke-width: 0px;" class=3D""> The Drivechain spec seems =
to claim that its use of anyone-can-pay is the same as =
P2SH</pre></blockquote><br style=3D"font-family: Helvetica; font-size: =
14px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" =
class=3D""><span style=3D"font-family: Helvetica; font-size: 14px; =
font-style: normal; font-variant-caps: normal; font-weight: normal; =
letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); =
float: none; display: inline !important;" class=3D"">The answer is that =
both DC and P2SH use transactions which are 'always valid' to some group =
of people (un-upgraded users) but which are sometimes invalid to new =
users. So the only difference would be for [DC#0] vs other versions, but =
this difference is trivial as miners will censor invalid txns.</span><br =
style=3D"font-family: Helvetica; font-size: 14px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
background-color: rgb(255, 255, 255);" class=3D""><br =
style=3D"font-family: Helvetica; font-size: 14px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
background-color: rgb(255, 255, 255);" class=3D""><span =
style=3D"font-family: Helvetica; font-size: 14px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
background-color: rgb(255, 255, 255); float: none; display: inline =
!important;" class=3D"">It is your classic soft fork =
situation.</span><br style=3D"font-family: Helvetica; font-size: 14px; =
font-style: normal; font-variant-caps: normal; font-weight: normal; =
letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" =
class=3D""><br style=3D"font-family: Helvetica; font-size: 14px; =
font-style: normal; font-variant-caps: normal; font-weight: normal; =
letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" =
class=3D""><br style=3D"font-family: Helvetica; font-size: 14px; =
font-style: normal; font-variant-caps: normal; font-weight: normal; =
letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" =
class=3D""><blockquote type=3D"cite" =
cite=3D"mid:42C03DFC-C358-4F8C-A088-735910CCC60E@taoeffect.com" =
style=3D"font-family: Helvetica; font-size: 14px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
orphans: auto; text-align: start; text-indent: 0px; text-transform: =
none; white-space: normal; widows: auto; word-spacing: 0px; =
-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; =
background-color: rgb(255, 255, 255);" class=3D""><div =
class=3D""><blockquote type=3D"cite" class=3D""><div text=3D"#000000" =
bgcolor=3D"#FFFFFF" class=3D"">Again, from the perspective of a =
mainchain user, every withdrawal is valid.</div></blockquote></div><div =
class=3D"">And that is not how P2SH works.</div></blockquote><br =
style=3D"font-family: Helvetica; font-size: 14px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
background-color: rgb(255, 255, 255);" class=3D""><span =
style=3D"font-family: Helvetica; font-size: 14px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
background-color: rgb(255, 255, 255); float: none; display: inline =
!important;" class=3D"">Again, keep in mind that Greg continually =
conflates two different things:</span><br style=3D"font-family: =
Helvetica; font-size: 14px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: =
rgb(255, 255, 255);" class=3D""><span style=3D"font-family: Helvetica; =
font-size: 14px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: =
rgb(255, 255, 255); float: none; display: inline !important;" =
class=3D"">1. Whether the soft fork rules have been followed, =
and</span><br style=3D"font-family: Helvetica; font-size: 14px; =
font-style: normal; font-variant-caps: normal; font-weight: normal; =
letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" =
class=3D""><span style=3D"font-family: Helvetica; font-size: 14px; =
font-style: normal; font-variant-caps: normal; font-weight: normal; =
letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); =
float: none; display: inline !important;" class=3D"">2. Whether the WT^ =
submitted by a majority hashrate matches the one calculated by sidechain =
nodes.</span><br style=3D"font-family: Helvetica; font-size: 14px; =
font-style: normal; font-variant-caps: normal; font-weight: normal; =
letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" =
class=3D""><br style=3D"font-family: Helvetica; font-size: 14px; =
font-style: normal; font-variant-caps: normal; font-weight: normal; =
letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" =
class=3D""><span style=3D"font-family: Helvetica; font-size: 14px; =
font-style: normal; font-variant-caps: normal; font-weight: normal; =
letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); =
float: none; display: inline !important;" class=3D"">The first case is =
exactly equal to P2SH. Just as old nodes accept every P2SH transaction, =
so too will [DC#0] users accept every WT^ transaction.</span><br =
style=3D"font-family: Helvetica; font-size: 14px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
background-color: rgb(255, 255, 255);" class=3D""><br =
style=3D"font-family: Helvetica; font-size: 14px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
background-color: rgb(255, 255, 255);" class=3D""><span =
style=3D"font-family: Helvetica; font-size: 14px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
background-color: rgb(255, 255, 255); float: none; display: inline =
!important;" class=3D"">In the second case, it so happens that [DC#1], =
[DC#2], and [DC#3] would also accept any WT^ *that followed the =
Drivechain rules*, even if they did not like the outcome (because the =
outcome in question was arbitrarily designated as a "theft" of funds -- =
again, see the second case in the list above). In this way, it is =
exactly similar to P2SH because nodes will accept *any* p2sh txn **that =
follows the p2sh rules**, even if they don't "like" the specific script =
contained within (for example, because it is a theft of "their" BitFinex =
funds, or a donation to a political candidate they dislike, =
etc).</span><br style=3D"font-family: Helvetica; font-size: 14px; =
font-style: normal; font-variant-caps: normal; font-weight: normal; =
letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" =
class=3D""><br style=3D"font-family: Helvetica; font-size: 14px; =
font-style: normal; font-variant-caps: normal; font-weight: normal; =
letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" =
class=3D""><br style=3D"font-family: Helvetica; font-size: 14px; =
font-style: normal; font-variant-caps: normal; font-weight: normal; =
letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" =
class=3D""><blockquote type=3D"cite" =
cite=3D"mid:42C03DFC-C358-4F8C-A088-735910CCC60E@taoeffect.com" =
style=3D"font-family: Helvetica; font-size: 14px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
orphans: auto; text-align: start; text-indent: 0px; text-transform: =
none; white-space: normal; widows: auto; word-spacing: 0px; =
-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; =
background-color: rgb(255, 255, 255);" class=3D""><div =
class=3D""><blockquote type=3D"cite" class=3D""><div text=3D"#000000" =
bgcolor=3D"#FFFFFF" class=3D"">[DC#2] and [DC#3] would certainly have an =
interest in understanding what is going on, but that has absolutely =
nothing whatsoever to do with Bitcoin Core and so is off-topic for this =
mailing list.<br class=3D""></div></blockquote></div><div class=3D"">How =
is that an answer to my question?</div></blockquote><br =
style=3D"font-family: Helvetica; font-size: 14px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
background-color: rgb(255, 255, 255);" class=3D""><span =
style=3D"font-family: Helvetica; font-size: 14px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
background-color: rgb(255, 255, 255); float: none; display: inline =
!important;" class=3D"">Greg is, of course, not entitled to an answer to =
irrelevant questions -- just as he would not be entitled to an answer if =
he asked for my favorite color or my home address. And such answers =
would needlessly consume the mailing list's scarce time.</span><br =
style=3D"font-family: Helvetica; font-size: 14px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
background-color: rgb(255, 255, 255);" class=3D""><br =
style=3D"font-family: Helvetica; font-size: 14px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
background-color: rgb(255, 255, 255);" class=3D""><br =
style=3D"font-family: Helvetica; font-size: 14px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
background-color: rgb(255, 255, 255);" class=3D""><blockquote =
type=3D"cite" =
cite=3D"mid:42C03DFC-C358-4F8C-A088-735910CCC60E@taoeffect.com" =
style=3D"font-family: Helvetica; font-size: 14px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
orphans: auto; text-align: start; text-indent: 0px; text-transform: =
none; white-space: normal; widows: auto; word-spacing: 0px; =
-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; =
background-color: rgb(255, 255, 255);" class=3D""><div class=3D"">What =
does "[DC#2] and [DC#3] would certainly have an interest in =
understanding what is going on" mean?</div></blockquote><br =
style=3D"font-family: Helvetica; font-size: 14px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
background-color: rgb(255, 255, 255);" class=3D""><span =
style=3D"font-family: Helvetica; font-size: 14px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
background-color: rgb(255, 255, 255); float: none; display: inline =
!important;" class=3D"">It is clear to me that, if we are not clear on =
the basics first, we cannot hope to tackle anything intermediate. We =
will come back to this after clearing up soft fork part.</span><br =
style=3D"font-family: Helvetica; font-size: 14px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
background-color: rgb(255, 255, 255);" class=3D""><br =
style=3D"font-family: Helvetica; font-size: 14px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
background-color: rgb(255, 255, 255);" class=3D""><br =
style=3D"font-family: Helvetica; font-size: 14px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
background-color: rgb(255, 255, 255);" class=3D""><blockquote =
type=3D"cite" =
cite=3D"mid:42C03DFC-C358-4F8C-A088-735910CCC60E@taoeffect.com" =
style=3D"font-family: Helvetica; font-size: 14px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
orphans: auto; text-align: start; text-indent: 0px; text-transform: =
none; white-space: normal; widows: auto; word-spacing: 0px; =
-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; =
background-color: rgb(255, 255, 255);" class=3D""><div class=3D"">In =
P2SH, all upgraded nodes will reject invalid P2SH transactions, =
period.</div></blockquote><br style=3D"font-family: Helvetica; =
font-size: 14px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: =
rgb(255, 255, 255);" class=3D""><span style=3D"font-family: Helvetica; =
font-size: 14px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: =
rgb(255, 255, 255); float: none; display: inline !important;" =
class=3D"">In DC, all upgraded nodes will reject invalid DC =
transactions, period.</span><br style=3D"font-family: Helvetica; =
font-size: 14px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: =
rgb(255, 255, 255);" class=3D""><br style=3D"font-family: Helvetica; =
font-size: 14px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: =
rgb(255, 255, 255);" class=3D""><br style=3D"font-family: Helvetica; =
font-size: 14px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: =
rgb(255, 255, 255);" class=3D""><blockquote type=3D"cite" =
cite=3D"mid:42C03DFC-C358-4F8C-A088-735910CCC60E@taoeffect.com" =
style=3D"font-family: Helvetica; font-size: 14px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
orphans: auto; text-align: start; text-indent: 0px; text-transform: =
none; white-space: normal; widows: auto; word-spacing: 0px; =
-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; =
background-color: rgb(255, 255, 255);" class=3D""><div class=3D"">What =
exactly would [DC#2] and [DC#3] nodes do when faced with an invalid WT^ =
transaction =E2=80=94 invalid in the sense that it contains funds which =
miners are stealing?</div></blockquote><br style=3D"font-family: =
Helvetica; font-size: 14px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: =
rgb(255, 255, 255);" class=3D""><span style=3D"font-family: Helvetica; =
font-size: 14px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: =
rgb(255, 255, 255); float: none; display: inline !important;" =
class=3D"">The [DC#2] and [DC#3] nodes would do exactly what the [DC#0] =
and [DC#1] nodes do. This is what I mean by "every withdrawal is =
valid".</span><br style=3D"font-family: Helvetica; font-size: 14px; =
font-style: normal; font-variant-caps: normal; font-weight: normal; =
letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" =
class=3D""><br style=3D"font-family: Helvetica; font-size: 14px; =
font-style: normal; font-variant-caps: normal; font-weight: normal; =
letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" =
class=3D""><br style=3D"font-family: Helvetica; font-size: 14px; =
font-style: normal; font-variant-caps: normal; font-weight: normal; =
letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" =
class=3D""><blockquote type=3D"cite" =
cite=3D"mid:42C03DFC-C358-4F8C-A088-735910CCC60E@taoeffect.com" =
style=3D"font-family: Helvetica; font-size: 14px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
orphans: auto; text-align: start; text-indent: 0px; text-transform: =
none; white-space: normal; widows: auto; word-spacing: 0px; =
-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; =
background-color: rgb(255, 255, 255);" class=3D""><div class=3D"">Again, =
in P2SH miners cannot steal funds, because all full nodes have a fully =
automatic enforcement policy.</div></blockquote><br style=3D"font-family: =
Helvetica; font-size: 14px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: =
rgb(255, 255, 255);" class=3D""><span style=3D"font-family: Helvetica; =
font-size: 14px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: =
rgb(255, 255, 255); float: none; display: inline !important;" =
class=3D"">In DC, miners cannot steal funds, because all full nodes have =
a fully automatic enforcement policy.</span><br style=3D"font-family: =
Helvetica; font-size: 14px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: =
rgb(255, 255, 255);" class=3D""><br style=3D"font-family: Helvetica; =
font-size: 14px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: =
rgb(255, 255, 255);" class=3D""><span style=3D"font-family: Helvetica; =
font-size: 14px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: =
rgb(255, 255, 255); float: none; display: inline !important;" =
class=3D"">However, DC *allows* users to choose to place some of their =
BTC at the relative mercy of the miners in creative ways, if they wish =
(as does P2SH -- someone could write a script which donates funds to =
miners, and then fund it... "paying" to that script). This is another =
example of conflating [DC#1] and [DC#3].</span><br style=3D"font-family: =
Helvetica; font-size: 14px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: =
rgb(255, 255, 255);" class=3D""><br style=3D"font-family: Helvetica; =
font-size: 14px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: =
rgb(255, 255, 255);" class=3D""><span style=3D"font-family: Helvetica; =
font-size: 14px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: =
rgb(255, 255, 255); float: none; display: inline !important;" =
class=3D"">Paul</span><br style=3D"font-family: Helvetica; font-size: =
14px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" =
class=3D""></div></blockquote></div><br class=3D""></div></body></html>=

--Apple-Mail=_8CD43468-0A58-49E7-82A4-666B949AE531--

--Apple-Mail=_00D64527-0324-4692-826A-5D68957184F5
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP

-----BEGIN PGP SIGNATURE-----

iQIcBAEBCgAGBQJZZufZAAoJEOxnICvpCVJHMVsP/3zhz0TdnxnYj3m3xQkyZwyP
3eEikrTTlbdyrqf9Az6Lfyn1G6ubDR0+E/GhfSkL1ib7viBOywAglSLQhlGQ1dk3
AyPzET+EaAa9+LMb2i9QK8GGuR7HUgeyAjOAlLENRO6hbE01s+Fxv4O9+CIph1QY
K4Sb2VcN+0A0t3mLdFEWbEFUx5EIHp+ORkIxVfD4XezjoDbYP15LW68KAscgH1bz
yU7zcYcFo7jjEU/edWIEgSsPcuG+nuMRlDYR+5Fy84twm5T/K4wPdKb/2btz7wQt
bUid5V7HRMn6QN2ydg4ypC6tybiqnsm1HToSo8XiU8YQqzBnXxLwslb8YNTCo8rc
TqMA80kau1aClQpUROJ3g4CtgPsPGxYSWWREKcpHDE/J+y+EHGBF/jpaj6Ibaozc
eJHapFBMeYdnWLItEVQRM33LcJbK0E/8r31wL28efLu2w9tubJm5rjkSnT3Q1mbx
mK/BqVYPgpMn5IDvHOz1h90NbZ4LB8LEuNXbXYYsx7dNxlkBD7vzr6baf1bY0UUV
LXn05w+LMDhzdnSTYpuyXBDCQbdksB02BTiBfEi3XjSyJT6vwHwR8xUsnUKYAj5d
wXSsnb/xcKdkjiaW5kBWbFA9tMSiBRKRc2cLVb2uF59IGs1peVlwflD+lJch7L1C
DIsbj00bi+ArthSGXwNe
=ClwE
-----END PGP SIGNATURE-----

--Apple-Mail=_00D64527-0324-4692-826A-5D68957184F5--