• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
      • Apt
      • Zfc
      • Acre
      • Milawa
      • Smtlink
      • Abnf
      • Vwsim
      • Isar
      • Wp-gen
      • Dimacs-reader
      • Pfcs
      • Legacy-defrstobj
      • Proof-checker-array
      • Soft
      • C
      • Farray
      • Rp-rewriter
      • Instant-runoff-voting
      • Imp-language
      • Sidekick
      • Leftist-trees
      • Java
      • Taspi
      • Bitcoin
      • Riscv
      • Des
      • Ethereum
      • X86isa
      • Sha-2
      • Yul
      • Zcash
      • Proof-checker-itp13
      • Regex
      • ACL2-programming-language
      • Json
      • Jfkr
      • Equational
      • Cryptography
      • Poseidon
      • Where-do-i-place-my-book
      • Axe
      • Bigmems
      • Builtins
      • Execloader
      • Aleo
        • Aleobft
          • Aleobft-static
          • Aleobft-stake2
          • Aleobft-dynamic
            • Correctness
            • Definition
              • Initialization
              • Transitions
              • States
                • Committees
                • System-states
                • Certificates
                  • Certificate-set-unequivocalp
                  • Cert-with-author+round
                  • Certificate-sets-unequivocalp
                  • Certificate
                    • Certificatep
                    • Certificate-fix
                    • Make-certificate
                    • Certificate-equiv
                    • Certificate->transactions
                    • Change-certificate
                    • Certificate->round
                    • Certificate->previous
                    • Certificate->endorsers
                    • Certificate->author
                  • Certs-with-author
                  • Certs-with-authors+round
                  • Certs-with-round
                  • Unequivocal-certs-with-authors+round
                  • Unequivocal-cert-with-author+round
                  • Certificate-option
                  • Cert-set->author-set
                  • Cert-set->round-set
                  • Certificates-with-signer
                  • Certificates-ordered-even-p
                  • Certs-with-authors
                  • Certificate->signers
                  • Certificate-set
                  • Certificate-list
                • Messages
                • Validator-states
                • Transactions
                • Blocks
                • Addresses
              • Events
          • Aleobft-stake
          • Aleobft-proposals
          • Library-extensions
        • Leo
      • Solidity
      • Paco
      • Concurrent-programs
      • Bls12-377-curves
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
    • Math
    • Testing-utilities
  • Certificates

Certificate

Fixtype of certificates.

This is a product type introduced by fty::defprod.

Fields
author — address
round — posp
transactions — transaction-list
previous — address-set
endorsers — address-set

We model a certificate as consisting of:

  1. The address of the validator who authored the certificate.
  2. The round number of the certificate.
  3. The transactions that the validator is proposing for inclusion in the blockchain.
  4. The addresses that, together with the previous round number, identify the certificates from the previous round that this certificate references; these define the edges of the DAG. It is a system invariant, proved elsewhere, that certificates in DAGs are uniquely identified by their author and round.
  5. The addresses of the validators that endorsed this certificate, by signing it in addition to the author.

We do not model cryptographic signatures explicitly. The presence of the author and endorser addresses in a certificate models the fact that the author and endorsers signed the certificate (more precisely, the proposal that the certificate extends; but as explained in certificates, we do not model proposals explicitly).

Subtopics

Certificatep
Recognizer for certificate structures.
Certificate-fix
Fixing function for certificate structures.
Make-certificate
Basic constructor macro for certificate structures.
Certificate-equiv
Basic equivalence relation for certificate structures.
Certificate->transactions
Get the transactions field from a certificate.
Change-certificate
Modifying constructor for certificate structures.
Certificate->round
Get the round field from a certificate.
Certificate->previous
Get the previous field from a certificate.
Certificate->endorsers
Get the endorsers field from a certificate.
Certificate->author
Get the author field from a certificate.