Re: [bitcoin-dev] [Mempool spam] Should we as developers reject non-standard Taproot transactions from full nodes?

2023-05-10 Thread Weiji Guo via bitcoin-dev
> I would like to point out that I'm not an advocate for doing anything at
this point aside from working on l2

Speaking of L2, I had recently proposed a new opcode OP_ZKP to enable
payments based on ZKP proof. I wonder if it has drawn enough attention but
it seems to me a viable way to address transaction fee issues, in addition
to enabling more smart contracts. And it will be a Bitcoin native L2, not a
side chain, not pegging.

  scriptPubKey:   OP_ZKP
  scriptSig:   ...  


I haven't figured out how to use OP_ZKP to incentivize BRC-20, inscription
etc. to move to L2. But I like to bring it up here and I am open to your
feedback and comments.

Thanks,
Weiji

On Tue, May 9, 2023 at 8:51 PM Erik Aronesty via bitcoin-dev <
bitcoin-dev@lists.linuxfoundation.org> wrote:

> I would like to point out that I'm not an advocate for doing anything at
> this point aside from working on l2
>
> just to make it inconvenient for people
>
> I just think the discussion of outputs and fees is interesting and related
> to the game theory portion of Bitcoin
>
>
>
> On Tue, May 9, 2023, 8:23 AM Jaroslaw via bitcoin-dev <
> bitcoin-dev@lists.linuxfoundation.org> wrote:
>
>>
>>
>> Ok, I need to highlight one important thing well proven by this
>> discussion (like it or not)...
>>
>> Not the spam itself is the real reason of feeling: "something must be
>> done"
>> The reason is: $30 fee per transaction (I hope you all agree)
>>
>>
>> Let me paraphrase some quotes used in this discussion, then:
>>
>> 1. Lack of block subsidy long term and necessity of $40 tx fee to
>> compensate it - "threaten the smooth and normal use of the Bitcoin network
>> as a peer-to-pear digital currency, as it was intended to be used as."
>>
>> 2. "the harmony of Bitcoin transactions is being disrupted right now" due
>> to lack of block subsidy and due to exorbitant $40 tx fees as an effect
>> necessary to keep the network security untouched
>>
>> 3. "Fee spikes aren't fun" and it's obvious that keeping the network
>> security only on enormous tx fees of active users and having passive users
>> as free-riders - isn't fun, too
>>
>> 4. by ignoring Bitcoin long-term security budget problem - "we indirectly
>> allowed this to happen, which previously wasn't possible before. So we also
>> have a responsibility to do something to ensure that this kind of
>> tremendous $40 tx fees can never happen again"
>>
>> 5. "Action against exorbitant fees should have been taken months ago.
>> (...) It's a mistake that the" tail emission or other necessary solution -
>> weren't implemented on time
>>
>> 6. "we need to find a solution for long-term horrible fees problem - that
>> fits everyone's common ground."
>>
>>
>> Yes, we need - instead of being still in a heavy denial state.
>>
>> No additional comment then, except this little one:
>> Delay of halving in case of 4 years long network difficulty regression
>> situation.
>>
>>
>> Regards,
>> Jaroslaw
>>
>>
>>
>>
>>
>> W dniu 2023-05-09 00:37:57 użytkownik Luke Dashjr via bitcoin-dev <
>> bitcoin-dev@lists.linuxfoundation.org> napisał:
>>
>> Action should have been taken months ago. Spam filtration has been a
>> standard part of Bitcoin Core since day 1. It's a mistake that the existing
>> filters weren't extended to Taproot transactions. We can address that, or
>> try a more narrow approach like OP_RETURN (ie, what "Ordisrespector" does).
>> Since this is a bugfix, it doesn't really even need to wait for a major
>> release.
>>
>> (We already have pruning. It's not an alternative to spam filtering.)
>>
>> Luke
>>
>>
>>
>>
>> On 5/7/23 13:22, Ali Sherief via bitcoin-dev wrote:
>> Hi guys,
>>
>>
>> I think everyone on this list knows what has happened to the Bitcoin
>> mempool during the past 96 hours. Due to side projects such as BRC-20
>> having such a high volume, real bitcoin transactions are being priced out
>> and that is what is causing the massive congestion that has arguable not
>> been seen since December 2017. I do not count the March 2021 congestion
>> because that was only with 1-5sat/vbyte.
>>
>>
>> Such justifiably worthless ("worthless" is not even my word - that's how
>> its creator described them[1]) tokens threaten the smooth and normal use of
>> the Bitcoin network as a peer-to-pear digital currency, as it was intended
>> to be used as.
>>
>>
>> If the volume does not die down over the next few weeks, should we take
>> an action? The bitcoin network is a triumvirate of developers, miners, and
>> users. Considering that miners are largely the entities at fault for
>> allowing the system to be abused like this, the harmony of Bitcoin
>> transactions is being disrupted right now. Although this community has a
>> strong history of not putting its fingers into pies unless absolutely
>> necessary - an example being during the block size wars and Segwit - should
>> similar action be taken now, in the form of i) BIPs and/or ii) commits into
>> the Bitcoin Core codebase, to curtail the loophole 

Re: [bitcoin-dev] tx max fee

2023-05-10 Thread vjudeu via bitcoin-dev
> possible to change tx "max fee"  to output amounts?

Is it possible? Yes. Should we do that? My first thought was "maybe", but after 
thinking more about it, I would say "no", here is why:

Starting point: 1 BTC on some output.
Current situation: A single transaction moving 0.9000 BTC as fees, and 
creating 1000 satoshis as some output (I know, allowed dust values are lower 
and depend on address type, but let's say it is 1k sats to make things simpler).

And then, there is a room for other solutions, for example your rule, mentioned 
in other posts, like this one: 
https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2023-May/021626.html

> probably easier just to reject any transaction where the fee is higher than 
> the sum of the outputs

Possible situation after introducing your proposal, step-by-step:

1) Someone wants to move 1 BTC, and someone wants to pay 0.9000 BTC as 
fees. Assuming your rules are on consensus level, the first transaction creates 
0.5 BTC output and 0.5 BTC fee.
2) That person still wants to move 0.5 remaining BTC, and still is willing to 
pay 0.4000 BTC as fees. Guess what will happen: you will see another 
transaction, creating 0.25 BTC output, and paying 0.25 BTC fee.
...
N) Your proposal replaced one transaction, consuming maybe one kilobyte, with a 
lot of transactions, doing exactly the same, but where fees are distributed 
between many transactions.

Before thinking about improving that system, consider one simple thing: is it 
possible to avoid "max fee rule", no matter in what way it will be defined? 
Because as shown above, the answer seems to be "yes", because you can always 
replace a single transaction moving 1 BTC as fees with multiple transactions, 
each paying one satoshi per virtual byte, and then instead of consuming around 
one kilobyte, it would consume around 1 MvB per 0.01 BTC, so 100 MvB per 1 BTC 
mentioned in the example above.



On 2023-05-08 13:55:18 user Erik Aronesty via bitcoin-dev 
 wrote:
possible to change tx "max fee"  to output amounts?


seems like the only use case that would support such a tx is spam/dos type 
stuff that satoshi warned about


its not a fix for everything, but it seems could help a bit with certain 
attacks 



___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] Bitcoin Core maintainers and communication on merge decisions

2023-05-10 Thread Steve Lee via bitcoin-dev
Blocking Vasil was discussed on a similar GitHub PR. Whether or not one
agrees or disagrees, the same process is being used. Anyone can NACK and
give a reason for Russ as well.

On Wed, May 10, 2023 at 8:55 AM Michael Folkson <
michaelfolk...@protonmail.com> wrote:

> Hi Steve
>
> > Isn't this as simple as anyone (in particular Core project
> contributors) can express their view in this PR?
> https://github.com/bitcoin/bitcoin/pull/27604
>
> Nope. The extent to which the rationale for blocking Vasil as a maintainer
> applies or doesn't apply to ryanofsky (or future potential maintainers)
> isn't discussed. From now on the precedent is proposed maintainers can be
> blocked for unknown and/or potentially inconsistent reasons by the existing
> maintainers.
>
> Thanks
> Michael
>
> --
> Michael Folkson
> Email: michaelfolkson at protonmail.com
> GPG: A2CF5D71603C92010659818D2A75D601B23FEE0F
>
> Learn about Bitcoin: https://www.youtube.com/@portofbitcoin
>
> --- Original Message ---
> On Wednesday, May 10th, 2023 at 03:44, Steve Lee via bitcoin-dev <
> bitcoin-dev@lists.linuxfoundation.org> wrote:
>
> Isn't this as simple as anyone (in particular Core project contributors)
> can express their view in this PR?
> https://github.com/bitcoin/bitcoin/pull/27604
>
> On Mon, May 8, 2023 at 5:03 AM Bryan Bishop via bitcoin-dev <
> bitcoin-dev@lists.linuxfoundation.org> wrote:
>
>> On Sun, May 7, 2023 at 12:36 PM David A. Harding via bitcoin-dev <
>> bitcoin-dev@lists.linuxfoundation.org> wrote:
>>
>>> On 2023-05-06 21:03, Michael Folkson via bitcoin-dev wrote:
>>> > Essentially my concern is going forward current maintainers will
>>> > decide which proposed new maintainers to add and which to block.
>>>
>>> This is how a large percentage of organizations are run. The current
>>> members of a board or other governance group choose who will become a
>>> new board member.
>>>
>>
>> Yes but it's unrelated to what Bitcoin Core is-- a volunteer project of
>> independent contributors merging different pull requests or patches. The
>> github controls are merely because that is how github works. There is also
>> a secondary issue of people tending to confuse Bitcoin Core with the
>> bitcoin protocol in general:
>> https://blog.lopp.net/who-controls-bitcoin-core/
>> https://medium.com/@bergealex4/the-tao-of-bitcoin-development-ff093c6155cd
>>
>> https://bitcoinmagazine.com/culture/a-primer-on-bitcoin-governance-or-why-developers-aren-t-in-charge-of-the-protocol-1473270427
>>
>> - Bryan
>> https://twitter.com/kanzure
>> ___
>> bitcoin-dev mailing list
>> bitcoin-dev@lists.linuxfoundation.org
>> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>>
>
>
___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] Bitcoin Core maintainers and communication on merge decisions

2023-05-10 Thread Michael Folkson via bitcoin-dev
Hi Steve

> Isn't this as simple as anyone (in particular Core project contributors) can 
> express their view in this PR?https://github.com/bitcoin/bitcoin/pull/27604

Nope. The extent to which the rationale for blocking Vasil as a maintainer 
applies or doesn't apply to ryanofsky (or future potential maintainers) isn't 
discussed. From now on the precedent is proposed maintainers can be blocked for 
unknown and/or potentially inconsistent reasons by the existing maintainers.

Thanks
Michael

--
Michael Folkson
Email: michaelfolkson at [protonmail.com](http://protonmail.com/)
GPG: A2CF5D71603C92010659818D2A75D601B23FEE0F

Learn about Bitcoin: https://www.youtube.com/@portofbitcoin

--- Original Message ---
On Wednesday, May 10th, 2023 at 03:44, Steve Lee via bitcoin-dev 
 wrote:

> Isn't this as simple as anyone (in particular Core project contributors) can 
> express their view in this PR? https://github.com/bitcoin/bitcoin/pull/27604
>
> On Mon, May 8, 2023 at 5:03 AM Bryan Bishop via bitcoin-dev 
>  wrote:
>
>> On Sun, May 7, 2023 at 12:36 PM David A. Harding via bitcoin-dev 
>>  wrote:
>>
>>> On 2023-05-06 21:03, Michael Folkson via bitcoin-dev wrote:
 Essentially my concern is going forward current maintainers will
 decide which proposed new maintainers to add and which to block.
>>>
>>> This is how a large percentage of organizations are run. The current
>>> members of a board or other governance group choose who will become a
>>> new board member.
>>
>> Yes but it's unrelated to what Bitcoin Core is-- a volunteer project of 
>> independent contributors merging different pull requests or patches. The 
>> github controls are merely because that is how github works. There is also a 
>> secondary issue of people tending to confuse Bitcoin Core with the bitcoin 
>> protocol in general:
>> https://blog.lopp.net/who-controls-bitcoin-core/
>> https://medium.com/@bergealex4/the-tao-of-bitcoin-development-ff093c6155cd
>> https://bitcoinmagazine.com/culture/a-primer-on-bitcoin-governance-or-why-developers-aren-t-in-charge-of-the-protocol-1473270427
>>
>> - Bryan
>> https://twitter.com/kanzure
>> ___
>> bitcoin-dev mailing list
>> bitcoin-dev@lists.linuxfoundation.org
>> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] Package Relay Proposal

2023-05-10 Thread Greg Sanders via bitcoin-dev
Hi Tom,

Yesterday a PR was opened to do just that, with caveats:
https://github.com/bitcoin/bitcoin/pull/27609

For higher level tracking of the project:
https://github.com/bitcoin/bitcoin/issues/27463

Cheers,
Greg

On Wed, May 10, 2023 at 11:39 AM Tom Trevethan via bitcoin-dev <
bitcoin-dev@lists.linuxfoundation.org> wrote:

> The submitpackage RPC is available on regtest in the current core
> release. Is there any plan or timeline for deploying this on mainnet in the
> next release? Can't find any recent discussion. It would be very helpful
> given current (and likely future) issues with mempool purge.
>
> Tom
> ___
> bitcoin-dev mailing list
> bitcoin-dev@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>
___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


[bitcoin-dev] Interactive Payment Batching w/ Payjoin

2023-05-10 Thread Dan Gould via bitcoin-dev
Hi list, The following message details a number of examples using payjoin P2EP 
to coordinate payment batches. I stray from the original shape of stenographic 
payjoin, what I call "canonical payjoin" with 2 inputs and many outputs, to 
describe what I believe are novel structures that break heuristics used to 
track batched payments. The later examples match typical batch structure while 
breaking common input heuristic.

I'm curious to hear any feedback or concerns with these methods. This work is 
written in a less technical register than this list may be used to, but 
bitcoin-dev is the best forum to request for a critique of the thinking.

Thanks,
Dan

—

INTERACTIVE PAYMENT BATCHING IS BETTER

## Payjoin for More Than Privacy

A high fee bitcoin always 
[triggers](https://twitter.com/BTCsessions/status/1655733065426296832) a 
[search](https://twitter.com/w_s_bitcoin/status/1655885695762808832) for more 
efficient use of blockspace. Blockchain is a slow database, and batching has 
got to be one of the oldest ways to optimize a database. Lightning is 
interactive payment batching based on intermittent settlement. Payjoin is 
interactive settlement batching. Merchant to customer payjoin is what led to 
the formal spec. No surprise then that a merchant / customer frame stuck versus 
a frame payment batching like lightning. Lightning has been batching for 
scaling all along. The following outlines how payjoin fits into batched 
transfer settlement infrastructure and how it helps prepare for the next wave 
of blockspace scarcity.

The term "payjoin" is used to describe both an interactive way to build 
transactions between peers on the web, aka Pay-to-Endpoint (P2EP), and an 
ambiguous transaction structure, typically with many inputs and two outputs 
that I dub *canonical payjoin*. Canonical payjoin looks like transaction 
behavior that any wallet could make, but its inputs actually come from more 
than one person. Breaking the assumption that all transaction inputs belong to 
the same person breaks the foundation of blockchain surveillance and the sole 
privacy problem left open in Satoshi's whitepaper. In an effort to improve 
bitcoin's privacy through payjoin adoption, I outline a number of ways payjoin 
can significantly reduce fee expenditure and blockchain throughput in 
individual and enterprise circumstances. Some of these new techniques preserve 
privacy for transactions otherwise thought of as unambiguous and certainly 
traceable. The examples mostly ignore mining fees for the sake of simplicity.

## Before the Batch

### Paying Naively

Payjoin without the joi is just payn. ouch.

```
A's input0:2 btc
A's input1:3 btc
---
B's output0:   4 btc B's address0
A's output1:   1 btc A's change
```

A typical bitcoin transfer from `A`lice to `B`ob looks like this. Note that 
only the addresses and amounts are posted to chain with no further relation 
between inputs and outputs. The named labels are not. Third party analysts 
assume both inputs come from the same entity (because they usually do). They 
also assume `output0` is the payment because neither input is alone sufficient 
to make a payment of 4 btc.

### Canonical Payjoin

Payjoin foils that assumption because it lets Alice and Bob both contribute 
inputs. What would be interpreted as a naive payment might actually be a 
payjoin. Assuming both inputs always come from either Bob or Alice is wrong.

```pre
A's input0:  2 btc
B's input1: 3 btc
---
A's output1:   1 btc A's change
B's output0:   4 btc B's address0
```


Alice only paid 1 btc to `output0`'s 4 btc while merging it with Bob's 3 btc 
input txo too. Bob's 4 btc is not the 1 btc amount Alice paid, which is not 
visible.

## Enter Output Substitution

Payjoin [payment output 
substitution](https://github.com/bitcoin/bips/blob/master/bip-0078.mediawiki#payment-output-substitution)
 (`pjos`) lets a receiver like Bob substitute a proposed output with any 
outputs of equal amount. BIP 78 `pjos` is insecure over relayed communications 
and thus forbidden. BIP 78 receivers must run their own authenticated server to 
use `pjos`. [Serverless 
Payjoin](https://gist.github.com/DanGould/243e418752fff760c9f6b23bba8a32f9) 
secures relayed `pjos`.

The following examines the use of this technique to prevent address reuse, 
redirect funds to cold storage, forward payments, and batch transactions for 
massive fee savings.

### The Minimum Effective Interaction

Let's make not-quite-payjoin but something still fun. Call that Payjoi. Get it? 
Joy again? Hah 論.

If Bob's wallet is empty or he's using a cold wallet this would still work.

Imagine Bob's a bartender who posts the QR code for 
`bitcoin:address0?pj=https://payjoin.bob.cash` on an the wall at the bar.

Alice would scan it to propose the transaction as before, but Bob returns the 
payjoin proposal with one tiny change. In this way he keeps his tip private 
from nosy neighbors at the bar.

```pre
A's input0:2 btc
A's input1:

[bitcoin-dev] Package Relay Proposal

2023-05-10 Thread Tom Trevethan via bitcoin-dev
The submitpackage RPC is available on regtest in the current core release.
Is there any plan or timeline for deploying this on mainnet in the next
release? Can't find any recent discussion. It would be very helpful given
current (and likely future) issues with mempool purge.

Tom
___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] Bitcoin Core maintainers and communication on merge decisions

2023-05-10 Thread Steve Lee via bitcoin-dev
Isn't this as simple as anyone (in particular Core project contributors)
can express their view in this PR?
https://github.com/bitcoin/bitcoin/pull/27604

On Mon, May 8, 2023 at 5:03 AM Bryan Bishop via bitcoin-dev <
bitcoin-dev@lists.linuxfoundation.org> wrote:

> On Sun, May 7, 2023 at 12:36 PM David A. Harding via bitcoin-dev <
> bitcoin-dev@lists.linuxfoundation.org> wrote:
>
>> On 2023-05-06 21:03, Michael Folkson via bitcoin-dev wrote:
>> > Essentially my concern is going forward current maintainers will
>> > decide which proposed new maintainers to add and which to block.
>>
>> This is how a large percentage of organizations are run.  The current
>> members of a board or other governance group choose who will become a
>> new board member.
>>
>
> Yes but it's unrelated to what Bitcoin Core is-- a volunteer project of
> independent contributors merging different pull requests or patches. The
> github controls are merely because that is how github works. There is also
> a secondary issue of people tending to confuse Bitcoin Core with the
> bitcoin protocol in general:
> https://blog.lopp.net/who-controls-bitcoin-core/
> https://medium.com/@bergealex4/the-tao-of-bitcoin-development-ff093c6155cd
>
> https://bitcoinmagazine.com/culture/a-primer-on-bitcoin-governance-or-why-developers-aren-t-in-charge-of-the-protocol-1473270427
>
> - Bryan
> https://twitter.com/kanzure
> ___
> bitcoin-dev mailing list
> bitcoin-dev@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>
___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev