Transaction-RGB transition & DBC coordination workflow for wallets & exchanges #71
Labels
[CSV]
Client-side validation-related specs
[DBC]
Deterministic bitcoin commitments
informational
Generic info materials
[RGB]
Specs related to client-validated state management system
*security*
Security-related issues
Milestone
DBC tweak individual keys (pay-to-contract)/signatures (for sign-to-contract), taking
container
and message, and producingcommitment
(tweaked container version) and modified container, where the tweak information is added. Next, container is split intoproof
, which is crucial for client-side-validation and must be carefully kept, andsupplement
, which may be reconstructed from other data (transaction graph etc). Tweaking factor is a third part of container.Further development: CommitEmbed scheme API must take container and message, and produce commitment_factor (tweaking factor) and embedded_commitment. Or, the procedure must be split into "commit" and "embed".
LNPBP4 allows to assemble multiple messages under many protocols and produce a single embeddable commitment, which acts as a message for (1). Some source data must be kept as another proof.
RGB takes both proofs and stores them as a parts of anchor. It also stores tweaking factor separately as a second structure next to anchor (and a part of stash, since it's loss may result in data loss, not necessary RGB, may be bitcoins, so it's still crucial part of CSVD)
When a wallet or an exchange need to to an RGB transfer, it:
this is mostly done by LNP/BP Core library using stash API
This fits into PSBT roles (updater, signer, extractor) and works well with multi-sign workflows, hardware and over-the-air signing devices.
PSBT Keys:
contract_id:transition_id
for all transitions involved with inputsschema_id+owned_right_type
(key) to array of state dataAdditionally to PSBT, some sort of "partial RGB state transitions" (PRGBT) is required to construct multi-party state transition related to multiple transactions.
For invoicing, we need different form of PSBT, which will not contain any of the referenced information (only asset info, amount and scriptPubkey structure).
Consignment must contain tweaking information for outputs associated with endpoints.
The text was updated successfully, but these errors were encountered: