zk-SPARK StarkNet Bootcamp
Fields
- Define a field just for two operations
- A field is a set of integers with two operations
- Division is tricky because if we divide two integers we get may get a float
zk Ecosystem
- stark system came out in 1976
- ZKSNARKS have small proofs but require an initial setup and are not quantum resistant
- STARKS are quantum resistant and don't require a trusted setup
Rollups
- transaction execution is done outside layer 1
- data or proof of transaction is on layer 1 (incl. state transitions)
- Verifier is a contract on layer 1 and can secure the latest state
- zero knowledge proofs can be done recursively
- a proof to prove 100 proofs are valid
- layer 3 and layer 4 -> can create specific applications on each layer
Starknet Specifics
- Account abstraction: your account is a contract
- Cairo language: prove the correctness of the computation
- Hints: pass the value that we want to prove into the programme as a hint (using python)
range_check_ptr: to make sure things haven’t overflowed
- No loops in cairo, use recursion
- Validium mode: data is stored off chain
- Volition mode: hybrid mode, data is stored off chain and on chain