Redefine packages to discourage address reuse

Redefine packages to discourage address reuse
2024-10-20  7:33 ` Abubakar Ismail
  2024-10-23 14:35 ` Peter Todd
  
From: /dev /fd0 @ 2024-10-20  6:19 UTC (permalink / raw)
  To: Bitcoin Development Mailing List


[-- Attachment #1.1: Type: text/plain, Size: 1382 bytes --]

Hi Bitcoin Developers,

Address re-use is bad for privacy and such transactions affect everyone 
involved. A mempool policy to reject such transactions will be useless, 
however packages could be redefined to avoid address re-use in package 
transactions.

BIP 331 defines packages as a list of unconfirmed transactions, 
representable by a connected Directed Acyclic Graph (a directed edge exists 
between a transaction that spends the output of another transaction). With 
the new definition, transactions with address reuse cannot be a part of 
package relayed by nodes with SENDPACKAGES P2P message.

The only downside that I could think of is the scanning time required to 
check address reuse. Maybe others could suggest solutions for this problem 
or we can limit the address reuse check only for the chain of transactions.

I am not sure if BIP author would agree with this change and a new BIP wont 
make a difference if its not implemented in bitcoin core.

/dev/fd0
floppy disk guy

-- 
2: Type: text/html, Size: 1775 bytes --]

 permalink raw reply	[|nested]
2024-10-20  6:19 [bitcoindev] Redefine packages to discourage address reuse /dev /fd0

  2024-10-24  3:38   ` /dev /fd0
  2024-10-23 14:35 ` Peter Todd
  
From: Abubakar Ismail @ 2024-10-20  7:33 UTC (permalink / raw)
  To: /dev /fd0;  Bitcoin Development Mailing List

[-- Attachment #1: Type: text/plain, Size: 2891 bytes --]

Hi Floppy

> however packages could be redefined to avoid address >re-use in package
transactions.

What type of redefinition are you talking about here, is this not policy
rule still.

I don't think it's good for a node to reject an incentive compatible
transaction in a package because it reuses an address. I believe miners
won't.

> The only downside that I could think of is the scanning time required to
check address reuse. Maybe others could suggest solutions for this problem
or we can limit the address reuse check only for the chain of transactions.

Other disadvantage of this is that it will affect compact block
reconstruction, nodes fee estimation.


Wouldn't it be better to encourage using other safe mitigations of address
reuse like silent payments?

Abubakar

On Sun, Oct 20, 2024, 8:01 AM /dev /fd0 <alicexbtong@gmail•com> wrote:

> Hi Bitcoin Developers,
>
> Address re-use is bad for privacy and such transactions affect everyone
> involved. A mempool policy to reject such transactions will be useless,
> however packages could be redefined to avoid address re-use in package
> transactions.
>
> BIP 331 defines packages as a list of unconfirmed transactions,
> representable by a connected Directed Acyclic Graph (a directed edge exists
> between a transaction that spends the output of another transaction). With
> the new definition, transactions with address reuse cannot be a part of
> package relayed by nodes with SENDPACKAGES P2P message.
>
> The only downside that I could think of is the scanning time required to
> check address reuse. Maybe others could suggest solutions for this problem
> or we can limit the address reuse check only for the chain of transactions.
>
> I am not sure if BIP author would agree with this change and a new BIP
> wont make a difference if its not implemented in bitcoin core.
>
> /dev/fd0
> floppy disk guy
>
> --
> You received this message because you are subscribed to the Google Groups
> "Bitcoin Development Mailing List" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to bitcoindev+unsubscribe@googlegroups•com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/bitcoindev/b383aad2-1abc-4b82-9851-1750b1b52f12n%40googlegroups.com
> <https://groups.google.com/d/msgid/bitcoindev/b383aad2-1abc-4b82-9851-1750b1b52f12n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 


[-- Attachment #2: Type: text/html, Size: 5482 bytes --]

 permalink raw reply	[|nested]
2024-10-20  6:19 [bitcoindev] Redefine packages to discourage address reuse /dev /fd0
  2024-10-20  7:33 ` Abubakar Ismail

  2024-10-24  3:43   ` /dev /fd0
  
From: Peter Todd @ 2024-10-23 14:35 UTC (permalink / raw)
  To: /dev /fd0;  Bitcoin Development Mailing List

[-- Attachment #1: Type: text/plain, Size: 1511 bytes --]

On Sat, Oct 19, 2024 at 11:19:15PM -0700, /dev /fd0 wrote:
> Hi Bitcoin Developers,
> 
> Address re-use is bad for privacy and such transactions affect everyone 
> involved. A mempool policy to reject such transactions will be useless, 
> however packages could be redefined to avoid address re-use in package 
> transactions.
> 
> BIP 331 defines packages as a list of unconfirmed transactions, 
> representable by a connected Directed Acyclic Graph (a directed edge exists 
> between a transaction that spends the output of another transaction). With 
> the new definition, transactions with address reuse cannot be a part of 
> package relayed by nodes with SENDPACKAGES P2P message.

This kind of idea has been proposed multiple times and rejected.

In this particular case, an especially bad problem with it is there are
probably L2 protocols that actually need to reuse addresses in certain
circumstances. There are likely to also be situations where an adversary
can trigger unintentional address reuse, and thus get transactions
pinned by this filter.

For these reasons alone, NACK.

-- 
https://petertodd.org 'peter'[:-1]@petertodd.org

-- 
asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

 permalink raw reply	[|nested]
2024-10-20  7:33 ` Abubakar Ismail

  
From: /dev /fd0 @ 2024-10-24  3:38 UTC (permalink / raw)
  To: Bitcoin Development Mailing List


[-- Attachment #1.1: Type: text/plain, Size: 3811 bytes --]

Hi Abubakar,

> I don't think it's good for a node to reject an incentive compatible 
transaction in a package because it reuses an address. I believe miners 
won't.

The transactions are not rejected. They will continue to work as they did 
before packages existed. It is incentive compatible and does not reduce 
miner revenue.

> Other disadvantage of this is that it will affect compact block 
reconstruction, nodes fee estimation.

It wont.

> Wouldn't it be better to encourage using other safe mitigations of 
address reuse like silent payments?

Silent payments are used for reusable payment codes that help in creating 
multiple addresses. Its not a protocol change that discourages address 
reuse on-chain. 

/dev/fd0
floppy disk guy


On Monday, October 21, 2024 at 9:09:35 PM UTC+5:30 Abubakar Ismail wrote:

> Hi Floppy
>
> > however packages could be redefined to avoid address >re-use in package 
> transactions.
>
> What type of redefinition are you talking about here, is this not policy 
> rule still.
>
> I don't think it's good for a node to reject an incentive compatible 
> transaction in a package because it reuses an address. I believe miners 
> won't.
>
> > The only downside that I could think of is the scanning time required to 
> check address reuse. Maybe others could suggest solutions for this problem 
> or we can limit the address reuse check only for the chain of transactions.
>
> Other disadvantage of this is that it will affect compact block 
> reconstruction, nodes fee estimation.
>
>
> Wouldn't it be better to encourage using other safe mitigations of address 
> reuse like silent payments?
>
> Abubakar
>
> On Sun, Oct 20, 2024, 8:01 AM /dev /fd0 <alice...@gmail•com> wrote:
>
>> Hi Bitcoin Developers,
>>
>> Address re-use is bad for privacy and such transactions affect everyone 
>> involved. A mempool policy to reject such transactions will be useless, 
>> however packages could be redefined to avoid address re-use in package 
>> transactions.
>>
>> BIP 331 defines packages as a list of unconfirmed transactions, 
>> representable by a connected Directed Acyclic Graph (a directed edge exists 
>> between a transaction that spends the output of another transaction). With 
>> the new definition, transactions with address reuse cannot be a part of 
>> package relayed by nodes with SENDPACKAGES P2P message.
>>
>> The only downside that I could think of is the scanning time required to 
>> check address reuse. Maybe others could suggest solutions for this problem 
>> or we can limit the address reuse check only for the chain of transactions.
>>
>> I am not sure if BIP author would agree with this change and a new BIP 
>> wont make a difference if its not implemented in bitcoin core.
>>
>> /dev/fd0
>> floppy disk guy
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Bitcoin Development Mailing List" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to bitcoindev+...@googlegroups•com.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/bitcoindev/b383aad2-1abc-4b82-9851-1750b1b52f12n%40googlegroups.com 
>> <https://groups.google.com/d/msgid/bitcoindev/b383aad2-1abc-4b82-9851-1750b1b52f12n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups "Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bitcoindev+unsubscribe@googlegroups•com.
To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/6eac324c-27a3-457c-a9ea-a8e3c0d18887n%40googlegroups.com.

[-- Attachment #1.2: Type: text/html, Size: 7255 bytes --]

 permalink raw reply	[|nested]
2024-10-23 14:35 ` Peter Todd

  2024-10-29 16:43     ` Peter Todd
  
From: /dev /fd0 @ 2024-10-24  3:43 UTC (permalink / raw)
  To: Bitcoin Development Mailing List


[-- Attachment #1.1: Type: text/plain, Size: 2288 bytes --]

Hi Peter,

> This kind of idea has been proposed multiple times and rejected.

This is the first time packages are used in bitcoin. My proposal is limited 
to packages.

> In this particular case, an especially bad problem with it is there are
> probably L2 protocols that actually need to reuse addresses in certain
> circumstances. 

Can you share an example?

Packages will be used with covenants, inscriptions etc. apart from L2 
protocols and I think there would be lot of address-reuse which can be 
prevented by redefining the packages early.

/dev/fd0
floppy disk guy

On Wednesday, October 23, 2024 at 8:47:41 PM UTC+5:30 Peter Todd wrote:

> On Sat, Oct 19, 2024 at 11:19:15PM -0700, /dev /fd0 wrote:
> > Hi Bitcoin Developers,
> > 
> > Address re-use is bad for privacy and such transactions affect everyone 
> > involved. A mempool policy to reject such transactions will be useless, 
> > however packages could be redefined to avoid address re-use in package 
> > transactions.
> > 
> > BIP 331 defines packages as a list of unconfirmed transactions, 
> > representable by a connected Directed Acyclic Graph (a directed edge 
> exists 
> > between a transaction that spends the output of another transaction). 
> With 
> > the new definition, transactions with address reuse cannot be a part of 
> > package relayed by nodes with SENDPACKAGES P2P message.
>
> This kind of idea has been proposed multiple times and rejected.
>
> In this particular case, an especially bad problem with it is there are
> probably L2 protocols that actually need to reuse addresses in certain
> circumstances. There are likely to also be situations where an adversary
> can trigger unintentional address reuse, and thus get transactions
> pinned by this filter.
>
> For these reasons alone, NACK.
>
> -- 
> https://petertodd.org 'peter'[:-1]@petertodd.org
>

-- 
You received this message because you are subscribed to the Google Groups "Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bitcoindev+unsubscribe@googlegroups•com.
To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/d78f0253-b09a-4718-ba4f-805c1b25a036n%40googlegroups.com.

[-- Attachment #1.2: Type: text/html, Size: 3480 bytes --]

 permalink raw reply	[|nested]
2024-10-24  3:43   ` /dev /fd0

  
From: Peter Todd @ 2024-10-29 16:43 UTC ( / )
  To: /dev /fd0;  Bitcoin Development Mailing List



On Wed, Oct 23, 2024 at 08:43:50PM -0700, /dev /fd0 wrote:
> Hi Peter,
> 
> > This kind of idea has been proposed multiple times and rejected.
> 
> This is the first time packages are used in bitcoin. My proposal is limited 
> to packages.
> 
> > In this particular case, an especially bad problem with it is there are
> > probably L2 protocols that actually need to reuse addresses in certain
> > circumstances. 
> 
> Can you share an example?

For example in Lightning you can do closes to arbitrary addresses. An
adversary could pick an address that they know you will use in a package
to cause package propagation to fail, effectively resulting in a form of
transaction pinning.

There's no reason to add this complexity for essentially zero gain.

> Packages will be used with covenants, inscriptions etc. apart from L2 
> protocols and I think there would be lot of address-reuse which can be 
> prevented by redefining the packages early.

Packages tell chainalysis services that the transactions are related and
probably created by the same person anyway. Avoiding address reuse in
them doesn't improve privacy meaningfully.

-- 
https://petertodd.org 'peter'[:-1]@petertodd.org

-- 
You received this message because you are subscribed to the Google Groups "Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bitcoindev+unsubscribe@googlegroups•com.
To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/ZyEQn6UzyC9rQebc%40petertodd.org.