I gave two educational talks at the second iteration of Bitcoin Edge Dev++ at Keio university in Tokyo, immediately preceeding the Scaling Bitcoin Conference.

I covered the following topics:

Digital signatures - finite fields, elliptic curves, Schnorr signatures and ECDSA

Erratum:

  • The slide on Cyclic Groups said “The integers modulo p for any number p is a cyclic group”. It should say “The integers modulo p for any prime p is a cyclic group”. (If p is composite, ie p = ab, then the order of a in G is b, so G is not cyclic).
  • during the talk, I was asked “how does the verifier know K in the non-interactive schnorr identification protocol?” I said that K can be provided by the prover. That’s wrong. In fact, the verifier calculates K himself and then checks that e is the hash of K. The verification step is checking that e does in fact commit to K.

The slides above are corrected.

Bitcoin script