Launch App

Twitter Spaces With Sommelier: Mysten Labs AMA With Evan Cheng

Sommelier co-founders, Zaki Manian and Jack Zampolin, recently spoke with Mysten Labs co-founders, Evan, project Lead and CEO, and George, chief scientist, about the impressive work that the Mysten Labs team has been doing, and how working together with Sommelier will accelerate the productivity possible with Sommelier and the Cosmos.

Mysten Labs’ Chief Scientist and CEO discuss teaming up with Sommelier to bring performance enhancements for massive impact on Sommelier’s Cosmos and programmability for public blockchains

Zaki, who has been working on Cosmos for about seven years, kicked off the conversation with a discussion about their intersections with the Cosmos world and quips: “Once you’ve entered into the gravitational pull of Cosmos, you can never escape.” He says:

“I’ve been very interested in next-generation consensus protocols, fast blockchains, and all these things that make these things possible. Everyone else in this discussion has done really important work in this same area. I have known Evan and George for a couple of years, but Mysten Labs has just been getting a lot of hype because it is without a doubt one of the most exciting teams to emerge bringing performance to public blockchains. Evan is the founder and CEO of Mysten Labs. Evan, do you want to talk a little bit about what brings you to the world of building high-performance blockchains?

“Hey, I’m Evan, great to be here. I see many familiar faces, great to see people’s interest in this space. George and I were with Facebook’s mobility division for two and a half years, that was an awesome experience, we did a lot of event work. For me at least, it got to the point where the pull of being an entrepreneur, jumping into this crazy world head-on, taking on learnings and how our experience applies to this product experience is too hard to resist and I and my co-founders feel this together. We were talking among ourselves and decided this is something we want to do. We learned a lot, and in this field every bit of performance is critical so we’ve been pushing on that for a number of years. We feel like we have a lot of great tech to share. So, that’s why we’re here.

“I’d been at Facebook for six years and before that ten years at Apple, so there is a lot of good at these big tech companies, and they provide a great working environment. Great people, first of all. Awesome people. And that’s one thing we have to talk about, the quality of the folks who work on these technologies. We just feel like big companies have to be concerned about their product and what the product's needs are. For us, we want to move a little bit faster. That’s why we decided to strike out on our own.”

Expanding performance and possibilities

Mysten’s team was responsible for Diem’s successful technology wins that apply to the open source software that Diem was able to bring to the blockchain space. Evan observes:

“One of the things we talked a lot about with smart contracts was language designed to be saved, designed modeling the resource correctly, better tooling, more importantly eliminating the manual steps, manual auditing, but this is a topic by itself that we’ll discuss another time.”

“On the performance front, we had the privilege of working with some of the top system designers and protocol designers in the world. The basis of the Diem process is HotStuff by Dahlia, the CTO at Diem Association, who also worked at Facebook. So we’re really proud of the work we did on top of HotStuff. I know a number of blockchain startups using that protocol.

“We’re just pursuing trying to push what the limitations are. A year or so ago we started to get into performance. Even before that we did work like pay, beyond Visa scalability payment system, then we started pushing on the performance of the blockchain, and started looking at every aspect of blockchain. So we look at this example logistically.

“The way I look at it in layman’s terms -- this is my own terminology, not anybody else’s: We started looking at the first part of the blockchain, the front end if it were, the mempool and how it interacts with consensus, and after we looked at consensus performance we looked at execution, we did a lot of work on execution in ways that's quite different from what everybody else is doing, we looked at the data structure, we looked at aggregation, so every aspect of the blockchain performance we’ve been looking at in a lot of detail. The work is not done, but we feel that we have design to one day build the kind of blockchain that’s going to have performance characteristics that’s going to be significantly higher than what’s possible today.”

How the Transactions Per Second Metric Lead to Narwal and Tusk

The mention of Transactions Per Second was George’s cue to chime in. He’s Mysten’s chief scientist.

“To some extent, the transaction per second obsession is what I’ve been waking up every morning and going to sleep every night to for the past few years. Transaction per second has a very complex story. A blockchain, to be useful, has to do a lot of things, it has to share transactions amongst all the validators, make sure that they all have a consistent view that’s the consensus, and then it has to execute them, it has to distribute the results, and interact with its ecosystem. To some extent, taking a number like the magical transactions per second, seven, or fourteen for Ethereum, and pushing it up and up and up is going to require a concerted effort on all fronts. Like, all parts of a technology chain would have to contribute to that.

“Now, what we’re starting with— and to some extent what our collaboration with Sommelier is going to be based on—as Evan said is going to start at the front parts. A blockchain needs to distribute transactions across all its validators, all the honest validators at least, extremely efficiently. And, that’s how we think of the mempool traditionally. Although today’s mempools are very simple, they’re just gossip transactions. And then you just need to have a consistent view of the sequence of transactions, right? And this is before they can be computed by the rest of the Cosmos execution blockchain.

“So, these are the two components that we looked at in quite a bit of detail over the past 12 months. Our thoughts on that led to technologies that we call Narwhal, a new kind of logic for a mempool, and Tusk, which is a very custom-built consensus system on that. And our current experiments, and you know these are of course best case just sequencing transactions no execution on wide area network AWS -- not single data center AWS, but still, it’s a good network, it’s reliable machines and all of that -- even we can push tens of thousands transactions per second to 100-to-150 thousand transactions per second on a single machine. So that’s what we’re looking at right now. This is a big machine, but still.

“But what is quite interesting about the way we approach this is that the architectural design that we have for the mempool in particular, allows us to throw more resources per validator -- so instead of a validator being a single machine, actually using two or three or four machines, and then be able to scale up the data dissemination, which automatically scales up the throughput. So if the ecosystems out there at some point incentivizes validators to throw more resources at the problem of data dissemination, the combination of this Narwhal mempool with either a traditional consensus system, like HotStuff or Tendermint, or the Tusk consensus system that we’ve designed, should allow you to scale up the TPS when it comes to sequencing transactions.”

Separating Data Dissemination from the Consensus Protocol

George provides a closer look at his team’s thinking.

“What we have observed is that a lot of the cores out there trying to do consensus kind of conflate the two properties, the two kinds of services if you want, that a consensus system should provide.The first one is you have to disseminate all transactions to all validators— I mean, all validators at the end of the day will have to handle transactions, so that’s the first function, that’s the data dissemination function, and the second function is that all honest validators have to agree on the sequence of transactions. That’s the consensus part. A lot of the consensus scores out there, including Bitcoin and all of that, just conflate the two. They’re like, you know, some miner or some leader will make a block of transactions and will disseminate it and as part of that or some additional messages, consensus will emerge as well.

“And what we observed was that the performance of consensus systems that are monolithic like that really is bottlenecked not by the actual consensus protocol per se, that allows you to make a decision about what is the same view that everybody should agree on, but rather by the data dissemination layer.

“So, what we did is in Narwal, the mempool, what we do is we totally separate out everything to do with the data dissemination out of the consensus protocol. So now, all validators can just run basically an infrastructure that just shares data, shares transactions, shares like a causal graph of transactions. And they can do that using all the resources they can muster.There is no limitation if you want on how much data you can want and data you can share. The more machines and the more networking you can throw at that the more you can share among validators.

“And then, once you basically have shared all that data and you may now have potentially many different views of transactions and different views on what should actually be executed, the only thing you need is to just share a tiny little amount of data--screw the consensus protocol--that basically is just a pointer into that massive data that says hey, we are all going to agree that these are the canonical sequences out of all the possible sequences. So, that small amount of data can be agreed upon using the consensus protocol.

“So now, what that means is that the load on the consensus protocol, be it Bitcoin, Proof of Work, Tendermint, or HotStuff or anything else we can think of, is much lessened. Instead of relying on the consensus protocol having to actually share this massive data, the consensus protocol just has to share the minimum amount of data for all the validators to just disambiguate which out of potentially many sequences is the one that everybody has to follow.

“So now what happens is that the actual throughput of what we used to call monolithic consensus, the throughput, the transactions per second, just depends on mempool, but the latency depends on the consensus protocol. Because different consensus protocols will basically take a different number of round trips etc for most validators to agree. So the way you think about these systems is that Narwhal as a mempool takes care of the throughput and then any kind of consensus system can be used in order to just get the agreement and the latency of that agreement will depend on this consensus protocol.

“Now, other things are a bit subtle.Traditional PBFE and Tendermint work under what is known as a kind of partially synchronous network model, which assumes that message delays will be bounded. Tusk, for example, which we designed to work well with Narwhal, works in the totally synchronous model where you just flip some random coins and don’t actually need bounds on message delivery. These are more subtle issues.

“At the end of the day I think the main thing for people to take away is that if you separate dissemination in a mempool that can really scale up as much as you want, you can pretty much use any consensus protocol on the other side to actually get the agreement on which of all the potential sequences to get and you will still get great throughput. And, which you actually pick is not actually as important as people might have thought in the past.”

Why This Is So Exciting for Cosmos

Zaki jumped in to explain why this is so exciting for Cosmos:

“People may not know this but essentially the Tendermint transactions dissemination algorithm work has gotten almost no attention since probably about 2015-2016. It was part of the system that was implemented, it seemed good enough for the time and it’s been good enough for a while but one of the reasons why as a longtime Tendermint contributor I’m so excited to work with the Mysten team, this is just one of our opportunities to really modernize that entire subsystem and bring the modernization to that subsystem to the entire Cosmos. And I think, as George very eloquently explained, this is one of the major bottlenecks you can improve, and make a lot of progress, and get a lot of progress out of it, without having to necessarily swap out the consensus engine.”

George agrees and says:

“That’s right. Different consensus protocols on top of a Narwhal mempool of course will have subtly different properties. If you use just Proof of Work it will have different properties than if you use a more community-based consensus algorithm, more synchronous or asynchronous algorithm. I think that in the past because we conflated these two different functions— and to be fair the function that is difficult to get right is the consensus like this was scientifically a difficult thing. I think it’s a huge achievement of the computer science, academia, engineering community, the blockchain engineering community, that finally we can implement these things correctly. And that was really hard. Everybody was focusing on that and nobody paid attention to the front end, to dissemination. And it turns out that when it comes to performance rather than correctness, a lot of wins are there in the later, harder stages.”

The Vision for Improved Mempool Performance and Flexibility

The real strength of Cosmos is that not every blockchain in Cosmos has to be the same. Zaki explains:

“Some blockchains on the IBC network may choose to have everybody be able validate on Raspberry Pi, but there are going to be applications that are going to want to host global-scale financial systems. Sommelier is one of them, Terra, the Cosmos Hub have similar ambitions. In that environment what you want to do is you want to have data center class machines running at peak performance. And, so far we’ve seen because of these pieces of Cosmos because we focused so much on getting consensus right and IBC right we haven’t put as much resources into things like dissemination, the upper limits of scalability when the validator set is running a ten or 100 billion dollar network, the validators can afford to invest quite a bit in hardware and you can push the upper limits of throughput and vertical scaling of any Cosmos network to new heights.”

Is Parallel Execution Coming?

Mysten Labs’ CEO, Evan notes:

“We’re coming out of stealth in November. We’re super excited. There’s a group of us scientists and engineers we love working together. We had this idea together and we’re so excited to develop a new company and can’t wait to share more about what we’re going to be doing.”

Sommelier’s co-founder, Jack Zampolin, observes:

“This is also some work that the Tendermint core team has been doing for quite a while and the Mysten Labs work will intersect with that in some interesting ways. Basically what this is is right now a Tendermint application only has a couple of hooks into the consensus process, and that’s things like Begin Block, In Block, and Deliberate TX, Check TX as well -- it’s basically the entire surface area, the API, enabling applications to instrument the various phases of the consensus process opens up the possibility of doing things like the Gravity bridge in a much more consensus-native way. The work that the Mysten team is going to be doing to upgrade performance in Tendermint will touch a number of areas in the code and we hope that we can find some places where we can increase programmability along the way as well.”

Evan concludes:

“And, if I may add one more thing about the programmability aspect of our work. As I mentioned, pushing the sequencing of transactions rate up does not actually solve the whole problem. Eventually you will have to execute for these transitions. Most current, let’s say, smart contracts will not be able to do that at 100,000 transactions per second, or a million transactions per second, so, there has to be a more global re-thinking about what it means to actually execute once basically you can sequence at that rate. Which I think is going to be a very exciting collaboration we can have to think about these things.”

Jack adds: “That’s really well said. And, I think that parallel execution, which is sort of what you’re hinting at I think, is a really interesting area and we’re looking forward to working with your team on that.”

Stay Tuned

Evan offers a hint at future plans:

“We are planning to launch a network in 2022, currently it’s not a Cosmos-based chain, but it’s going to be something exciting. Stay tuned. What we’re hoping to do is fill the gap in the ecosystem. We want to build infrastructure bringing crypto to the consumer market, so stay tuned on that.”

Zaki notes:

”I think that if you’re launching a Layer 1 blockchain you should build it to be IBC compatible, it is by far the most permissionless way to onboard assets. I don’t really care if people run Tendermint or use the Cosmos SDK, but I do think that IBC is the best way to enable new Layer 1s to come to market.”

Sommelier is super excited to have Evan, George and their team work with Sommelier to bring a lot of the performance enhancements they delivered at Diem to Sommelier and the greater Cosmos ecosystem.

More articles


© 2024 Sommelier by Bajanss OÜ –Maakri 36-50, Tallinn, Estonia 10145

Bug Bounty
Privacy Policy
Documentation
Telegram
Discord
Twitter