Subject: Re: [bitcoindev] Who uses or wants to use PSBTv2 (BIP370)

From: Salvatore Ingala <[email-masked]>
Date: Fri, 17 Jan 2025 14:02:50 +0100

Yes, but it is to be noted that all the Psbt implementations in the various
Ledger client libraries are bare bones, containing just what's needed for
the communication protocol.
They are not general purpose and not otherwise complete (nor planned to
become so).

Best,
Salvatore Ingala

On Fri, 17 Jan 2025 at 11:38, Kalle Rosenbaum <[email-masked]> wrote:

> I might have linked to a slightly outdated version of ledger's psbtv2. I
> haven't been involved lately. The correct one could be
> https://github.com/LedgerHQ/app-bitcoin-new/blob/53dfd1727ab55182f9e365747b26b862e48b7b8b/bitcoin_client_js/src/lib/psbtv2.ts.
> Is that right, Salvatore?
>
> /Kalle
>
> On Fri, 17 Jan 2025 at 11:03, Salvatore Ingala <[email-masked]>
> wrote:
>
>> Hi Sjors,
>>
>> The Ledger Bitcoin app uses PSBTv2 since version 2.0.0 in 2021 [0], quite
>> possibly the first adopter - although for somewhat unusual reasons.
>>
>> Working with embedded devices with just a few kb of RAM, even sending the
>> entire PSBT is not generally feasible.
>> Therefore, the client instead sends a 'merkleized' commitment to the
>> entire PSBT at the beginning of the signing process.
>> This enables the device to obtain random access to the PSBT by querying
>> the client (who provides the data - and the Merkle proof - on demand).
>>
>> In PsbtV0, the unsigned transaction is a binary blob, which was a huge
>> headache because the device had to parse it while streaming it (and
>> therefore, no RAM access to the individual transaction fields is possible).
>> PsbtV2 fixed this by having the transaction already 'parsed' into
>> individual fields.
>>
>> The companion client libraries of the Ledger Bitcoin app support both
>> versions, and PsbtV0 is converted to PsbtV2 on the fly.
>> Broader support would certainly be useful.
>>
>> Best,
>> Salvatore Ingala
>>
>> [0] https://www.ledger.com/blog/bitcoin-2
>>
>> --
>> 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-masked].
>> To view this discussion visit
>> https://groups.google.com/d/msgid/bitcoindev/CAMhCMoGONKFok_SuZkic%2BT%3DyoWZs5eeVxtwJL6Ei%3DyysvA8rrg%40mail.gmail.com
>> <https://groups.google.com/d/msgid/bitcoindev/CAMhCMoGONKFok_SuZkic%2BT%3DyoWZs5eeVxtwJL6Ei%3DyysvA8rrg%40mail.gmail.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 [email-masked].
To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/CAMhCMoGArSJ1_x2yhqUuedVpBZt1iPwioujJCH2eLVPEy9_QNA%40mail.gmail.com.