What brought you to cryptocurrency and why did you found Zcash and StarkWare?
I was a professor in computer science and was engaged in theoretical research in this area.
In 2008, I started doing research in the field of zero-knowledge proofs (ZKP). In May 2013, ten years ago, I attended a Bitcoin conference in San Jose and realized that the blockchain field was an ideal application for my research. I'm pretty sure I was the first person to realize that general purpose proof of computing and blockchain could go very well together. Ten years ago, Ethereum did not yet exist, and when I first met Vitalik, he was not yet the founder of Ethereum, but a content writer for Bitcoin Magazine. We discussed many issues.
One of my early research papers was “Zerocash: Decentralized Anonymous Bitcoin-Based Payments,” which looked at how to use zero-knowledge proofs to secure BTC payments. This became the basis of the Zcash project, the development of which we worked on. In 2018, we proposed new technological improvements called STARK that help scale Ethereum and other common blockchains. In 2018, we founded StarkWare, founded by myself, Uri Kolodny, Alessandro Chiesa and Michael Riabzev. Today, our proof of effectiveness is considered the best way to scale Ethereum.
You communicated with Vitalik in the early stages, and we remember that he began investing and supporting StarkWare at an early stage b>
Yes, Vitalik is one of the early investors in StarkWare. This is one of the few investments he has made and we are proud of it.
I remember that Vitalik became the main investor in 2018, sometime in the fall. We attended one meeting that took place in Shenzhen (China). We walked around discussing things like StarkWare, his investments and more. So all the details of this decision were discussed and made in China.
You started looking at using ZK proofs as a solution to the scalability problem long before Ethereum came along. How did you foresee the scalability problem in blockchain?
Many instant messengers can reach speeds of up to a million operations per second. Today, the blockchain needs the ability to conduct transactions with NFTs, games, voting and governance. But existing technologies such as Bitcoin and Ethereum can only process 10-20 transactions per second. This requires new technologies that will allow blockchain to expand its scale or application without compromising security. This is exactly what Starknet does.
Arbitrum founder, Professor Ed Felten, also began working on the scalability problem around 2014, but he decidedly chose interactive proof of deception , which were subsequently widely recognized. Why did you decide to use ZK as a solution from the very beginning?
It is a more advanced and powerful technology. Basically, everyone on the Ethereum team knows that Optimistic Rollups don't work. Neither Arbitrum nor Optimistic use evidence of fraud.
We have never provided a status update without STARK proof. Even if our system could provide 10 times the performance of Ethereum, we would be using less than 1% of Ethereum resources. Optimistic Rollups are a good idea, but they don't work, and it's because they don't work that they aren't used.
Although Vitalik invested in StarkWare, he then supported Optimism. There seems to be a growing consensus that the scalability issue should be solved first with Optimistic and then move on to ZK, because technically the implementation of ZKP or ZK Rollup is much more complex than Optimistic. How do you view this situation?
I appreciate the Optimism team, they are outstanding community members, but their technology doesn't work. It's like we attach feathers to people and try to make them flap their wings to build airplanes. This sounds logical, which is why Leonardo da Vinci painted people with wings. But this does not work from a mathematical and economic point of view. I really appreciate and admire their intelligence, but that doesn't change the fact that this is a technology that can't function well in the long term.
But for the average user, Optimism and Arbitrum are practical solutions at the moment, right? p>
Eli: Absolutely, but you need to understand that when the security of your assets is entrusted to one operator, then it works very effectively. You can connect your assets to any operator you truly trust. It could be a centralized exchange or something like that, and you get incredible TPS throughput, but you're entrusting your funds to this operator controlled by one person. If it fails, shuts down, or something bad happens, all your funds are gone.
Arbitrum, Optimism have the same security assumptions as Binance. Binance is a great product for users, perhaps even better than Arbitrum, but it is important for users not to be scammed. If someone says I won't use Binance because Binance is centrally controlled and I'm going to decentralize by staking assets on Arbitrum or Optimism, but actually it's the same thing.
So when users use Optimism or Arbitrum, they are actually using a centralized trading platform?
Eli: They use a centralized system, and what's worse is that it's based on code that wasn't designed from the ground up to work with a single operator. So I don't think it gives you the same legal protection as Binance.
Speaking of ZKP, you created zk-STARK in addition to the well-known zk-SNARK Why do you want to set two different technical standards for ZK technology? And why did StarkWare ultimately choose zk-STARK?
SNARKs technology may have been created before, but I think this technology is inferior in terms of efficiency and safety. It's like a technology that came first, just like the steam engine was not as efficient as the gasoline engine but came first, I think it's a bit like our situation.
As for why zk-STARK was chosen, it's a choice that doesn't require much thought. It has the most secure and future-proof core technology based on field-tested mathematics and cryptography. It is worth noting that this is post-quantum security, which cannot be achieved by other systems. His methods of proof are the fastest and most effective.
Comparison table of technical details of zk-STARK and zk-SNARK
Many ZK projects Rollup and zkEVM currently use zk-SNARK What do you think about the future of zk-SNARK?
I think the use will be phased out. It can be reserved for personal use transactions where users may not care about the effectiveness of the verification in some cases. All projects in the Polygon system use the STARKs we invented, from Hermez, Miden to Polygon Zero and so on. Some projects are currently using SNARK temporarily, but they will eventually move to STARK. Thus, the largest number of blockchain verification projects currently use STARK.
About Starknet, Cairo and zkEVM
Many people find it difficult to understand that Starknet is not compatible with Ethereum EVM, and developers you need to use Cairo, a new language for developing contracts. This appears to cause Starknet to lose many of the benefits of EVM L1 and L2 compatibility, i.e. minimizing development costs to quickly launch an ecosystem in a short period of time. More importantly, the Starknet ecosystem already has its own solution for this.
Why did StarkWare create two different projects, StarkEx and Starknet? Why can't they be combined?
StarkEx and Starknet serve two different purposes. When you're talking about high-throughput transactions of a certain nature, such as minting or NFT trading, you can get better performance and throughput from StarkEx, a system specifically built for this. And we are very proud that we have tested all the technology in practice.
Starknet is a more complex project created first, it serves a different purpose by allowing you to do general purpose computing like Ethereum. It is a compromise between versatility and efficiency.
So it is very important for the StarkWare team to achieve high transaction TPS in specific application scenarios?
Yes, it is very important for us to achieve this goal. Many teams “start their own projects”, then tweet pretty numbers and hope people don’t notice that it’s a broken system. But we are proud of our high TPS system, which has been working for many years. It's all about increasing throughput and reducing transaction costs.
I want to say that so far our system has processed over 450 million transactions, almost $1 trillion, and over 100 million NFTs have been issued. No other L2 can do this. Our daily TPS is 50% higher than Ethereum and our weekly TPS is 30% higher than Ethereum. No other system has reached this level and we have never used more than 1% Ethereum Gas even though our TPS increased by 30%.
StarkEx is a very specific use case for StarkWare, but as a technology project, it has a very clear positioning of its business model from the very beginning .
I often like to say: “Look at the stars, but stay on the ground.” We are very good at math, engineering and technology and we can easily get excited about a new cool project. But we put aside even a cool project that cannot satisfy the urgent needs of users. Instead, we are very focused and work hard to provide users and customers with what they really need. As a scientist, I really wish I could do things like Elliptic Curve Fast Fourier Transform (ECFFT), and all sorts of complex techniques that we know can improve performance by a factor of 10 or even 100. p>
StarkWare Team Members
About the Cairo language. Being Ethereum L2, Starknet is not compatible with the Ethereum EVM and developers must use the Cairo language to build applications. This appears to cause Starknet to lose many of the benefits of an “EVM compliant ecosystem.” What's the advantage of having your own language?
Yes, I want to say something about Cairo. Firstly, it is an advanced programming language for next-generation smart contracts. It supports some new features right from the start, such as smart wallets or account abstractions, which are built into the Cairo language. It is a programming language inspired by Rust, and many developers who try and use Solidity, especially those familiar with Rust, will say that they prefer programming in Cairo over Solidity. So it's a very, very good programming language in its own right.
The second thing I would say is that the reasons for using a custom language to create STARK proofs or proofs of trust in general are very similar to why you would want to write smart contracts in Solidity. You should use Solidity not because it is better for developers than Python, Rust or C++. When you move to a new blockchain framework, you have to use a different programming language. I'll give another example. If you want to write really good graphics to take advantage of the GPU, you should write in CUDA because it is a language that makes the most of the GPU's performance.
The same is true for STARK proofs. With a different virtual machine, there is a different set of restrictions. If you want to achieve productivity, such as putting a million NFTs into a block, you need to use programming languages more efficiently. With STARK we can mint 10 million NFTs in a single proof on Immutable X, but I can't imagine anything based on EVM or any zkEVM close to that. I can challenge all the zkEVMs in the world, they won't do it. That's why you need a different computing model and a different programming language.
However, many ecosystem projects that have adopted the Rust language in Polkadot have shared the challenge of operating costs to hire or train an engineer capable of developing contracts in the Rust language, very expensive. On the other hand, if a team develops a project on Ethereum or EVM-compatible L1, it is very cheap. How do you feel about this situation? Is this a problem for the Starknet ecosystem?
It might be a problem, but the developers prefer Cairo and STARK. The number of developers and teams is increasing every day, and I think they see the potential. Many people understand the problem of scaling and are asking themselves the question of the best and most promising solution that truly opens up the possibility of scaling to global demand, and I think many of them have come to the right conclusion - to follow the path of Starknet and Cairo 1.0.
Here's an analogy: usually you write the first version of your software in Python, but when you aim to scale, you need to write it in another very efficient language like C++, WASM, Rust, etc I think the same thing happens with Cairo: you can take Solidity code and deploy it in Kakarot - it's like writing a high-frequency trading (HFT) engine in Python, and you can't do that. You need to write in another language, and that language is Cairo.
Are there projects developing zkEVM based on Starknet?
Yes, there are very good projects creating ZK-EVM on StarkNet. The first one is called Warp and was created by the NetherMine team who are doing great work. The second is called Kakarot and is an emerging community.
Kakarot is a ZK-EVM built on top of Cairo. So I'm sure most ZK-EVMs will be deployed on Starknet. If you already have an idea to port your Solidity or EVM code to L2 efficient Rollup, your best option is to do it on top of Kakarot or Warp. Thus, the power of Cairo and Starknet is again demonstrated.
In the current situation, ZK Rollup, Starknet and zkSync are the absolute leaders, and there is a strong competitive relationship between them. In your opinion, what is the difference between Starknet and zkSync, and what is the advantage of Starknet?
You need to ask yourself, where is the best technology? Where is the greatest chance of gathering more developers and providing the best and most secure technology? We demonstrated our capabilities before zkSync, they were great storytellers, but there was some mismatch between the story and the developer's experience. I have a suggestion: I encourage developers who are reading this to try developing or deploying something on zkSync and try developing and deploying something on Starknet, you will feel a clear difference.
Let me tell you a story. Someone on Reddit asked someone to create something that could handle 300,000 transactions. We did this on the mainnet and the throughput was around 3000. A week or two later the zkSync team said they had 3000 TPS, but that 3000 TPS was never measured, verified or demonstrated, but it's a good story. In an industry where many people love to tell stories, there are also those who present the facts, and we pride ourselves on our ability to present the facts.
There are user reviews. Currently, the gas cost for transferring assets or interacting on ZK Rollup is very high. Why is this happening?
Starknet is currently facing overload due to high demand. Within two weeks we will release version 12, which will significantly increase throughput and solve most of the needs. Then, in the next release, when we fully integrate Volition for off-chain processing, the cost will be significantly reduced, which could happen in a month or two.
When talking about the developers in the ecosystem, some people do note that the development of the Starknet ecosystem is more balanced than that of zkSync.
That's right, it is the result of better and deeper technical understanding. We have been in this area for a long time, deploying content into production and improving the system. We know what we're doing. But we're not very good at storytelling, we have almost no hype. We are like Tesla, Tesla has no marketing department, our products are our advertising.
StarkWare Sessions 2023 conference scene
In the Web3 space, teams that understand marketing seem to be more popular. Many technology-oriented projects have problems developing the ecosystem, don't they?
No, I don't think that will happen any further. The reason lies in the way Ethereum has evolved. One day, a very successful application will realize what Starknet is capable of. I don't know what application this is yet. If I have to guess, I think it's not a product that already exists on L1 and can be easily copied and pasted onto L2.
So I think this will be something on everyone's radar and everyone will be talking about - a completely new application that is not possible on L1 or even on other L2s. This will be the tipping point and developers will gather around it. That's why we give it most of our attention. We came to EDCON to connect with more developers and invite them to join our ecosystem. Some of them will create wonderful things that I cannot predict.
Do you have any advice for developers planning to develop in the Starknet ecosystem? What can Starknet offer them?
I can't answer this question for them, even if I give the answer, they shouldn't listen to me, they should decide for themselves. I think some things are just amazing, like building database infrastructure on Starknet, like advanced oracle services, Proof of Humanity, social networks, etc. There are a lot of really amazing things that can be done, and they should look into it and figure out what they think is missing or most interesting.
Starknet is the next step in the development of blockchain, and it is very important. If you are a developer, Starknet will be ready for users, and we are building it for end users. I think we have a very clear roadmap, more developers, and there are a lot of tools that need to be created, a lot of work that needs to be done. There are many opportunities for you to stand out and become known for your work.
What else would you like to tell the readers?
If you had a car time, then you could go back to the early days of Ethereum and build almost anything you want and it would all be very successful, such as the first prediction market, the first wallet, etc. However, the game is not over yet, there are next generation opportunities , and I think the winner of this generation will be Starknet. So now is the time to learn about Starknet.