richardkiss/pycoin — pull request #24 by greenaddress (2014-04-15 13:38:11+00:00)
Title: Use low 's' values for signatures.

As per https://github.com/bitcoin/bips/blob/master/bip-0062.mediawiki#low-s-values-in-signatures, using values of `s` bounded by `curve.order()/2` can help preventing transaction malleability, by making sure no one other than sender can make different signatures for the same transaction. Combined with additional bitcoind validation to be implemented for transactions with `nVersion=3` it prevents issues with transactions modified by third parties otherwise not having control over them.

This change enables this "low S values" behaviour by default in pycoin, without any additional configuration. I think it is important step for compatibility with `nVersion=3` and is a good idea to always do it, because there are no counterindications for it AFAICS.