On 2025-02-15 01:37, Jose Storopoli wrote:
Dear Bitcoin Dev Community,

I am excited to introduce Bitcoin BOSD (Bitcoin Output Script
Descriptor), a new specification and open source Rust implementation
to simplify relay-safe (standardness-guarantee) on-chain withdrawals
for Bitcoin Layer 2 solutions.

Key Features:
- Standardness-by-construction for withdrawal outputs
- Eliminates ad-hoc standardness rule implementations in L2s
- Compact representation

It's unclear to me why you don't simply implement your selected standardness rules on top of a BIP385 raw() output script descriptor (with the normal BIP380 checksum)? That gives you an efficient representation, compatibility with other software, a compact checksum, and local policy.

For the later point, policy being local, there exists software[1] that I believe has a moderate userbase (including possibly some miner support) that implements less restrictive standard transaction rules than Bitcoin Core, specifically allowing OP_RETURN outputs of more than 83 bytes cumulative.[2] If a user of your software runs that node and believes his transactions will relay to a compatible miner, what options does he have of circumventing BOSD type 0's limit of 80 push bytes if one of his users wants to send him such a data carrier output? He can propose a type 5, but you'll probably reject that because >80 bytes will be non-standard for other users. You can create an extension numeric range, but then you'll have to centrally coordinate number assignment for every random proposal. Instead, I think it makes more sense to not use versioning at all and just perform local verification on raw() descriptors; that way users of your software can modify one line of code on their side to accept >80 bytes and everyone else can use the default tests.

In addition to the above technical criticism, I find the BOSD name extremely conflationary with the longstanding use of "output script descriptors", or "descriptors" for short, to refer to the language that originated in 2018 from Bitcoin Core developers for describing output scripts.[3] I think it would be helpful to everyone for your proposal to use a more distinct name.

Thanks,

-Dave

[1] https://github.com/petertodd/bitcoin/tree/libre-relay-v28.1
[2] https://github.com/bitcoin/bitcoin/commit/d67f4634e5395fbdf4383d7adcdfc92c0cca7fc9
[3] https://bitcoinops.org/en/topics/output-script-descriptors/

--
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 [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/bitcoindev/3d4f98e0886f03337b44f0e4152d1f33%40dtrt.org.

Reply via email to