Consensus-layer:
Hashes for Merkle trees
Signatures for transactions
Signatures for blocks in PoS
Possibly, polynomial commitments as a replacement for Merkle trees
ZK-SNARKs/STARKs to enable more efficient client-side verification
Private information retrieval for privacy-preserving light clients
Application-layer
ZK-SNARKs for scaling (eg. ZK rollup)
ZK-SNARKs for privacy (eg. Tornado Cash)
Other forms of cryptography for privacy (confidential transactions, bulletproofs, ring signatures…)
Group homomorphisms for stealth addresses and deterministic wallets
Multi-party computation for privacy (in some situations ZK-SNARKs are not sufficient, particularly when you want to maintain state that no one can decrypt)
In the future, obfuscation: How obfuscation can help Ethereum
3 Likes