Proof of Advanced Delegation #24100

issue SapphireSpire opened this issue on January 19, 2022
  1. SapphireSpire commented at 12:16 AM on January 19, 2022: none

    If we remove the consensus protocol (blockchain and mining) what do we get? We're left with what Satoshi Nakamoto had before he added the consensus protocol. No blockchain, no mining, just the transaction history with nothing to protect it from double spend attacks.

    Here I present what I call "proof of advanced delegation" (PAD). PAD eliminates double spends by spending them in advance. When an output is created, the transaction that spends it is created too and it's txid is embedded in the output before it gets published. The output of the last transaction is not yet spent so it remains unpublished.

    Beginning with an arbitrary transaction in the ledger, A, it's output is A1. The unpublished transaction that spends it is B and it's output is B1. To make a payment, the sender:

    1. Creates a new transaction C that splits B1 between two new outputs, C1 payment and C2 change.
    2. Generates the txid of C and embeds it in B1.
    3. Creates another transaction E that spends C2 and embeds it's txid in C2.
    4. Publishes transactions B (advanced delegation).
    5. Sends transaction C with sigs to the receiver in secret.

    The receiver then:

    1. Sees transaction B on the network which validates and binds it to transaction C.
    2. Creates two new transactions of his own, D and F. D spends C1 and F spends D1.
    3. Publishes C and D as a pair and saves F until he's ready to spend it.

    Since every published output is bound to the txid of the unpublished transaction that spends it, there is no opportunity to double spend them therefore no consensus mechanism is required.

  2. SapphireSpire added the label Feature on Jan 19, 2022
  3. MarcoFalke commented at 6:51 AM on January 19, 2022: member

    Usually the issue tracker is used to track technical issues related to the Bitcoin Core code base. Network-wide consensus and/or P2P changes first need to be discussed with the greater community, e.g. the bitcoin-dev mailing list. Also, they need a BIP to be implemented in Bitcoin Core and other software that connects to the bitcoin P2P network.

  4. MarcoFalke closed this on Jan 19, 2022

  5. DrahtBot locked this on Jan 19, 2023
Labels

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-05-02 12:14 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me