BTC
ETH
HTX
SOL
BNB
View Market
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

a16z Conversation with Solana Co-founder: Trying to Create Greater Ideas Rather Than Repetition of Existing Ones

链捕手
特邀专栏作者
2023-09-12 11:30
This article is about 15772 words, reading the full article takes about 23 minutes
In this episode, a16z crypto co-founder and CEO Anatoly Yakovenko talks with Solana Labs co-founder and CEO Anatoly Yakovenko. Anatoly Yakovenko previously worked at Qualcomm, serving as a senior engineer and engineering manager.
AI Summary
Expand
In this episode, a16z crypto co-founder and CEO Anatoly Yakovenko talks with Solana Labs co-founder and CEO Anatoly Yakovenko. Anatoly Yakovenko previously worked at Qualcomm, serving as a senior engineer and engineering manager.

Original Title: Debating Blockchain Architectures (with Solana)

Hosts: Ali Yahya, General Partner at a16z crypto; Guy Wuollet, Partner at a16z crypto trading team

Guest: Anatoly Yakovenko, CEO of Solana Labs and co-founder of Solana

Translation: Qianwen, ChainCatcher

"But what I want to say is that people should try to create greater ideas instead of repeating what already exists. The best analogy I've heard is that when people discovered cement, everyone focused on building bricks with cement, and then there was one person who thought, I can build a skyscraper. They figured out a way to combine steel, cement, and architecture together, which no one could have imagined. The new tool is cement. You just need to figure out what a skyscraper is and then go build it."

In this episode, a16z crypto talks to Anatoly Yakovenko, co-founder and CEO of Solana Labs. Anatoly Yakovenko previously worked at Qualcomm as a senior engineer and engineering manager.

Summary

  • The ultimate goal of decentralized computing

  • The ideas behind Solana

  • Differences and similarities between Solana and Ethereum

  • The future development of blockchain

  • The Web3 community and development

  • Recruiting talent for Web3 startups

The ultimate goal of decentralized computing

a16z crypto: First of all, I want to know how you view the ultimate goal of decentralized computing and how you view blockchain architecture?

Anatoly Yakovenko: My position is quite extreme. I think settlement will become less and less important, just like in traditional finance. You still need someone to provide guarantees, but these guarantees can be achieved in many different ways. I believe that what truly has value in the world is having a globally distributed, globally synchronized state, and that's the real challenge. You can think of it as the role of Google Spanner for Google or Nasdaq for the financial markets."

From a macro perspective, the blockchain system is permissionless, programmable, and highly open, but there is still some form of market in the background of the stack. For all these markets, achieving global complete synchronization as close to the speed of light as possible is extremely valuable, as everyone can refer to it. You can still operate in the local market, but if there is fast synchronization of global prices, global finance will become more efficient. I believe this is the ultimate goal of blockchain, to synchronize as many states as possible at the speed of light.

a16z crypto: If cryptocurrencies and blockchain achieve mainstream adoption, what will be the biggest driving force behind the activities on the blockchain?

Anatoly Yakovenko: I think the form will still be similar to Web2, but it will be more transparent and realize the vision of a long tail distribution. There will be various small-scale companies on the internet that can control their own data, instead of a few dominant players as it is now (although what these large companies do is also great). I think, in the long run, creators should have more control and more autonomy in publishing, in order to achieve a truly decentralized and diverse internet.

a16z crypto: Another way to think about or approach this question is how to strike a balance. You mentioned that settlement will become less important in the future. I'm curious, as Solana is a hub for a significant amount of global business, especially financial activities, how can it accelerate the achievement of the ultimate goals you just mentioned or complement them?

Anatoly Yakovenko: The Solana system is not designed as a store of value, and its tolerance for network failures is actually quite low. It is designed to use all available resources on the internet as quickly as possible. In fact, it relies on most of the free cross-border communication and finance in the world. It is different from a bunker coin that can be used for emergency refuge, although I do believe that we also need bunker coins that can survive local geopolitical conflicts.

However, looking optimistically, the connections between things in the world are becoming increasingly tight. I believe we will see connections in the terabits between us. In that world, you will have a fully interconnected world. I think this globally synchronized state machine can absorb a lot of execution aspects.

From experience, settlement can occur in many places because settlement is easy to guarantee. Again, I emphasize that I am taking this position for the purpose of discussion. Since 2017, we have witnessed numerous types of privacy networks, each with many different instances in terms of design. We basically see no failures in voting algorithms (Quorum), because settlement is relatively easy to achieve. Once you establish complex Byzantine fault-tolerant mechanisms among 21 decentralized participants, you will not see settlement failures. We have also solved other extended problems. From experience, Tendermint is very feasible, although we went through the Luna collapse initially, but the problems that appeared were not in the voting algorithm mechanism.

I believe that we have spent too much on settlement in terms of security, resources, and engineering, while spending far too little on research and execution, which is where most of the financial industry profits. Personally, I believe that if these technologies are to truly have a global impact, they must be superior to traditional finance in terms of price, fairness, speed, and so on. This is where we need to focus our research and competition.

a16z crypto: You think settlement is one of the aspects you choose to optimize in blockchain. People may over-optimize blockchain for settlement and neglect other aspects such as throughput, latency, and composability, which are often counter to the security of settlement. Can you talk about Solana's architecture?

Anatoly Yakovenko: The task of Solana's architecture is to simultaneously relay information from all participants around the world to the network at the fastest speed. So there is no need for sharding or complex consensus protocols. We actually want to keep things simple. Or you could say that we were fortunate enough to solve a computer science problem, which is box synchronization (using a verifiable delay function as a time source in the network). You can imagine it as two radio transmission towers transmitting signals at the same time or on the same frequency, which creates noise. The first protocol people thought of when building cellular networks was to equip each tower with a clock and have them alternate in transmitting signals according to time.

An analogy is that the Federal Communications Commission is like a truck full of thugs. If your signal tower is not synchronized with the open licensed list network, they will come and shut it down. Solana is inspired by using a verifiable delay function to schedule block producers, so collisions do not occur. For example, in a network like Bitcoin, if two block producers produce a block at the same time, a fork occurs, just like the noise in a cellular network. If we can force all block producers to produce in alternating time, you can obtain a good time division protocol where each block producer can produce in turns according to the schedule, and they will never collide. Therefore, forks never occur, and the network never enters a noisy state.

After that, everything we do is operating system and database operation optimization. We transmit data blocks globally like a Bitcoin torrent, sending coding blocks to different machines, which actually look very similar to data availability sampling and have the same effect. Then they forward bits to each other, reconstruct blocks, and then vote, and so on continuously. The main design idea of Solana is that we strive to ensure that every process of the network or codebase only needs to update the kernel to scale.

If within two years, we can get twice as many cores for every dollar spent, we can adjust accordingly so that the number of threads per block is doubled or the computational load per block is doubled. Therefore, the network can achieve twice as much without any changes to the architecture.

This is the main goal we really want to achieve, based on my experience. From 2003 to 2014, I worked at Qualcomm. We can see improvements in mobile hardware and architecture every year. If you don't consider the possibility of expanding your software without rewriting it for the next year, then as an engineer, you are not qualified. Because your devices will rapidly scale, and to take advantage of this, you have to rewrite the code.

So, if you really need to think ahead, everything you build will only develop faster and faster. The biggest learning experience in my engineering career is that you can choose a carefully designed algorithm, but it may be wrong because the benefits of using such an algorithm become minimal as hardware scales up, and implementing its complexity now feels like a waste of time. So, if you can do just very simple things and only need to expand the core, you may already be able to achieve 95% of what you need.

The Building Philosophy of Solana

a16z crypto: Using proof of history as a way to synchronize time across validators is a very innovative idea, and that's what sets Solana apart from other consensus protocols.

Anatoly Yakovenko: This is part of Amdahl's Law, which is why it's hard for people to replicate Solana in terms of stateless, latency, and throughput because classic consensus implementations are based on step functions. An entire network, like Tendermint, has to agree on the contents of the current block before moving on to the next block.

Cellular signal towers use a schedule, and all you have to do is send a signal. Because there's no need to use step functions, the network can run quickly. I think of it as a kind of synchronization, but I don't know if that word is appropriate. They keep transmitting without ever stopping to wait for consensus to run. The reason we can do this is because we have a strict understanding of time. Honestly, we can establish some clock synchronization protocols for redundancy, but the process may be very difficult. It's a massive undertaking and requires reliable clock synchronization.

This is the philosophy of Solana. Before I started building Solana, I liked trading, being a broker, and so on, although I didn't make money. At that time, "flash boys" were prevalent in traditional finance. Whenever I thought my algorithm was good enough, my orders would be delayed a bit, and it would take longer for them to enter the market, and the data would also arrive slower.

I believe that the fundamental goal of these open business systems is to make it impossible for such a situation to occur if we want to disrupt the financial industry. This system is open, and anyone can participate. Everyone knows how to gain access, how to acquire rights, such as priority or fair rights.

Within the limits allowed by physics, within the limits that engineers can achieve, achieving all of this at the fastest possible speed is what I think is the fundamental problem. If blockchain can solve this problem, it will have a significant impact on the rest of the world, benefiting many people globally. It could become a cornerstone and allow you to disrupt advertising transactions and monetization models on the internet, and so on.

a16z crypto: I believe there is an important distinction between pure delay and malicious activities, especially within a single state machine. Perhaps you can elaborate on which one you think is more important and why.

Anatoly Yakovenko: It is not possible to atomicize the entire state because that would mean there is only one correct global lock for the entire state, resulting in a very slow ordering system. Therefore, you need atomic access to the state and must ensure this. It is difficult to build software that operates on non-atomic remote states if you do not know what side effects it will have on your computation. So, the idea is like submitting a transaction, either it is fully executed, or it fails completely, with no side effects. This is one of the characteristics that these computers must have. Otherwise, I think it is impossible to write reliable software for them. You simply cannot build any reliable logic or financially reliable logic.

You might be able to build a consistent system, but I think that would be a different software. So, there is always a tension between maintaining the atomic state of the system and performance. Because if you guarantee this, it ultimately means that you have to choose a specific writer to handle a specific part of the state in a global scope at any given time. And to solve this problem, you need to have a single sequencer and linearize these events. This creates points to extract value and improve system fairness. I think it is indeed difficult to address these issues, not only for Solana but also for Ethereum and Lightning Network.

Solana and Ethereum

a16z crypto: One frequently debated issue, especially in the Ethereum community, is the executability of transactions, which is very important for users because they don't have very powerful machines to verify activities on the network. What is your perspective on this?

Anatoly Yakovenko: I think the ultimate goals of these two systems are very similar. If you look at the roadmap of Ethereum, you will find that its concept is that the overall network bandwidth is greater than any individual node, and the network is already handling more events than any single individual node in terms of computation or processing. You have to consider the security factor of such a system. There are also protocols for publishing fraud proofs, sampling schemes, etc., all of which are also applicable to Solana.

So, if you take a step back, there's actually not much difference. You have a system like a black box that creates so much bandwidth, which is not very practical for a random user. Therefore, they need to rely on sampling techniques to ensure data integrity. Just like a powerful rumor network that can spread fraud proofs to all clients. The things guaranteed between Solana and Ethereum are the same. I think the main difference between the two is that Ethereum is largely constrained by its narrative as a global currency, especially in competition with Bitcoin as a store of value.

I think it makes sense to allow users to have very small nodes. Even if they only partially participate in the network instead of having it run entirely by professionals. Frankly, I think this is a fair optimization strategy. For example, if you don't care about execution and only care about settlement, why not minimize the node requirements and let people partially participate in network activities? I don't think this approach can create a trust-minimized or absolutely secure system for the majority of people in the world. People still rely on data availability sampling and fraud proofs. And to verify if the blockchain has done something wrong, users only need to execute the signatures of the majority of people on the chain.

On Solana, a single transaction describes action state fragments of all parties involved in the transaction. It runs on any device such as a browser on a mobile phone, and executing a single transaction with the signatures of the majority of people on Solana is easy because everything on Solana is predetermined, making it actually easier to build on Solana. Whether it is EVM or any smart contract, they can access any state and randomly jump between them during execution. In a way, it's almost simpler. But I think, from a high-level perspective, users still rely on das and fraud proofs. In this regard, all the designs are the same.

a16z crypto: I think the difference lies in zero-knowledge proofs and validity proofs, especially fraud proofs. You seem to believe that zkEVM is almost impossible to audit and that they won't develop within a few years. I want to ask you why Solana didn't prioritize zero-knowledge proofs and validity proofs like Ethereum did.

Anatoly Yakovenko: I think there are two challenges here. One is how we prioritize them because there's a company called "white protocol" that is building zero-knowledge proofs for applications. The proofs are fast. Users won't notice them during their interaction with the chain.

Actually, you can combine them. You can have one Solana transaction calling five different zk programs. So this environment can save computing resources for users or create privacy for users, but it doesn't really validate the entire chain. The reason I think it's difficult to validate the entire chain is because zero-knowledge systems don't handle a large number of sequential state dependencies well, with the most typical example being the verifiable delay function (VDF). When you try to prove a sequential SHA, recursive SHA to be 56, you will find that it crashes because the order-dependent states in the execution process increase the constraints the system must have. And the verification takes a long time. I don't know if this is the best result in the industry, but the latest result I saw on Twitter is that a 256-byte SHA takes about 60 milliseconds. This is a long time for a single-click instruction.

So sorting computation, classical computation is necessary. And in an environment designed for execution, there are a lot of markets, and you actually have a lot of sequential dependencies. The market is very hot. Everyone will directly submit data to a pair of transactions, and everything around this pair of transactions depends on this pair of transactions. So, like execution, these sequential dependencies are actually very many, which will result in a very long proof system.

Solana does not prohibit someone from running a zero-knowledge prover in a recursive light way to prove the entire computation, if feasible. But what users need is to have their information written into the chain quickly when making transactions, and it needs to be written in microseconds or milliseconds. And I need to quickly obtain the state and some guarantees for the state. This is the key to gaining profit.

Therefore, I think we need to solve this problem, which requires the actual competitiveness of traditional finance. If this can be achieved, then you can start researching zero-knowledge and figure out how we can provide these guarantees to users who don't want to validate the chain or depend on these events, but maybe we can do it once every 24 hours or something similar. I think there are two different use cases, firstly, we must really solve the market mechanism problem, and then for other long-tail users.

a16z crypto: So it sounds like what you're saying is that validity proofs, ZK proofs, are very good in settlement, but not helpful in execution because the delay time is too long and their performance also needs to be improved.

Anatoly Yakovenko: So far, that's true. This is my intuition, and the reason is simple because the more active the chain is, the more hotspots of state dependencies there are. They are not fully parallel and will never have a conversation with each other. It's just a bunch of poor quality code.

a16z crypto: Another counterargument might be that zero-knowledge proofs are experiencing exponential advancements because there is significant investment in this area. Maybe in 5 or 10 years, the cost may decrease from the current 1000x to a more feasible level. You have a background in hardware engineering, and I would love to hear your thoughts on whether it would be more efficient to have a single node perform the computation and generate the proof, distributing it to others instead of having each node compute it individually.

Anatoly Yakovenko: This trend is helpful for optimizing zero-knowledge systems. There is an increasing amount of activity happening on-chain. The number of constraints will keep increasing, and the speed will surpass the rate at which hardware can be added, and then you keep adding more hardware. That's my intuition. My sense is that as the demand increases, such as the computational workload on-chain, it will become increasingly challenging for zero-knowledge systems to keep up with low-latency requirements. I'm not even certain if it will be 100% feasible. I think it's possible to build a system that handles massively recursive batches, but you still have to run classic execution with snapshots every second. Then, you throw an hour of computation in a parallel farm between each snapshot to validate and recompute from there, but it takes time, and I think this is a challenge.

I'm not sure if ZK will catch up unless the demand levels off, but I believe eventually the demand will plateau. Assuming hardware continuously improves, at some point, the demand for cryptocurrencies will saturate, just like how Google's search volume per second may have already saturated. Then you will start seeing that happen. I think we are still far from that goal.

a16z crypto: Another major difference between these two models is Ethereum's Rollup-centric worldview, which is essentially a pattern of computational sharding, data availability sharding, bandwidth, and network activity sharding. Consequently, it is imaginable that greater throughput can be achieved since you can almost infinitely increase Rollups on top of a single Rollup, but this compromises latency. So, what is more important? Overall throughput or access latency? Maybe both are important?

Anatoly Yakovenko: I think the key issue is that you have Rollups and sorters, and people will extract value from the construction of sorters and Rollups, and to some extent, you're going to have some shared sorters in this system. Their operations are no different from Citadel, Jump, brokers, traders, etc., as they route orders. These systems already exist. This design doesn't actually break the entire monopoly. I think the best way forward is to establish a completely permissionless business system where intermediaries cannot truly participate and start capturing the value of a globally synchronized state machine.

It's very likely that the actual cost of usage will be lower because it's like creating a bunch of different small pipes.

In general, the pricing of any given channel is based on the remaining capacity of that channel, rather than the overall network capacity. It is difficult to establish a system of fully shared network bandwidth. You can try to design it like Rollup, where blocks can be placed anywhere available, but they will still compete and bid. It's not as simple as a huge pipeline, the price is based on the remaining capacity of this chain pipeline. Because it is a bandwidth aggregation source, its pricing will be lower, but the final speed and performance will be higher.

Block Space and the Future

a16z crypto: I remember you saying that you don't believe the demand for block space is unlimited. Do you think that the demand for block space will reach a balance point when web3 achieves mainstream adoption?

Anatoly Yakovenko: Imagine if engineers at Qualcomm were told that the demand for cellular bandwidth is unlimited, and the code is designed for infinity, that would be absurd.

Actually, a goal will be designed to address such demand, such as considering how much hardware is needed, when to launch, what is the simplest implementation, what is the price of deployment, and so on. My intuition is that 99.999% of the most valuable transactions may only need less than 100,000 TPS, this is my intuitive guess. And it is actually quite feasible to achieve a system with 100,000 TPS, the current hardware can achieve it, and Solana's hardware can already do it. I think the speed of 100,000 TPS may be the block space for the next 20 years.

a16z crypto: Could it be because block space is so affordable that people want to use it for various purposes, causing the demand for it to surge?

Anatoly Yakovenko: But there is still a bottom price. The price purchase must cover the bandwidth cost of each validator. Just like egress costs will dominate validation costs. If you have 10,000 nodes, you probably need to price the network's usage per byte at 10,000 times the normal egress cost, but that sounds expensive.

a16z crypto: So I think this is a question of whether you believe at some point Solana will reach its limit, or do you think the monolithic architecture is already sufficient?
Anatoly Yakovenko: So far, people have been sharding because they built systems that are much lower bandwidth than Solana, so they hit capacity constraints and started bidding for bandwidth, which has greatly exceeded the cost of export. For example, the cost of export for Solana validators was $1 per megabyte, which is a low price, but you can't use it to play videos. But it's cheap, you can use it for searching, you can basically put every search on chain and get the results from your search engine.

a16z crypto: I think this is actually an interesting point because we posed the question of "what is the ultimate goal of blockchain scalability" when we started the podcast, which means that scalability of blockchain is the most important issue.

Chris has also used this analogy before, that the progress of artificial intelligence in the past decade has largely been due to better hardware, which is the real key. So I think when we talk about the scalability of blockchain, it is also for the same purpose, if we can achieve a significant increase in TPS, everything will work fine. But an interesting counterargument is that Ethereum can achieve 12 transactions per second, but the throughput of Ethereum itself is still larger than any single L2 and charges higher fees. On Solana, many simple transfer transactions have low costs. When we talk about this issue, we usually come to the conclusion that if our throughput reaches the next order of magnitude, there will be many new applications that we cannot reason or think about now. To a certain extent, over the past few years, Solana has been a place to build applications, and many things are very similar to those built on Ethereum.

Do you think higher throughput or lower latency will unleash many new applications? Or will most of the things built on the blockchain in the next 10 years be very similar to the designs we have already proposed?

Anatoly Yakovenko: Actually, I think most applications will be very similar. The hardest part is how to establish a business model, such as how to apply these new tools. I think we have discovered these tools.

The reason Ethereum transactions are so expensive is that its state is very valuable. When you have this state, anyone can write into it, and they create an economic opportunity cost, making them the first to write into this state, and all of this effectively increases the cost. That's why valuable transaction fees occur on Ethereum. To achieve this, many applications need to create this valuable state to encourage people to constantly write into it and to start bidding up fees.

a16z crypto: I have a counter-argument here. I think we easily underestimate the creativity of developers and entrepreneurs in the entire field. In fact, if you look back at history, such as the first wave of the internet and web development starting from the 1990s, it took us a long time to truly develop the main driving force behind interesting applications. For example, in the case of cryptocurrencies, it wasn't until around 2014 with Ethereum that we truly had programmable blockchains, and things like Solana have only been around for about 4 years or so, so the time for exploring and designing is actually not that long.

The fact is, there are still very few developers in this field. For example, we probably have tens of thousands of developers who know how to write smart contracts and truly understand the prospects of blockchain as a computer. Therefore, I think it's still early to develop interesting ideas on the blockchain. The design space it creates is so vast that I imagine we will be surprised by what people will create in the future. They may not only be things related to transactions, markets, or finance. They may appear in the form of shared data structures, which are very valuable but fundamentally unrelated to finance.

A decentralized social network is a good example, where social graphs are put on the chain as a public good, allowing various entrepreneurs and developers to build on top of it. Since the social graph is on the blockchain and open, all developers have access to it, making the social graph a very valuable state maintained by the blockchain. You can imagine people wanting to publish a large number of transactions for various reasons, such as real-time updates to this data structure. If these transactions are cheap enough, I believe developers will find ways to leverage them.

Historically, whenever computer speeds increase, developers find ways to utilize the additional computing power to improve their applications. Our computing power is never enough. People always want more computational power, and I think the same will happen with blockchain computers. And there won't be a limit. Maybe the limit is not infinite, but I think the upper limit of the demand for block space will be much higher than we imagine.

Anatoly Yakovenko: But on the other hand, use cases of the internet were discovered quite early, such as search, social graphs, and e-commerce, which were already discovered in the 90s.

a16z crypto: Some things are hard to predict. For example, shared bicycles were hard to predict. Actually, the form that search ultimately took was also hard to predict. I use things like streaming videos extensively in social networks, which was unimaginable at the beginning.

I think, just like here, we can think of some applications that people might build on the blockchain. But given the current limitations and infrastructure constraints, some of these applications feel impossible to imagine. Once these constraints are lifted, once more people enter this field to build, we can imagine and expect many heavyweight applications in the future. So, if we let it evolve freely, we might be surprised by how powerful it becomes.

Anatoly Yakovenko: There is an interesting card game called "dot bomb" where the goal is to lose money as slowly as possible. You can't actually win or earn money. You manage a group of different startups using internet ideas from the 90s. Without exception, every so-called bad idea, such as online grocery delivery and online pet stores, became at least a billion-dollar business after 2010. So, I believe many ideas that may seem bad initially or fail in the initial implementation will eventually be widely adopted in the future.

The Future Adoption of Blockchain

a16z crypto: So the question is, what do you think is the key for blockchain to go from its current applications to becoming mainstream on the internet? If it's not scalability, are there other barriers like cultural acceptance of blockchain? Privacy concerns? User experience?

Anatoly Yakovenko: This reminds me of the development history of the internet. I remember how the whole experience transformed. After I went to college, I got an email address, and every working person had an email address. I started receiving links with various content, and the internet user experience got better, like when Hotmail was introduced, and Facebook developed.

Because of this, people's mindset changed, and they understood what the internet is. Initially, it was even hard to grasp what a URL is, what it means to click on something. What does it mean to access a server? We have the same kind of problem with self-custody. People need to genuinely understand these concepts, like what does a mnemonic phrase mean? What does a wallet and a transaction mean? People's thinking needs to change, and this change is gradually happening. I think once every user who eventually buys cryptocurrencies and puts them in their own self-custody wallet has that experience, they will understand. But so far, not many people have had that experience.

a16z crypto: You guys made a phone. Maybe you can tell us where the inspiration for making a phone came from and how you think the current adoption is going?

Anatoly Yakovenko: My experience at Qualcomm made me realize that this was a problem that exists and that we can solve it, and it wouldn't divert the entire company into the phone business. So, for us, it's a low-marginal-cost opportunity that could change the cryptocurrency or mobile industry.

This is something worth doing. We collaborated with a company to manufacture a device, and when we worked with them to launch specific cryptocurrency features, we received great feedback from people and developers, who saw it as an alternative to the app store. However, everything is unknown, such as whether cryptocurrency applications will be as compelling in macro conditions as to make people switch from iOS to Android. Some people are willing, but not many. Launching a device is extremely difficult. Basically, every device launched outside of Samsung and Apple has ended in failure, primarily because Samsung and Apple's production pipelines have been well optimized, and any new startup is significantly behind these industry giants in terms of hardware.

So, you need to have some "religious" reasons to convince people to switch, perhaps cryptocurrency is that reason. We haven't proven that yet, but we also haven't disproven it. Just like how we haven't seen a breakthrough use case yet, where self-regulation acts as a key feature people are willing to change their behavior for.

a16z crypto: You were one of the few founders who could construct both hardware and decentralized networks. Do you think the analogy between building decentralized protocols/networks and building hardware is valid?

Anatoly Yakovenko: It's similar to my previous work at Qualcomm. If there's a problem with hardware, it can cause a lot of issues. For example, if a tape drive fails, the company would spend millions of dollars daily to fix it, which can be catastrophic. But in a software company, you can still quickly identify problems and patch the software 24/7, which makes it easier.

Community and Development

a16z crypto: Solana has done an excellent job in building its own community, having a very strong one. I'm curious, what methods did you employ in building the company and ecosystem?

Anatoly Yakovenko: It can be said that there's an element of luck involved. We started as Solana Labs in 2018, which happened to be at the end of the previous cycle. Many of our competitors actually raised several times more funding than us. At the time, our team was small. We didn't have enough resources to build and optimize CDM, so we built a runtime that we believed could showcase this crucial feature - scalable and unconstrained blockchain, unaffected by node count or significant latency. We really wanted to make breakthroughs in these three aspects.

Back then, we only focused on building this fast network and didn't pay too much attention to other aspects. In fact, when we launched the network, we only had a rudimentary explorer and command-line wallet, but the network speed was very fast. This was also the key attraction for developers because there were no other fast, affordable networks to replace it, nor any programmable networks that could provide such speed, latency, and throughput.

This is actually why developers were able to develop. Because at that time, many people couldn't copy and paste Solidity code, so it all started from scratch. The process of building from scratch is actually the entry process for engineers. For example, if you can build the primitives you're familiar with in stack A and stack B, you can learn stack B from start to finish. If you can accept some trade-offs, you may become its advocate.

If we had more funds, we might have made a mistake at the time, which is trying to build EVM compatibility. But in fact, our engineering time was limited, which forced us to prioritize the most important thing, which is the performance of this state machine.

My intuition is that if we can remove the restrictions on developers and give them a very large, very fast, and low-cost network, they can free themselves. And this has indeed happened, which is amazing and admirable. I'm not sure if we would still be successful if the timing was wrong, for example, if the macro environment at the time was wrong. We announced it on March 12th, and then on March 16th, the stock market and the cryptocurrency market both crashed by 70%. I think the timing of those 3 days might have saved us.

a16z crypto: Another important factor here is how to win developers?

Anatoly Yakovenko: This is somewhat counterintuitive, you have to use chewing glass to build your first program, which requires people to really invest time, we call it "chew glass".

Not everyone will do this, but once enough people do, they will build libraries and tools that make it easier for the next developer to develop. For developers, doing this is actually something to be proud of, naturally libraries will be built, software will naturally expand. I think this is what we really want the developer community to build and chew on, because it really makes those people own it, and really makes them feel ownership of the ecosystem. We're trying to solve problems they can't solve, like long-term protocol problems.

I think this is the origin of this spirit, you're willing to chew glass because you get rewards from it, you get ownership of the ecosystem. We're able to focus on making the protocol cheaper, faster, and more reliable.

a16z crypto: What do you think about the developer experience and the role programming languages will play in the field after gaining more mainstream applications? It's quite difficult to integrate into this field, learn how to use these tools, and learn how to think.

In the new model, programming languages may play an important role in this respect, as the security of smart contracts has become an important task for engineers in this field. The risks involved are immense. Ideally, we will eventually see a world where programming languages provide much more help through tools than they do now, such as formal verification, compilers, and automation tools that can help you determine if your code is correct.

Anatoly Yakovenko: I believe that formal verification is necessary for all Defi applications. Many innovations happen here, such as creating new markets, which are the biggest targets for hackers. These are the places where formal verification and similar tools are truly needed.

I think there are many other applications that are quickly converging towards a single node implementation and becoming trustworthy in terms of effectiveness. Once you can establish a single standard for a certain type of problem, it is much easier than a new company establishing a new Defi protocol because nobody has written this kind of code before. So, you have to bear a lot of implementation risk and then convince people to put money at risk in that protocol. That's where you need all the tools. Formal verification, compilers, move language, and so on.

a16z crypto: The programming world is changing in a very interesting way because most programming in the past has been traditional imperative programming, similar to JavaScript. And when you write some code, it's likely to be incorrect and get hacked and then you fix it.

However, more and more applications are mission-critical, and for these applications, you need a completely different programming approach that guarantees correctness better. On the other hand, there is another type of programming emerging, which is machine learning, synthesizing programs using data. And both of these things are eating away at the original form of imperative programming. There will be less and less ordinary JavaScript code in the world. There will be more and more code written by machine learning algorithms based on data. There will be more code written with more formal techniques that look more like math and formal verification.

Anatoly Yakovenko: Yes, I can even imagine at some point an LLM optimizing smart contract languages and telling LLM to translate it into Solidity or other Solana anchors. Two years ago, people might not believe it, but with Gpt 4, there are already many leap functions.

a16z crypto: I love this idea. You can use an LLM to generate program specifications that satisfy certain formal verification tool requirements. Then you can ask the same LLM to generate the program itself. And then you can run formal verification tools on the program to see if it really satisfies the specification requirements. If it doesn't, it gives you an error, and you can feed that error back to another LLM to try again. You can do this iteratively until you generate a verifiable, formally verified program.

Ecosystem and Talent Recruitment

a16z crypto: We are discussing how to build a strong ecosystem. Many blockchains become decentralized almost immediately after launch, to the point where the core team no longer participates in forum discussions or attempts to help other partners get involved. But it seems like you have been very attentive to the network launch and market entry. I think this could be a major advantage in building the Solana ecosystem.

Anatoly Yakovenko: To quote a saying, decentralization is not the absence of leadership, but rather leadership from many. I remember how difficult it was to take Linux seriously in a big company like Qualcomm, even to the point where the idea of running Linux on mobile devices seemed ridiculous. When I first joined, the whole community was trying to convince everyone that open source mattered, and I think that's what we need to do, decentralize the internet.

But that doesn't mean there is no leadership. In fact, you need a lot of experts constantly telling people about the benefits of using this specific network and its architecture, constantly getting more people to join and cultivating leaders who can spread knowledge worldwide. But it doesn't mean everything happens under one roof. When the network and code are open, anyone can contribute and run it. Naturally, it becomes decentralized. And leadership emerges from unexpected places.

Our goal is to develop everything around us, make our voice one of many rather than silencing others. We pay great attention to hackathons, fans, and try to connect them, get them involved in this cycle. It's like a flywheel. We try to connect people with developers from around the world, have as many one-on-one interactions as possible, and then get them all into hackathons, participating in competitions, pushing them to build their first or second product.

Among cryptocurrency users, only a few products can enter the market, get venture capital, and have a scalable number of users. In my opinion, this means we don't have enough creativity. We don't have enough founders aiming for targets, finding business models that can truly scale to millions of users. So, we need a lot of companies competing, trying to come up with brilliant ideas. That's the biggest challenge.

a16z crypto: One related question is how to involve the community in developing core protocol itself. This is one of the trickiest balancing acts for any blockchain ecosystem. On one hand, you can actively involve the community, but on the other hand, it may reduce your flexibility. And governance involving more people is difficult to coordinate. On the other hand, you can control things in a more top-down way and potentially develop faster. But you'll be influenced in terms of community involvement. How do you strike a balance?

Anatoly Yakovenko: Generally speaking, when I was working at the foundation, we saw people actively contributing to things they wanted to do. Then, they go through a proposal process, and there may be a grant or something else attached. This is similar to the interview process, like when I hire someone for the lab, it may be that the person does not fit the company culture, or it may be for other reasons, but it does not mean that the person is bad, just that something is not working. Similarly, you will find that engineers have been submitting code and contributing to the codebase. They already know how to merge code culturally and how to handle open source directions. When you find people who can solve problems on their own, you can give them support, and this support is very important to ensure that you can find truly excellent people who can submit code and are willing to work on it in the long term.

a16z crypto: What do you think is the best way to run decentralized governance protocols today?

Anatoly Yakovenko: Like L1, the approach we take seems to be effective, much like Linux, moving forward continuously, and avoiding vetoes from any participant as much as possible. It follows a path of minimal vetoes. To be honest, there are many participants who can veto any changes, they will feel that the change is not good, or that there should be no change. But we have to make the system faster, more reliable, and use less memory, and no one will object to these changes.

Ideally, we have a process where you publish the design, and everyone spends three months discussing it. Therefore, before merging, everyone has plenty of opportunities to look at this code and decide whether it is good or bad. This process may seem a bit long, but it is not. If you have ever worked in a large company, basically when you work with Google or Qualcomm, you know that you have to talk to many people, you have to push it, make sure all key partners, such as key personnel who touch the codebase, can accept it, and then slowly complete it. It is more difficult to make a drastic reform. Because many smart people are looking at the same things, they may really find some errors and then make the final decision.

a16z crypto: How do you approach talent recruitment?

Anatoly Yakovenko: In terms of engineering, our requirements are often high, at least we will hire relatively senior personnel. My approach to recruitment is that in the initial stages, I will work on something, so I know how it should be done, and then I will tell the new employees how I did it. I do not expect them to complete it within 90 days or surpass me. I can evaluate them during the interview and tell them that this is the problem I am addressing. I need someone to take over so that I can do unknown things. In a startup company, if you are the CEO, it is best not to give others an unknown problem because you don't know if they can solve these problems.

When the ecosystem develops to a certain extent, we need PMs. At that time, I spent too much time answering questions, even until 2 am. I thought at that time, someone else should do this, and now I know exactly what this job is.

a16z crypto: How important do you think privacy is for blockchain in the future?

Anatoly Yakovenko: I believe the entire industry will go through a transformation. First, some visionary individuals will focus on privacy, and then suddenly, major payment companies or other companies will adopt this technology, making it the standard. I think it needs to be a feature – if you don't have this feature, you won't be able to compete. We haven't reached the level of market maturity yet, but I think we will. Once there are many people using blockchain, every merchant in the world will need privacy. That's just the minimum requirement.

a16z crypto: What impact does the Solana architecture have on MEV? Does the leader have too much authority to reorder transactions?

Anatoly Yakovenko: Our initial idea was to have more than one leader per slot. If we approach the speed of light as closely as possible, which is about 120 milliseconds, then you can have a discrete batch time auction globally every 120 milliseconds. Users can choose the most recent or highest rebate from all available block producers. In theory, this could be the most efficient way to run finance – either I choose delay and send it to the nearest block producer, or I choose the highest rebate and do delayed dollar transactions. This is a theory, we haven't tested multiple leaders per slot yet, but we're getting closer to that goal. I think it could be feasible, maybe achievable by next year.

Once we achieve this solution, I believe we will have a very powerful system that basically forces competition and achieves minimal MEV.

a16z crypto: In the Solana architecture, what is your favorite system optimization?

Anatoly Yakovenko: I love the way we propagate blocks, it was one of our early ideas and something that we really needed to do. We can scale the number of nodes in the network very high, we can transmit a large amount of data, but there is a fixed and limited amount of export each node must share.

If you think about it from a higher level, each leader, when creating a block, slices it into shards and creates encoding for those shards. Then, they transit those shards to a node which then sends it to other nodes in the network. Because all the data is mixed with the encoding, the reliability of the data is very high as long as someone receives it, since the number of nodes propagating the data is very high, unless 50% of the nodes fail, which is very unlikely. So, it's a really cool optimization, and it has very low cost and high performance.

a16z crypto: How do you view the future development of cryptocurrency applications? How will users who are not familiar with blockchain adopt it in the future?

Anatoly Yakovenko: I believe that there are revolutionary applications and payment methods because using cryptocurrency for payments has obvious advantages compared to traditional systems. Once regulation is in place and Congress passes several bills, payment will become a breakthrough use case. Once we have a means of payment, I think another aspect of it will also develop, such as social applications, which can be messaging apps or social graph apps. These applications are currently growing slowly. I think they are in a golden period of takeoff and will achieve truly significant numbers.

Once we reach mainstream adoption, iteration becomes possible to understand what people really want and provide them with those products. People should use products for their utility, not just for the token.

a16z crypto: What advice do you have for builders in this field or those outside this field? Or for those who are curious about cryptocurrencies and Web3?

Anatoly Yakovenko: What I want to say is that now is the best time. The current market is relatively subdued on a macro level, with not too much noise, so you can focus on the fit between your product and the market. When the market turns, these discoveries will greatly accelerate your development. If you want to work in the field of artificial intelligence, people should not be afraid to start an AI company, a cryptocurrency company, or any other company right now. You should try and build these ideas.

But what I want to say is that people should try to create greater ideas instead of repeating what already exists. The best analogy I've heard is, when people discovered cement, everyone focused on using cement to make bricks. Then one person thought, maybe I can build skyscrapers. They figured out how to combine steel reinforcement and construction, which was something no one had thought of. The new tool is the cement, you just need to figure out what the skyscraper is and then build it.

Solana
a16z
founder