## cryptographic primitives
### bls signatures
* used in the beacon chain to verify large numbers of signtures. * invented by dan boneh, ben lynn, and hovav shacham. * in optimistic rollups such as arbitrum and optimism, each tx must be accompanied by its own signature. these signatures are stored on l1 calldata, a read-only format that's commited as a part of a transaction rather than to (expensive) contract storage. * storing txs and signatures as calldata is the cheapst method available for rollups to keep data on l1. * the key property of bls signatures is that multiple signatures can be combined into one - so only one aggregate signature needs to be verified and stored on-chain (meaning less gas fees).
---- ### shamir's secret sharing
* secret sharing algorithm to distribute private information among a group, and the secret cannot be revealed unless a quorum of the groups acts together to pool their knowledge. * the secret is matematically divided into parts. if an attacker steals some shares, it's impossible for the attacker to reconstrcut the secret unless they have stolen a quorum number of shares. * uses cases: password managers, encrypted emails, and crypto wallets.
--- ### cool resources
* **[number theory course by stanford](https://crypto.stanford.edu/pbc/notes/numbertheory/)** * **[pairing-friendly elliptic curves of prime order](https://eprint.iacr.org/2005/133.pdf)** * **[intro to differential power analysis](https://link.springer.com/content/pdf/10.1007/s13389-011-0006-y.pdf)** * **[the 12 commandments of synchronization](https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.227.3871&rep=rep1&type=pdf)** * **[ring confidential transactions](https://eprint.iacr.org/2015/1098.pdf)** * **[galois fields, part one](https://www.youtube.com/watch?v=yBVqk4YM2VY)** * **[bls multi-signatures with pub-key aggregation](https://crypto.stanford.edu/~dabo/pubs/papers/BLSmultisig.html)**