Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New verification model #913

Merged
merged 13 commits into from
Jun 1, 2019
Merged

New verification model #913

merged 13 commits into from
Jun 1, 2019

Commits on Jun 1, 2019

  1. feat: new transaction verification model

    Based on feedbacks gathered earlier, we are revising our verification
    model with the following changes:
    
    * When validating a transaction, CKB will grab all lock scripts from
      all inputs, and group them based on lock script hash. The script in
      each group will only be run once. The lock script itself will have
      to do the validation task for all inputs in the same group
    * CKB will also grab all type scripts from inputs and outputs(notice
      different from previous version, the type scripts in inputs are
      included here as well), and group them based on type script hash as
      well. Each type script in each group will also be run once. The type
      script itself needs to handle the validation task within the group
    * Syscalls are also revised to allow fetching all the
      inputs/outputs/witnesses within a single group.
    
    The default secp256k1_blake160_sighash_all lock script is compiled
    from the following source:
    
    https://github.com/nervosnetwork/ckb-system-scripts/blob/e00ba451dccb7a516454ea9606de3a21c8f9a80c/c/secp256k1_blake160_sighash_all.c
    
    The exact gcc version used in the compilation can be located in the
    following docker image:
    
    xxuejie/riscv-gnu-toolchain-rv64imac:20190529
    xxuejie committed Jun 1, 2019
    Configuration menu
    Copy the full SHA
    19b2859 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5fad3cf View commit details
    Browse the repository at this point in the history
  3. fix: rpc README

    xxuejie committed Jun 1, 2019
    Configuration menu
    Copy the full SHA
    5556ef5 View commit details
    Browse the repository at this point in the history
  4. fix: integration tests

    xxuejie committed Jun 1, 2019
    Configuration menu
    Copy the full SHA
    fd11082 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    b0142bd View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    7da9918 View commit details
    Browse the repository at this point in the history
  7. fix: witness loading logic

    xxuejie committed Jun 1, 2019
    Configuration menu
    Copy the full SHA
    ddbde16 View commit details
    Browse the repository at this point in the history
  8. feat: use output data field to store block number in cellbase tx

    The default secp256k1_blake160_sighash_all lock script is compiled
    from the following source:
    
    https://github.com/nervosnetwork/ckb-system-scripts/blob/680f4287ab3211025761aaf5cae3727fb4ea7241/c/secp256k1_blake160_sighash_all.c
    
    The exact gcc version used in the compilation can be located in the
    following docker image:
    
    xxuejie/riscv-gnu-toolchain-rv64imac:20190529
    xxuejie committed Jun 1, 2019
    Configuration menu
    Copy the full SHA
    70904df View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    3883a7e View commit details
    Browse the repository at this point in the history
  10. fix: rpc tests

    xxuejie committed Jun 1, 2019
    Configuration menu
    Copy the full SHA
    d0141b5 View commit details
    Browse the repository at this point in the history
  11. Revert "feat: use output data field to store block number in cellbase…

    … tx"
    
    This reverts commit 43492e9.
    xxuejie committed Jun 1, 2019
    Configuration menu
    Copy the full SHA
    7ecfefa View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    2ed8f73 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    8e41474 View commit details
    Browse the repository at this point in the history