Andreas Park PRO
Professor of Finance at UofT
Instructors: Andreas Park & Zissis Poulos
Rotman – MBA
Cryptography
Definition
Takes a message/text of arbitrary length and generates a fixed length output or "digest"
Properties
Simple Application
What hashing functions are there
Demo time!
https://andersbrownworth.com/blockchain/
Why are hashing functions used in blockchain?
Encryption
Alice wants to send Bob money without Charles seeing it
SYMMETRIC: Alice and Bob use the same key to
encrypt and decrypt a message
Public key = Private key
ASYMMETRIC: Bob has a public and a private key
Public
Private
Digital Signatures
Alice's private
Alice wants to send Bob message and provide proof that it's her
Alice's public
Uses
Types
Quantum-resistant signatures???
Summary
The main cryptographic primitives
But it doesn't end here...
zk-SNARKS
Proof-of-Stake
Proof of X
Proof of Stake (PoS) - What is the goal?
Validation and leader election
random
32 ETH
Validation and leader election
random
random
random
Committee 1
Committee 2
random
Block formation
Committee 1
Committee 2
...
Committee 32
attest
attest
Slot 1
Slot 2
Slot 32
...
12 seconds
Finality!
...
checkpoint
...
vote
vote
When final?
2/3 of stake has voted
Security
What do we need from validators?
if "lazy"
misses out on rewards
if dishonest
Security
What is dishonest?
TLDR
Performing a 51% attack still possible but "almost equivalent to having your entire mining farm burn down while you are doing it" -Zamfir
Other malicious behaviour
What about forks??
Still possible
Protocol Rule
"The canonical chain is the one with greatest weight of attestations in its history"
PoS vs PoW
https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/
By Andreas Park
This slide deck covers cryptography, public-private keys, having, and proof of stake as taught in 2022