zkSync and Starknet are both layer 2 scaling solutions for Ethereum that use zk-rollups off-chain Package transactions and verify them on-chain using zero-knowledge proofs. However, they have some key differences in design, features, and ecosystem.
zkSync uses zk-SNARKs as a zero-knowledge proof system, while Starknet uses zk-STARKs. This means zkSync’s zero-knowledge proofs are smaller and consume less gas, while Starknet offers greater transparency and security.
If you're curious about the technical details, check out "What's the Difference Between STARKs and SNARKs" which contains a more detailed explanation.
zkSync is EVM compatible and uses Solidity as the programming language, while Starknet uses its own developed Cairo as the programming language and does not support EVM. EVM compatibility makes it easy for developers to port their existing smart contracts from Ethereum to Layer 2 networks, meaning zkSync has a lower barrier to entry. Cairo, on the other hand, is STARK's native specialized language for proving general-purpose computation, which gives Starknet more flexibility and expressiveness.