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

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions