public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: ZmnSCPxj <ZmnSCPxj@protonmail•com>
To: Alistair Mann <al@pectw•net>,
	Bitcoin Protocol Discussion
	<bitcoin-dev@lists•linuxfoundation.org>
Subject: Re: [bitcoin-dev] Pre BIP: Solving for spam and other abuse with an HTLB
Date: Tue, 12 Mar 2019 04:14:54 +0000	[thread overview]
Message-ID: <HT17PPZYL6SJ91sO2mrEmAZ6RaCoAPBSmF3cphDMx5bqjCFNgbfof5l-TfAS5RsfuyPEV_xUqyJDbfCONeefog8Tz3eLz4NhXGPDiKzTKHg=@protonmail.com> (raw)
In-Reply-To: <12139028.TiJ4v5RR02@dprfs-d5766>

Good morning Alistair,

>     It won't have escaped notice that the HTLB script can be wholly written in an
>     HTLC script: 'HTLB over HTLC', however there are additional reasons to
>     consider HTLB for a separate BIP:

I believe there is indeed an important usecase for HTLB over HTLC, which is to improve the anonymity set.
An HTLB over HTLC would be indistinguishable onchain from other uses of HTLC; assuming that HTLCs have other uses, this is a (small?) plus to privacy.

Note that the redundant <digest> would have to be given by Alice to Bob, since using a standardized one will also reveal use of HTLB over HTLC instead of hiding it among other HTLC UTXOs.

Another thing to improve privacy would be to apply the Funding Transaction pattern: https://zmnscpxj.github.io/offchain/generalized.html

In such a case, Alice would prepare two transactions, one which pays to a 2-of-2, and another which spends that 2-of-2 and pays to an HTLB (over HTLC).
Alice would provide the second transaction to Bob, who must return a valid signature for that transaction, then place the first transaction onchain.
Then the protocol resumes as normal.
If Alice and Bob both agree that the bond can be returned to Alice, then they recreate the second transaction as a normal spend from 2-of-2 to a flat P2PKH of Alice (or whatever address Alice desires), obscuring that HTLB was used at all.


The Funding Transaction Pattern is applicable to all constructions that have a fixed participant set, and is effectively gotten "for free" with Taproot (the requirement is the "Taproot assumption"), but is available now even without Taproot.

Regards,
ZmnSCPxj


  reply	other threads:[~2019-03-12  4:15 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-11 16:01 Alistair Mann
2019-03-12  4:14 ` ZmnSCPxj [this message]
2019-03-17 16:11   ` Alistair Mann
2019-03-18  4:22     ` ZmnSCPxj
2019-03-17 20:27 ` Alistair Mann
2019-03-19  0:22   ` ZmnSCPxj

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='HT17PPZYL6SJ91sO2mrEmAZ6RaCoAPBSmF3cphDMx5bqjCFNgbfof5l-TfAS5RsfuyPEV_xUqyJDbfCONeefog8Tz3eLz4NhXGPDiKzTKHg=@protonmail.com' \
    --to=zmnscpxj@protonmail$(echo .)com \
    --cc=al@pectw$(echo .)net \
    --cc=bitcoin-dev@lists$(echo .)linuxfoundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox