This folder contains my solutions to the homework assigned in the bootcamp and notes.
Last sync with the repo: c2ac5c202e0cb5be7d210b7d29fcb026673f9f8f.
This folder contains my solutions to the homework assigned in the bootcamp and notes.
Last sync with the repo: c2ac5c202e0cb5be7d210b7d29fcb026673f9f8f.
The introduction There were several speakers from Encode, zkSync, and Extropy. The interesting parts for me were: A structured overview of the problems that crypto and blockchain solve: inflation availability of money crises centralization etc. Detailed insights into the history of consensus mechanisms and the development of the Merge. We also quickly covered cryptographic basics such as the Diffie-Hellman key exchange protocol and Merkle trees.
Why scalability Laurence from Entropy made some key points about Layer 1 solutions: History of the classic scalability problem. This is the main problem that various L1 and L2 blockchains are trying to solve: having scalability, decentralization and security at the same time. TPS measures and marketing. Context is important when you see advertised parameters like TPS, because they vary widely in different contexts and may not be achievable in reality....
Introduction to L2 I’ve been assigned to group number 5, which has ten members in total! At the start of the lesson, we split up into groups (but didn’t do anything specific). More about data availability and the difference between ZKP and Optimistic rollups. As was mentioned on Day 2, ZKP rollups work on Validity Proofs, while Optimistic rollups work on Fault Proofs. zkEVM is a VM that emulates the usual EVM but in zero-knowledge math....
Math and Cryptography Today, we continued the previous talk about the underlying math, perhaps the most challenging part of ZKP. Two good resources: https://www.rareskills.io/post/set-theory https://www.khanacademy.org/computing/computer-science/cryptography/modarithmetic/a/what-is-modular-arithmetic Also, check out one of my previous posts: https://hey.xyz/posts/0x8218-0x0280-DA-b047fd5f Most of the topics about groups and sets discussed are described in the articles above, and I don’t see the point in rewriting all the concepts. Interesting quote from Vitalik Buterin about polynomials: “There are many things that are fascinating about polynomials....
Rust In the first part of the lesson, we’ve covered some common topics like Cargo, enums, match, Option, etc., in Rust synaxis, which you can find in any popular guide. Rust is a very popular language in the ZKP space, because of its core features: Memory safety without garbage collection Concurrency without data races Abstraction without overhead Check these two books to learn Rust: https://google.github.io/comprehensive-rust/ https://doc.rust-lang.org/book Many projects like StarkNet and Aztec use Rust-like languages to program smart contracts (circuits)....
Agnostic Layer 2 Transaction Lifecycle More Rust things like traits, generics, vectors, iterators, and shadowing. On the previous day, we concentrated on OP Stack, but it is only fair to mention ZK Stack by zkSync and Madara by StarkNet: https://blog.matter-labs.io/introducing-the-zk-stack-c24240c2532a https://starkware.co/resource/harnessing-the-beast-madara-and-the-revolution-of-starknet-appchains/ Generally speaking, L2s follow a similar design. As you can see, Users send their transactions to the Sequencer, which executes these, batch, compresses, and submits to L1. The final component is an L1 smart contract that verifies the outputs of the Sequencer....
Presentation by Patrick McCorry Some structured info about fundamental fund management solutions in bridges, exchanges, etc. Several of the insights: how many funds were stolen from centralized systems, what were the reasons, and the history of the development of the trustless bridge solutions and rollups. The incredible list of Bad Things: https://docs.google.com/spreadsheets/d/1ZEEAmXjpN8kL9BvITg9GKu-dbeUra6c14YLpLkCp5Zo And I can’t skip this fantastic Plasma map! What was interesting from the speech was how tight rollups and bridges are actually bound....
SNARK overview Succinct Non-interactive Argument of Knowledge I think all the previous courses and guides developed a good sense of the term in my mind :) Now I can tell you what the abbreviation stands for without looking at Wikipedia! Typical SNARK system is a triple of S(C), P(pp, x, w), and V(vp, x, π): S stands for Setup, it provides public parameters pp and vp P produces a short proof π for some circuit C based on the public parameters and some witnesses V is a function for verification of the proof based on public parameters To be succinct, we require SNARK to be at least $len(π) = Oλ (log (|C|))$ in terms of the length of a proof and $time(V ) = Oλ (|x|, log (|C|))$ in terms of the verification time....
What’s next in L2, part 2: L3s/Hyperchains ZoKrates Finally! ZK practice! Haha 🏴☠️ ZoKrates is a toolbox for on-chain zkSNARKs. You can install it in Remix and try to make some circuits, too. It supports Groth16, GM17, and Marlin. Check out this guide. It is basically what we did in the lesson. How L3 can be useful The naïve idea is to make layers in recursion to scale the L1 blockchain in recursion....
Privacy in Layer 2 and presentation by Josh Crites from Aztec! One of the largest remaining challenges in the Ethereum ecosystem is privacy … In practice, using the entire suite of Ethereum applications involves making a significant portion of your life public for anyone to see and analyze. - Vitalik Buterin It is important to differentiate the terms of Privacy, Confidentiality, and Anonymity. There are different approaches to privacy: Obfuscation Hardware assistance Fully Homomorphic Encryption Commitment schemes and nullifiers (like zCash and Tornado Cash) Some of the projects that are developing private solutions in Web3:...