Concurrent PSBT spec - #16
yuval-block wants to merge 1 commit into
Conversation
|
A related spec that can be written: G-set based in band CISA full agg - there are specific safety considerations for CISA so this needs to be thought through carefully, but in principle all of the CISA related protocol messages can be accumulated in a G-set https://groups.google.com/g/bitcoindev/c/TF5mPfy58RQ/m/vAk1Mfg2AwAJ |
|
|
||
| This can provides additional integrity to a collaborative transaction construction protocol, since [`SIGHASH_ALL`](#divergence-and-sighash-flags) signatures must agree on the ordering. | ||
|
|
||
| In applications where this is desirable, the *Creator* should only set `PSBT_GLOBAL_SORT_DETERMINISTIC` to `0x01`, and leave `PSBT_GLOBAL_SORT_SEED` unset. Each replica will locally provide a value for `PSBT_GLOBAL_SORT_SEED` just in time, as a commitment to protocol transcript (e.g. the root hash of a Merkle set of protocol messages). |
There was a problem hiding this comment.
psbt-concurrent.md:132 requires PSBT_GLOBAL_SORT_SEED to be set whenever PSBT_GLOBAL_SORT_DETERMINISTIC is 0x01.
psbt-concurrent.md:146 recommends the Creator set PSBT_GLOBAL_SORT_DETERMINISTIC to 0x01 and leave PSBT_GLOBAL_SORT_SEED unset, so the spec's own recommended flow violates its MUST.
There was a problem hiding this comment.
good catch, i changed my mind about it later to relax, because in some settings setting the determinsitic seed only later can make sense (if it's a transcript hash and only set locally, for example)
This is a draft BIP, extending BIP 370 with more concurrency friendly semantics
TODO
bip-draftssubdir