Skip to content

Latest commit

 

History

History
15 lines (11 loc) · 2.09 KB

File metadata and controls

15 lines (11 loc) · 2.09 KB

Efficient operations on secp256k1

The class Secp256k1 implements methods to efficiently verify scalar point multiplications on the curve secp256k1.

All the methods implemented by Secp256k1 are class methods. The following public methods are implemented:

Some of the scripts above have restrictions on the point $Q, P$ that can be supplied. We refer to the documentation, the blogpost OP_CHECKSIG beyond signature validation: efficient operations on the Bitcoin curve, and the issue #52 for a detailed explanation of the algorithm, and of the restrictions.

The unlocking scripts for the methods contained in the class Secp256k1 can be generated using the unlocking keys found in src/zkscript/script_types/unlocking_keys/secp256k1.py. There are three unlocking keys, one for each script: