Why are programming languages like Cairo from @StarkWareLtd important for modular blockchains?
A π§΅π
Solidity is a great language, and one that was custom-built for smart contract development, but it's tailor-made for the EVM.
This means it's great for a lot of things:
Basic state machine functions
Gas management
Standardization of contracts
Composition (meaning contracts can talk to each other easily)
However, by being purpose built for the EVM, there are some quirks that can't be worked around.
Solidity can compile better into SNARKs than STARKs. If we want to truly unlock the power that STARKs provide, we need to build on top of this base layer.
Welcome to Cairo.
ZK rollups build on top of the state layer with a new term called provable computing. While you could transpile Solidity to Cairo, it's better to use a purpose-built language that skips Solidity's quirks.
STARKs are much more scalable than the EVM, and need a language that can scale alongside it. Along with scaling more efficiently, it allows access to STARK-exclusive primitives.
This means that developers, previously constrained by gas and Solidity limitations, can build ANYTHING using Cairo.
ZK Rollups are a key piece of the endgame, and languages like Cairo are vital in increasing scalability.
β’ β’ β’
Missing some Tweet in this thread? You can try to
force a refresh
What is data availability? Why is it important for blockchains? A π§΅ breaking it down π
Data availability (DA), much like ZK proofs, is an actively researched area. A lot of problems still need to be solved before implementation, and there are several potential solutions. I'll break down one solution: high dimension erasure code and Kate commitments.
It all stems from one question: how can nodes in a network verify that all of the data from a new block is available, and nothing is hidden or censored?
I'm not worried about L2s filtering transactions at all because of one important feature L2s have vs sidechains: exit functionality. Regardless of censorship, users can exit trustlessly back to L1.
Let's talk some more EVM basics. ERC standards⦠what are they, and why are they important? What's the difference between an ERC-20 and ERC-721?
π§΅π
One of the most important things is interoperability. In order to have a neutral base settlement layer, things must be able to work together easily. There are a lot of ERCs, but the most well-known ones are ERC-20 and ERC-721.
ERCs are application-level standards and conventions implemented into smart contracts.
Let's start 2022 off with the basics and dive into the Ethereum Virtual Machine (EVM), the current smart contract standard, and how it works. We'll also discuss how L2s open the door to a supercharged EVM!
π§΅π
The ETH blockchain exists to run a state machine, the EVM. Let's break it down further, and discuss what a state machine is!
A state machine is any machine that takes inputs and provides outputs based on those inputs. Here's a diagram of a simple state machine: