Implement excessive sighashing protection policy with loose sighash estimation #8756

pull jl2012 wants to merge 3 commits into bitcoin:master from jl2012:sighashpolicylite changing 15 files +486 −16
  1. jl2012 commented at 5:20 am on September 19, 2016: contributor

    This is an alternative to #8755 and #8654

    This implements a static estimation of sighash size for a transaction. A transaction with more than 90bytes of sighash per weight is non-standard. This is equivalent to 36MB for an 100kB non-segwit transaction, or 360MB for a block in the worst case. All existing standard transactions with legitimate use of CHECK(MULTI)SIG should remain standard with this limit.

    The estimation of sighash is based on the assumption that SignatureHash is performed once only for each signature within a CHECKMULTISIG. This PR does not depend on any other policy or softforks like those in #8755. Despite the counting is more conservative, legitimate standard transactions for #8755 should also be standard in this implementation.

    Todo: unit tests

  2. jl2012 force-pushed on Sep 19, 2016
  3. jl2012 force-pushed on Sep 19, 2016
  4. laanwj added the label P2P on Sep 21, 2016
  5. jl2012 commented at 6:04 pm on September 21, 2016: contributor
    A draft BIP is made for the detailed rationale of this PR: https://github.com/jl2012/bips/blob/sighash/bip-sighash.mediawiki
  6. jl2012 force-pushed on Sep 30, 2016
  7. jl2012 renamed this:
    Implement excessive sighashing protection policy with conservative counting
    Implement excessive sighashing protection policy with loose sighash estimation
    on Sep 30, 2016
  8. jl2012 commented at 10:36 am on September 30, 2016: contributor
    Unit tests are completed and related BIP updated
  9. Add sighash limitation policy
    This implements a static estimation of sighash size for a transaction. A transaction with more than 90bytes of sighash per weight is non-standard. This is equivalent to 36MB for an 100kB non-segwit transaction, or 360MB for a block in the worst case. All transactions below 100kB with legitimate use of CHECK(MULTI)SIG should remain standard with this limit.
    200a37062a
  10. Implement sighash cache for signature within CHECKMULTISIG
    This makes sure that SignatureHash is performed once only for each signature within a CHECKMULTISIG. Alternative to #8654.
    c1eea2ccce
  11. jl2012 force-pushed on Oct 27, 2016
  12. Test sighash limit policy e20b6c6b33
  13. jl2012 force-pushed on Oct 28, 2016
  14. jl2012 commented at 3:18 am on December 23, 2016: contributor
    closed in favor of #8755
  15. jl2012 closed this on Dec 23, 2016

  16. fanquake removed this from the "In progress" column in a project

  17. MarcoFalke locked this on Sep 8, 2021


jl2012

Labels
P2P


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: 2024-11-17 15:12 UTC

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