Skip to content
This repository was archived by the owner on Oct 21, 2025. It is now read-only.
This repository was archived by the owner on Oct 21, 2025. It is now read-only.

BFT state snapshots to PoW chain #103

@ristik

Description

@ristik

Post state snapshots from BFT to PoW, specifically the commit_state_id from a Quorum Certificate.

At least 2/3+ validators must sign a Bitcoin transaction format transaction.

Consider scripting based implementation.

Flow: One machine (based on whatever time/signal) obtains a quorum certificate. Creates a Partially Signed Bitcoin Transaction. Encode the hash as OP_RETURN output, add epoch and round number. Delivers to all other nodes (together with QC?)
Upon receiving a PSBT, other nodes validate the input (QC, hash) and add their signatures, return to initiator.
Upon receiving m signatures, initiator assembles a tx. Delivers to PoW nodes.

PoW nodes have a special coin. TBD what 'special' means.
Coin is locked by multisig script. Only current epoch's BFT nodes can transact.

Before the end of BFT epoch, last created tx is spendable by a quorum of next epoch's validators.

Post at least once per BFT epoch, no more often than once per PoW block; specific timing is a configurable parameter.

If the initial initiator have failed to broadcast the PSBT then after some delay some other node (leader) will be the new initiator. No particular need to check if it was successfully accepted by PoW chain.

TBD: simple fee handling / override.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions