Subject: Re: [bitcoin-dev] Taproot NACK

From: LORD HIS EXCELLENCY JAMES HRMH <[email-masked]>
Date: Wed, 17 Mar 2021 08:13:36 +0000

Good afternoon,

That is not desirable since yourself and I cannot prove the property of the UTXO when it is further spent unless we can ourselves scrutinize it.

We have had this conversation before where you approach your reply to resolve that I have offered disagreement and I try to explain I am not disagreeing and yet there should be found some common ground. Can this improve?

KING JAMES HRMH
Great British Empire

Regards,
The Australian
LORD HIS EXCELLENCY JAMES HRMH (& HMRH)
of Hougun Manor & Glencoe & British Empire
MR. Damian A. James Williamson
Wills

et al.

Willtech
www.willtech.com.au
www.go-overt.com
and other projects

earn.com/willtech
linkedin.com/in/damianwilliamson

m. 0487135719
f. +61261470192

This email does not constitute a general advice. Please disregard this email if misdelivered.
________________________________
From: ZmnSCPxj <[email-masked]>
Sent: Wednesday, 17 March 2021 3:11 PM
To: DA Williamson <[email-masked]>
Cc: Bitcoin Protocol Discussion <[email-masked]>; LORD HIS EXCELLENCY JAMES HRMH <[email-masked]>
Subject: Re: [bitcoin-dev] Taproot NACK

Good morning JAMES,

> Good Afternoon,
>
> Verifiable and independantly verifiable are not the same. Independantly
> scrutinable means any public can scrutinise blockchain to determine it
> is honest. It does not rely on involved parties but insistently on the
> data published in the blockchain.

The involved parties ultimately publish the data on the blockchain, and the result is independently validatable.
All that each involved party has to do is validate for itself that it does not lose any funds, and, by the operation of math, the summary result does not result in any loss (or creation) of funds, thus CoinJoin cannot lead to fraud.

I do not see much of a point in your objection here.
For example, in the case of Lightning, the individual payments made by the participants in the channel cannot be verified by anyone else (they can lie about the payments that occurred on their channel).
But both participants in the channel need to agree on a single result, and it is that summary result that is independently verified onchain and published.

Indeed, one major technique for privacy improvement in Bitcoin is the simple technique of creating summaries of multiple actions without revealing details.
Such a general class of techniques works by reducing the data pushed onchain which provides both (a) scale because less data on chain and (b) privacy because less data is analyzable onchain.

Basically ---

1.  The entire point of a public blockchain is to prevent uncontrolled forgery of the coin.
    Only particular rules allow construction of new coins (in Bitcoin, the mining subsidy).
2.  Various techniques can be used to support the above central point.
    * The simplest is to openly publish every amount value in cleartext.
      * However, this is not necessarily the ***only*** acceptable way to achieve the goal!
      * Remember, the point is to prevent uncontrolled forgery.
        The point is **not** mass surveillance.
    * Another method would be to openly publish **summaries** of transactions, such as by Lightning Network summarizing the result of multiple payments.
      * CoinJoin is really just a way to summarize multiple self-payments.
    * Another method would be to use homomorphisms between a cleartext and a ciphertext, and publish only the ciphertext (which can be independently verified as correctly being added together and that inputs equal outputs plus fees).

No privacy technique worth discussing and development in Bitcoin gets around the above point, and thus fraud cannot be achieved with those (at least if we define fraud simply as "those who control the keys control the coins" --- someone stealing a copy of your privkeys is beyond this definition of fraud).
Any privacy improvement Taproot buys (mostly in LN, but also some additional privacy for CoinSwap) will still not allow fraud.

Regards,
ZmnSCPxj