Andrew Chow [ARCHIVE] on Nostr: 📅 Original date posted:2021-01-06 📝 Original message:Hi Rusty, On 1/6/21 6:26 ...
📅 Original date posted:2021-01-06
📝 Original message:Hi Rusty,
On 1/6/21 6:26 PM, Rusty Russell wrote:
> Hi Andrew et al,
>
> Very excited to see this progress; thanks for doing all the
> work! Sorry for the delayed feedback, I didn't get to this before the
> break.
>
>> Additionally, I would like to add a new global field:
>> * PSBT_GLOBAL_UNDER_CONSTRUCTION = 0x05
>> * Key: empty
>> * Value: A single byte as a boolean. 0 for False, 1 for True. All
>> other values ore prohibited. Must be omitted for PSBTv0, may be omitted
>> in PSBTv2.
>>
>> PSBT_GLOBAL_UNDER_CONSTRUCTION is used to signal whether inputs and
>> outputs can be added to the PSBT. This flag may be set to True when
>> inputs and outputs are being updated, signed, and finalized. However
>> care must be taken when there are existing signatures. If this field is
>> omitted or set to False, no further inputs and outputs may be added to
>> the PSBT.
> I wonder if this can be flagged simply by omitting the (AFAICT
> redundant) PSBT_GLOBAL_INPUT_COUNT and PSBT_GLOBAL_OUTPUT_COUNT? What
> are the purposes of those fields?
The purpose of those fields is to know how many input and output maps
there are. Without PSBT_GLOBAL_UNSIGNED_TX, there is no way to determine
whether a map is an input map or an output map. So the counts are there
to allow that.
> For our uses, there would be no signatures at this stage; it's simply a
> subdivision of the Creator role. This role would be terminated by
> removing the under-construction marker. For this, it could be clear
> that such an under-construction PSBT SHOULD NOT be signed.
There are some protocols where signed inputs are added to transactions.
> Otherwise, if an explicit marker is required, I would omit the value and
> simply use its existence to as a flag. Having two "false" values is
> simply asking for trouble.
Seems reasonable.
Andrew
> Thanks!
> Rusty.
> PS. Perhaps we should change the name to PBT (Partial Bitcoin
> Transaction) now, since it's more than just signing...
Published at
2023-06-07 18:28:02Event JSON
{
"id": "fe56aa7cd857b5507c1b1c92fa683c2e04e3a80850d86750a4cfd7cd165c2f0b",
"pubkey": "4a273da3c9ab85c096f859e6ca066d2fdfe762406cadc2f4d58aa75468aca8d0",
"created_at": 1686162482,
"kind": 1,
"tags": [
[
"e",
"15ce2dd70a98c33c719234f6126eb675b4dd4388e14b061bb095532e4fa1ae30",
"",
"root"
],
[
"e",
"7a43f8e3fbc14a9cc516eb254b0bd212fdd3370271266bcc4f931454fae3ebd2",
"",
"reply"
],
[
"p",
"13bd8c1c5e3b3508a07c92598647160b11ab0deef4c452098e223e443c1ca425"
]
],
"content": "📅 Original date posted:2021-01-06\n📝 Original message:Hi Rusty,\n\nOn 1/6/21 6:26 PM, Rusty Russell wrote:\n\u003e Hi Andrew et al,\n\u003e\n\u003e Very excited to see this progress; thanks for doing all the\n\u003e work! Sorry for the delayed feedback, I didn't get to this before the\n\u003e break.\n\u003e\n\u003e\u003e Additionally, I would like to add a new global field:\n\u003e\u003e * PSBT_GLOBAL_UNDER_CONSTRUCTION = 0x05\n\u003e\u003e * Key: empty\n\u003e\u003e * Value: A single byte as a boolean. 0 for False, 1 for True. All\n\u003e\u003e other values ore prohibited. Must be omitted for PSBTv0, may be omitted\n\u003e\u003e in PSBTv2.\n\u003e\u003e\n\u003e\u003e PSBT_GLOBAL_UNDER_CONSTRUCTION is used to signal whether inputs and\n\u003e\u003e outputs can be added to the PSBT. This flag may be set to True when\n\u003e\u003e inputs and outputs are being updated, signed, and finalized. However\n\u003e\u003e care must be taken when there are existing signatures. If this field is\n\u003e\u003e omitted or set to False, no further inputs and outputs may be added to\n\u003e\u003e the PSBT.\n\u003e I wonder if this can be flagged simply by omitting the (AFAICT\n\u003e redundant) PSBT_GLOBAL_INPUT_COUNT and PSBT_GLOBAL_OUTPUT_COUNT? What\n\u003e are the purposes of those fields?\nThe purpose of those fields is to know how many input and output maps \nthere are. Without PSBT_GLOBAL_UNSIGNED_TX, there is no way to determine \nwhether a map is an input map or an output map. So the counts are there \nto allow that.\n\u003e For our uses, there would be no signatures at this stage; it's simply a\n\u003e subdivision of the Creator role. This role would be terminated by\n\u003e removing the under-construction marker. For this, it could be clear\n\u003e that such an under-construction PSBT SHOULD NOT be signed.\nThere are some protocols where signed inputs are added to transactions.\n\u003e Otherwise, if an explicit marker is required, I would omit the value and\n\u003e simply use its existence to as a flag. Having two \"false\" values is\n\u003e simply asking for trouble.\nSeems reasonable.\n\n\nAndrew\n\n\u003e Thanks!\n\u003e Rusty.\n\u003e PS. Perhaps we should change the name to PBT (Partial Bitcoin\n\u003e Transaction) now, since it's more than just signing...",
"sig": "5fe1ec6bb650d9f11af7580c3123e49f2dfdb9958973a9921e891863e5a20b9b2a3cc20e22143334b0b3f6c0dd26b1c01e0aba8f0d4ba18f34b2e2d38f28ecd6"
}