A few weeks ago, I was invited on the Citizen Cosmos podcast where I chatted with Serej (from the Cyber project) and Ana (independent Cosmos-naut). We chatted a bit about latest developments and future of Cosmos, the Sikka validator, and our governance philosophies. It’s a nice update on the latest on what I’m working on and thinking about in crypto.
Take a listen!
Hey, it’s Citizen Cosmos. So we are Serej and Anna and we discover Cosmos by chatting with awesome people from various teams within the Cosmos ecosystem and the community. Join us if you are curious how dreams and ambitions become code.
Hi, today we have Sunny. Sunny is a Core Developer and a Researcher at Tendermint. He runs the Sikka Validator, he’s the co-founder of Blockchain at Berkeley, and a co-host at the Epicenter podcast. Am I right, Sunny? Is that everything? Did I miss something?
Sunny Aggarwal 0:39
No, that’s most of the important things.
Do you want to add anything about yourself? Say a little bit about yourself? Describe yourself in a different way, anything you like?
Sunny Aggarwal 0:49
Yeah, I’m just really passionate about blockchain because I was interested in combining computer science and political economy, and so I just got really interested in blockchain. I’ve been working on Cosmos for about – I started in summer of 2017. So it’s been almost three years now. It’s been a long time working on this project and I’m excited to see how it’s grown and developed since then.
Right. First question, it says on the Tendermint website, you’re a research scientist. Describe your role as you see it. What does it mean and in your own words, what is it you do?
Sunny Aggarwal 1:25
Yeah, it is sort of a little bit of a vague role, which in a way, I kind of like, because it allows me to have a lot of freedom to work on a bunch of different things. I would say, I describe my role in a couple of main things. One of them is I do a lot of sort of development: a lot of the Cosmos SDK development and design of the governance module and staking module and a lot of that stuff. I’ve done a lot of development and I help out the development team there when it makes sense. But then what I do prefer to do is, lately I’ve been doing less on the development side and more on the specs kind of side. And so I’ll go ahead and come up with designs and ideas for new specs, things – there are some of the things I have on the plate right now or things like proportional slashing, staking derivatives. I want to get out a spec for how to do crash interchain security and stuff. So kind of just coming up with these ideas and also sort of keeping in touch with researchers from other communities. I spent a lot of time talking to a lot of Ethereum researchers. I talked to Tezos researchers a lot. So keeping up with all the other communities as well. So that way, good ideas that come in from them can get applied to us and things, ideas that we have can get applied to their stuff. So that’s one of the things. The third thing that I would say I do a lot of is sort of community evangelism. I guess this kind of started from my time at Blockchain at Berkeley, where I really just like teaching. Blockchain at Berkeley started because me and two of my friends decided to teach a class at Berkeley, teaching students about blockchain and so I just really like teaching and explaining things to people. And so I kind of did a lot of that over the past couple of years. I did a lot of events and talks and conferences, and I like to go explain how Cosmos work. I really like doing that or giving analogies and metaphors to make that all work.
It sounds like you said communicating is your favorite part of your job? What drives you on the inside to communicate with people? I mean, is it a passion? Is it something you wanted to do from since you’re a child? What is it?
Sunny Aggarwal 3:25
Yeah, I don’t know. I really like the communicating part of it. I think what excites me the most about it is I really like to think about metaphors. When I can come up with a metaphor that helps explain things to someone, it just gets me super excited. Like the metaphor I often use for Cosmos is this sovereign nation-states and how development of blockchain is sort of similar to the development of societies of going from kingdoms to empires to nation states. I thought that’s very similar to how blockchains developed as well. For me, when a metaphor just clicks in place, I just go “Wow, that was so much fun. I just want to go share this with everyone”. So I think that kind of what it is and teaching people is fun. At Berkeley I, along with the blockchain class, I just really wanted to teach something. I taught the blockchain class for two semesters, and that was a very big class with hundreds of students, we had multiple teachers, and we had a very intense class. This one semester after that, I decided I wanted something much chiller, just by myself, I want to teach a small group of people. So, I just decided to teach a class in Switzerland for some reason. Yeah, I had 20 students come take the class. It was a fun class. I just really like taking something I’m passionate about and just explaining it and teaching it to people.
One question here, you said, you obviously teach a lot of students. Did any of your students create something that you were proud of in terms of blockchain?
Sunny Aggarwal 4:51
Yeah, a lot of the students from Blockchain at Berkeley have gone on and done a lot of really cool things. One I probably like to highlight a lot is – a couple of my students – Aparna, she was in the first batch of Blockchain at Berkeley students. Zubin Koticha, he was my little in Blockchain at Berkeley. So I was sort of his mentor, but he was smart enough that I didn’t really mentor him. We just became really close friends instead. We actually ended up living together last year. Alexis, they actually co-founded a startup called Open. It’s actually a pretty popular DeFi product on Ethereum in the past couple of months. They do sort of put options for insurance. I’d say they’re probably one of the coolest, it’s a cool thing that they did.
Are you proud of it though?
Sunny Aggarwal 5:37
Oh, yeah, totally. I mean, I think it’s really cool, you know. I think they’ve definitely found a really good product market fit there.
So you know, a lot of people ask you how you start your blockchain journey, but I’m going to ask you another question. What could you do if you didn’t start work with blockchain? So let’s imagine that in some words, you’re just not involved into blockchain sphere. What could you do?
Sunny Aggarwal 6:05
Yeah, that’s a good question. I’ve been actually thinking about that to myself lately a little bit as well. It’s like man, what if blockchain doesn’t exist? What would I be doing right now? I would say, probably before I got into blockchain I was – in high school, my passion was robotics. I was just doing robotics non-stop. When I got to college, like I said, I kind of started wanting to do something more in the interaction between computer science and political economy. So freshman year, I was doing some blockchain work after I started getting involved with that. But actually, what I was kind of really focused on freshman year was data visualization. My internship in college after freshman year, it was actually at a company where I did some data visualization stuff. My belief was that when it comes to political decision making, there’s a lot of data out there for people to make decisions off of, but at the end of the day, it’s still humans that are making the decisions. So if humans can’t comprehend the data in a way that’s actually human understandable, then all that data is kind of useless. So I was really interested in data visualization as a way of “how do we explain data insights to humans so that they can make better political decisions?” That’s probably what I’d be doing if blockchain wasn’t around.
Yeah, it’s cool. A lot of people in our team are really excited about robots. It’s cool to let people know how it should work, that it’s not something that we imagined, usually.
I was gonna ask you that later, but you kind of brought the question a little bit ahead, mentioning politics, governance, and so on. Obviously, somebody who follows the Cosmos ecosystem or just an average user or a very active user can see that you’re quite involved in the governance process. Is that because of what you just explained, or is there something else behind it as well?
Sunny Aggarwal 8:01
Similar to what I explained where I just really find governance and politics very fascinating. That’s kind of why I got into blockchain. I see blockchain as a way of helping solve coordination problems. So I think better on chain governance systems is the best way. You know, it is one method of solving coordination problems. And so that I like to be very actively involved in that process.
Would you say that the design that Tendermint has created so far succeeded in governance, or failed, or in the middle?
Sunny Aggarwal 8:40
It’s an absolute MVP of governance, it was just “Here’s some voting on chain and by tokens.” It’s extremely primitive. I think there’s a lot more sort of exploration that has to be done in the governance space. What we have right now is just one of the first earliest blockchains that has an on chain governance. You know, there are earlier ones as well of course, Decred and Tezos and whatnot, at least the social – the norm is in Cosmos that we do have some sort of governance system and now it’s a matter of figuring out iterating on and improving it. You know, I’m really interested in exploring things like futarchy, and I’d like to see more of liquid democracy style stuff in Cosmos where you shouldn’t always have to be delegating your vote to your validator. I think that’s a little bit silly. Eventually you should be able to delegate to anyone on and you should be able to delegate to different people on different topics.
Definitely I agree with you. It was a very interesting experiment. And well, not was – is. And I’m interested to hear your thoughts about it. I wasn’t gonna bring it up. But now you bring a lot of governance up anyways, long story short, I can’t remember the name of the consensus what they called it, but it was definitely on the ether and what they did in order to increase the participation in governance is they introduced a second layer of token for the governance, which didn’t have a lot of money, monetary value, but the idea was that you could bet on the outcome of a governance proposal and it didn’t affect the governance proposal. You staked it, but you could still kind of create a second layer market on top of that. I don’t know what it was called really forgotten, but what do you think about an assumption like this? Is that too silly, too speculative or interesting?
Sunny Aggarwal 10:31
I think that is interesting. I mean, one thing is, in a sense, it sort of turns a little bit into a bribery market. I mean, the general rule is any sort of betting market on chain is by nature usually also a bribery market. I think this is interesting where let’s say things like the Fed today right, people are currently criticizing the Fed for, money printer goes BRRR. Besides that specifically, but I think something like more futarchic does make sense for influencing the Fed’s actions where I think the Fed is not going to anytime soon give up all control over, “Oh, you know, we’re just gonna let this, futarchy system run everything”, but it’s valuable. It could be valuable as sort of an advisory system for the Fed and if they decide to go against the market, they have to have a really good justification of why they want to enact a policy that’s different than what the futarchy market suggests. I think your futarchy as an advisory system does sort of make a lot of sense.
What do you think in terms of like, if we move from futarchy, but let’s stay in the same context. But I mean, I’ve been following blockchain for about probably nearly 10 years now. And we’ve been working on different projects and so on and so forth. And one thing I have realized is that actually was completed yesterday with Anna, the more decentralized the project is, the more difficult it becomes to have what I would call good governance. You know what I mean? Like it’s more difficult it becomes to govern the project because you have more opinions, you have more stakes, what are your thoughts about it?
Can I add that it’s some costs of governance, this MOU spent a lot of time to come to some arrangement.
Sunny Aggarwal 12:24
Yeah, as the number of stakeholders increases and voices, you know, it definitely does become harder. I don’t know. I guess one interesting thing. I never considered that until you just asked this question. But I feel governance got easier on the Cosmos hub after launch. I felt there was a lot more disputes over certain design decisions and stuff within the Tendermint team while we were launching the hub, right? In retrospect, some of the arguments were sort of so silly. I remember we’ve gotten into an argument about, “oh, how big should the memo field size be” and it’s dumb things like that. And then I feel after launch, somehow all those arguments stopped happening. I don’t know, maybe there’s a rule where, as you scale up the size of the governance system, you naturally end up just sort of pruning away some of the less important stuff. And so, you kind of become aware that look, I’m not going to go make a governance proposal to go change the size of the memo field, you know. Am I really going to be the person who’s gonna make all these thousands and thousands of Cosmos participants vote on this thing? Yeah. So I think what ends up happening is when you have these larger governance systems, some of these more minute details, you end up having to delegate them to more specialized sort of sub team people. How I’d like to see Cosmos Hub upgrades happen is we will for any sort of major feature change, we should have a specialized governance proposal for it. But then there’s all these sort of minor changes that happen as well. I think whenever it’s time to upgrade the chain before that we should make one governance proposal and, “here’s a list of all the minor changes that have been made, and so, if you approve this, it doesn’t make sense to sort of vote on every single small one of those.” And so changing the memo field size, maybe we’ll just get put into that one. If people have disputes on any sort of specific minor thing, then they could go ahead and raise it but you just have to be more selective when your governance system becomes larger.
I see what you mean. By the way, the consensus is just suddenly remembered. It’s called holographic consensus if you’re interested to check it out. But this is just something to keep in mind. Back to governance. One more question before we move ahead. The first episode we recorded was actually with Gavin from Figma Network, and it’s actually been released. I think I’ve seen you on the governance working groups calls as well. What are your thoughts about that idea, is it gonna work? Does it need improvement?
Sunny Aggarwal 15:18
I think probably the most useful thing that I hope to get out of it, is the documentation that Gavin mentioned where I think just having documentation on how the governance process works, and what all the parameters do. I think that probably, one of the most valuable things I will come off of it. Then, it’s good to be able to delegate how to upgrade the governance system itself to a specialized working group. I’m not quite sure if that’s really what they’ve been doing up until now or not, but I think that was meant to come later in their road map. I think the earlier stuff was getting the documentation and stuff working. What I would like to see that working group start to do is come up with designs for how to do that liquid democracy stuff and really take ownership of improving that specific module and that part.
Let’s talk about Sikka for a minute here. I mean, Sikka, is if not one of the most popular validators, it’s definitely one of the most powerful in terms of stake. Did you plan for it to be successful? Was it just an experiment? Tell us the story.
Sunny Aggarwal 16:34
Yeah, I guess it was a little bit of a surprise. I started working on Sikka because, I remember the Bitcoin scaling debates. What I saw from that was it turned into this very miners on one side versus the core developers on the other side. I started Sikka because I wanted to be able to wear both hats. I just saw that one point down the road, there might become a situation where the core developers and the validators are standoff against each other. I don’t know what it will be caused by maybe proportional slashing. I wanted to be able to have the experience of being not only a core developer but also being a validator. So one, I can understand what the process of being a validator is, and so I know that these are the kind of things that validators are thinking, or what they’re worried about. So that way, I have that understanding. Also, I have some more influence on that side as well. So that way, by being a validator, I can represent the validators’ opinions as well and be able to influence them better than I could if I was only a core developer. That’s why Sikka originally started. It was meant to just be that and then over time, I think we just kept gaining more and more delegation, partially because of our original zero fee plan. Partially because I was well known in the space and so got a lot of delegation from that. A combination of things and so it just grew bigger and bigger. Dev, he has also worked at Tendermint for a little bit. He and I were running it together. Yeah, at some point, we were just like, wow, this is bigger than either of us expected and so we’re trying to figure out now what’s the next steps for it and how to continue growing Sikka. It’s hard to tell what’s gonna happen with the validation space, especially exchanges and stuff entering. So we’re still figuring out what the next steps for Sikka are.
While we’re on the matter of Sikka, I’ve seen in your project list it’s a bit unusual, usually the validators take a little bit boring, but usually most of them are. In terms of delays their projects and it’s all like projects from the same space, you have two interesting things. So let’s go one by one first is Grin. What do you think about nimble wimble, what’s your thoughts?
Sunny Aggarwal 19:11
With Grin, the part that excited me was not so much actually the nimble wimble part. I think nimble wimble is a cool idea, but it’s not that much. I think coda stuff and zero knowledge proofs are much more powerful. What excited me about Grin was, at least a year ago was movement behind it. I felt the story was right. It was the most Bitcoin story that had come out in the crypto space where this anonymous text file that was just dropped on the Bitcoin IRC with this idea. Then some other anonymous person came up and built up a team to develop it and a lot of the core developers at that time were still anonymous as well. They were developing it and starting from zero and everything. What I liked about it was the monetary policy. They do 60 Grin per minute till the end of time. I think that’s much more reasonable than bitcoins like deflationary thing. This is still technically deflationary, but it’s a sort of different type of deflationary.
You’re stealing our questions, Sonny. Stop it.
You’re always answering the question ahead. He knows I have a question, Oh, my God, he keeps doing this again and again.
Do you feel that storytelling can store behind the project is one of the most powerful parts or one of the most important parts for the project?
Sunny Aggarwal 20:44
Yeah, I think so. At least cryptocurrencies are sort of heavily a meme and they’re a religion. I mean, all currency is a religion, right? 100%. Yeah, one of my favorite speeches from American history, it’s called the Cross Gold speech. It was a speech by William Jennings Bryan in 1896 or something. He was kind of equating the sort of undying devotion to the gold standard that people had back then to Christianity. Even the belief in gold is also a religion as well, and all currencies are religion. I think the narrative is very important.
That’s really cool that you said that because a lot of what we do has a lot to do with it. I’m not going to pull over the quilt on myself, but it’s really interesting that you said that. Back to economics a little bit and back to your projects and Sikka. I’ve got a little bit of a strange question. The second interesting project, which doesn’t fit into the box, is Straightedge and I’m sure I’ve heard one of the episodes of Epicenter and you criticize the distribution of Edgeware and you did rightfully sell my opinion. What do you think would be the perfect distribution process in terms of a decentralized crypto project?
Sunny Aggarwal 22:04
I don’t know what the perfect distribution is because I give you an interesting distribution. I don’t know if it’s the perfect distribution, but here’s an interesting one. I’m helping out with productionizing Ethermint right now, which is our EVM on the Cosmos SDK. For this chain, we want to have a distribution for it. We want to distribute it to Ethereum stakeholders in some way, right. Who are those stakeholders? Maybe holders, maybe some other people. The thing that I got into an argument with Edgeware was about the way they did some stuff in a very sneaky way. One of the things that they claimed was they want to distribute to developers. And I’m like, okay, that’s interesting. How do we distribute to Ethereum developers? So what I did was, I actually wrote up a blog post on this, and it’s called the Gas Drop. What you would do there, is you distribute. So the question is, we want to distribute to Ethereum smart contract developers, and we want to distribute more tokens to people whose contracts were more useful. So how do we do this? I think what we could do is, look how much gas was spent interacting with each contract. You could say that, the most useful contracts, you let the market decide what’s useful, and if it’s useful, people are willing to spend money on gas to interact with it. So you could say something like, uni swap it. Look how much gas was spent interacting with this contract. It means it’s providing value. You can also benefit composability here as well. Let’s say the gnosis multisig contract, right. Probably people don’t spend a lot of gas interacting with it, because it’s pretty likely you think you can just use it, and then you make a transaction doing something else. It’s probably one of the most useful contracts on Ethereum. So maybe what you want to do is also take into account in a transaction, this much gas was spent the gnosis multisig was in that contract in that execution. Let’s give it some value for how much other interaction Ethereum that this contract enabled. If that makes sense.
It does make sense. I’ve read your post actually and saw it was interesting. We did our drop a little bit before it and we did it to the user specter rather than to a specific target group, but it’s really interesting and I would love to see somebody implement it and try it out.
Sunny Aggarwal 24:40
Yeah, it’s definitely not a perfect distribution, but I think it’s an interesting distribution.
Oh, definitely. Definitely. Going to be provocative here. Do you think game of stakes was successful on distribution?
Sunny Aggarwal 24:51
On distribution, yes. I think that game of stakes had a couple of goals, and it accomplished some of them and it did not accomplish. It failed at some of them. The Cosmos fundraiser happened all the way back in April 2017 and after that there were a lot of entities that came up and wanted to become validators but they didn’t have any atoms. I think game stakes was pretty successful in distributing atoms to these want-to-be validators. I think it was successful at that. I think it was successful at helping us test our software. Like throughout the game of stakes process, we found so many bugs, and we’re able to rapidly fix them and that was a good process. I think the thing that it was unsuccessful at was getting validators to improve their security because I think there were certain design choices that we made. So for example, this hyper vapid inflation of game of stakes, it was 2,000% a day or something. I don’t remember what it was. It forced everyone to have a hot script that would automatically withdraw the rewards and redelegate them. But the problem is, that’s not what you want to be happening. That’s not helping you practice your operational security at all. I think that’s one thing where game of stakes sort of fell short, in my opinion. I don’t think anyone was running in their actual production environment or anything like that.
This is really funny, but the first question that’s one of the validators in our test nets asks us, give us a script. It was exactly that and we were like, what guys? Anyways, what do you think about multi signature validation? There are obviously two ways of doing this. Let’s say there is one way of having an operator which would be multi signature and having a one single machine to do the computation. And then there is the more complicated way I would love to see like a real multi signature validator. We have three different machines going forward, and I think that would be something big level operations. In terms of security, I’m not sure about the costs, obviously, because I think the costs here would be crazy.
Sunny Aggarwal 27:04
So do you mean, let’s say I split my validation key across multiple servers and they have some sort of consensus between them? What is your attack model here? Are you worried about Byzantine failure of one of the validator nodes or crash failure of one of the nodes?
Well, I think both and rarely, because obviously, in terms of Byzantine failure, a thing that might actually add to the attack, because one of the operators or two of the operators might be Byzantine. I kind of ruined the whole story. But let’s imagine that they’re not Byzantine. Let’s just imagine for the sake of it. For the sake of theory, is it something that would be possible at all? It’s good to hear feedback.
Sunny Aggarwal 27:44
I have a design for how to do this. I haven’t implemented it yet, but I’d like to eventually. Some of the validators already do for sure. This one, I believe they actually use RAFT. They have a couple of validator nodes and they use RAFT between their nodes before they sign the validator. I think that’s pretty interesting. I think I have a solution that’s even simpler or better than using raft between the validators. You have this high communication overhead within your system before you can make nodes, A sign every single block. You also need to have at least three nodes in order to do raft. So here’s my solution. Let’s say I had two validator nodes. Let’s say I had a primary and a backup, right? I want the primary to basically always be signing, and if it fails, you want the secondary, the backup to take its position. This would be simple to do if you had a perfect communication link, like a perfectly synchronous communication line between your two validators. But then the problem is we don’t because what if something happened between that wire that connects you to validators. Here’s the thing, we actually do have a perfectly synchronous communication link between the two nodes and it’s the blockchain itself. So, what you could do is you can make a simple rule. In Tendermint and in the Cosmos SDK staking module we kind of say, you can miss hundreds of blocks without getting in trouble, right? We can just make a simple rule that says, look, the primary is signing blocks always and the secondary is watching the blockchain. If the primary, if it ever sees 10 Tendermint blocks in which our signature is not on, the primary signature is not on it. It will start signing and what the primary will say is if I ever see 10 Tendermint blocks in a row, in which my signature is not there, I will shut off and never turn on again. I will not sign after that. This guarantees that there’s no situation in which there’s any block in which both the primary and the secondary tried to sign it.
That’s interesting. That’s interesting. Have you seen any similar implementations to what you say?
Sunny Aggarwal 30:18
No, I don’t think I’ve seen any similar implementations. I think Hyung from B Harvest might have proposed something a little bit similar. But his was a little bit more complex, as he was suggesting, actually making transactions on the chain letting that thing know. He had a similar insight of using the blockchain as a synchronous communication mechanism. But I think it was a little bit more complex than I thought it should be, because you don’t actually have to make transactions on the chain. You can just look at the signatures on the Tendermint block, which is what you’re supposed to be doing anyways.
Yeah, I will definitely ask him. I think we’re recording actually a couple of days and we started interrupting good.
Sunny Aggarwal 30:58
Yeah, and I mean, I’ve worked on this protocol, improving the design with the Chorus One team. You can even design it in such a way where you have it, so when your primary falls off and started shutting off, you can actually make it so it becomes a secondary. So you can always use these two nodes sort of as this, tag team thing it.
Makes sense. Makes sense. Validator things are quite complicated and interesting. I think it’s good to see that in the Cosmos ecosystem, a lot of users who are not validators get very curious about the work of the validators and get interested and they ask questions and I think it’s really good because I’ve seen a lot of other systems. For example, Bitcoin. I love Bitcoin but I don’t really hear Bitcoin user asking questions about what is the security of the Bitcoin nodes. I’ve never seen that on there. Well, sometimes you do, but I think in that system, it works better. Anyways, this is just so like thinking out loud. Going back to economics and Cosmos. Do you think that in general Cosmos has a good distribution?
Sunny Aggarwal 32:10
No, I think it could have been way better. I wasn’t really part of the project at that time. I joined about two or three months after the fundraiser. I didn’t actually participate in the fundraiser myself because I thought if someone showed it to me, and I looked at it, check out this Cosmos thing and I opened it up and I’m at that time, I was a complete Bitcoin maximalist. And so I opened it up and I looked at it, I’m like, oh, proof of steak, that thing doesn’t work. And so I turned it off, and I didn’t look at it. I think that the fundraiser could have been a little bit – the fact that it ran out in 17 minutes, no one really had a chance to – I think that could have been done better. That being said, it is what it is. I think the distribution has only been increasing since then, right? Once it goes on the market and a lot of the early participants, they took whatever increase in value that they could get. It’s been increasing since then. And you know, anyone who wants to be part of the system, there’s enough liquidity of atoms on the market that you can buy into it.
Do you think that the way to improve that is just going organic?
Sunny Aggarwal 33:29
Yeah, I think so. The other option is you could use governance to find if you want to inflate the supply and or use the community pool and distribute it. But it has to be very targeted. This is who we want to distribute it to for this reason, and I’m not sure who that would be for the Cosmos Hub. I do have a proposal for Kava. I made a proposal that they should increase the supply a little bit and distribute it to DAI holders. Because I think it’s a competitor bank to maker. Going back to the whole narrative thing. I think it’s an interesting narrative where you could say that, “Look, I don’t want to distribute to MKR holders, I want to go to DAI holders because the DAI holders are sort of this customer of the maker bank.” And so by air dropping to the DAI holders is you’re kind of be, “Hey, you guys are customers of that bank, come be partial owners of this bank.” I think that’s an interesting narrative pitch there that you could really sell. So I think it makes sense for Kava in that case, I’m not sure who would be the target. If we’re going to increase the distribution of an atom, we need to have a good articulated, this is who we’re going to do it to and why.
Yeah, it’s interesting. How do you think if we are just attract early adopters then or we have more than enough early adopters and we came to more typical users thinking about segmentation and all that kind of things?
Sunny Aggarwal 35:08
Right now, I feel that we’ve been kind of mostly focused not on increasing the distribution, but really building out IBC and stuff, and something that actually makes a distribution even useful in the first place. It seems a bit weird. Staking is not a product in itself. There’s so many validator companies who are like, “oh, come stake, and look, you’re gonna get this like 20% yield or whatever.” It’s not really. Staking itself isn’t a product and currently, the Cosmos Hub doesn’t have a real product yet. I think the first step before we try to tell people to buy into this thing is first, let’s build a product that’s actually worth having which is, will come through IBC and shared security and things like that.
If I understand you right, we are just at the beginning of a long, long way.
Sunny Aggarwal 36:11
Yeah, I think the Cosmos Hub has a lot to go. This IBC that’s going to be launched very soon. It’s the first step. IBC is just this bare bones communication layer. I hope we’re going to start to see a lot of development that has to come on top of IBC. It’s great to see that people like Agoric just had the proposal for how to improve IBC, and I think we’re going to see a lot more protocols being built on top of IBC. There’s a lot more to come.
What is the most exciting market that you can imagine with IBC usage right now? It’s something crazy, not talking transfer. It’s only something weird and something that excites residents, obviously we talk about IBC. We’re not talking about data transfer. We’re talking it’s just data. So obviously chain can exchange whatever they want unless they agree on the rules. So what is something that excites you? What kind of markets?
Sunny Aggarwal 37:09
Okay, here’s an interesting cool design I came up with which I like. So let’s imagine we have shared security, obviously shared securities, probably one of the most important IBC protocols that has to be built. So allowing the validator set of one chain to also validate another chain. Any validator set changes that happened here, you need to copy that validator set there. Any Byzantine faults that happen there, you send that data over IBC to this chain, so they can be slashed. That’s obviously one of the things but once you have that, let’s say you have the Cosmos hub that’s co-validating a bunch of these other chains. Let’s say one of the chains that they have is a CryptoKitties chain. You don’t want to move your monetary assets like your Bitcoin or your DAI or whatever to that chain. You want to store your money on the secure Cosmos Hub. How do you pay fees on that other chain? How do you pay fees on the CryptoKitties chain? So this is a fun idea, cool design I came up with how to pay fees for one of these chains on the Cosmos Hub. How you do it is the validator set of the Cosmos Hub, it can be represented as an account. What you can do is you can open a one way payment channel to that validator set on the Cosmos Hub. When you want to make a fee payment to make a transaction on that chain, you sign a payment channel update like increasing your payment there and you take that signed payment channel update and predict – normally in a transaction, in the fee field you just say you just put in an amount of money right and when it gets executed pulls out money from your account. But here instead, what you’re going to do is you’re just going to put a signed payment channel update in the transaction. The validators, when they get that transaction, they can see “Oh yup, this is a valid payment channel update to our thing over there that’s added to that, let’s provide that transaction.” But now what’s to stop them from taking that sign channel update and just executing that closing the payment channel. Why do they actually have to include the transaction? So what you can do is use IBC for this where you could say, “look, if you have the latest sign channel update, you also have to prove that the transaction that that’s related to actually did make it into the other chain.” I call this conditional payment channel where it’s a payment channel payment that’s conditional on something happening. So in this case, it’s conditional on an IBC proof of a transaction actually being included.
That’s interesting. I hear a lot of people describe it as TCP IP. To me, it resembles HTTP more because what do we use HTTP for to communicate between databases. What is IBC? The same but it’s centralized in a more secure way to communicate and incentive between databases. This is a perfect example of something that would work. I can’t imagine the implementation as good as you do. A question on a different note, I follow Solana a little bit as well. Solana obviously because they use GPUs like we do. Probably the only two projects in POS that use GPUs. I’ve heard your talk on the Solana podcast with Anatoly. What are your thoughts about validators in GPUs? Is that big no no? Is that something that can be useful of the computations?
I don’t have an issue with validators and GPUs. My concern is when it comes to normal full nodes and light nodes and especially light client. If you have a system that has intense hardware requirements for running a validator or even if it’s for running a full node. You want to make sure you have really good solid light clients. With Solana at least I hadn’t seen any sort of light client specification on how to do that properly. It makes a lot of sense for blockchain operators to have sophisticated hardware but as long as whether it’s using zero knowledge proof or if it’s using some sort of just really good light client system, or something to make sure that the average user shouldn’t be required to have that sort of hardware or they shouldn’t be relying on trusting a full node. They should be able to verify themselves or somewhat.
Yeah, definitely 100%. Before I ask another question which I did have but now you’re getting another question. What do you think about something like Iota for example then where a user verifies? Not Iota as the team behind Iota and all that but as the verifying part of Iota what do you think about it then? Where each used to verify random transactions and then it goes on and goes on.
Sunny Aggarwal 42:01
I think it makes sense. Iota idea was very interesting. By the way, the Iota team kind of hates me. We had a hard language early on. If you go check out Youtube I probably have the most viewed technical presentation on Iota on Youtube. It’s an interesting idea but the point that I took the most offense to is their whole thing of saying “Oh it’s zero fee”. I show that, no, inevitably in the system there will be fees. It should have come as out of bond of payments for fees but it’s gonna happen. That being said, so I think Avalanche, it’s sort of Iota done right. When Gun first told me about Avalanche protocol, he described it to me and I’m “wait this sounds extremely similar to Iota” and he said, “yeah” it’s probably what’s most similar to. I think Iota had some interesting ideas and I think that’s really cool. When it comes to Avalanche, I’m actually very excited about Avalanche for a sort of weird reason. I think I mentioned it in Solana’s podcast but I think you can do web of trust as a civil resistance mechanism using Avalanche. I don’t think you need proof of stake or proof of work or proof of storage or anything like that. I think you can actually do a web of trust-based consensus protocol.
It’s really interesting. Before I heard this space in 2018 or 2017 or early 2018. It was more of a theological fantasy article. How will consensuses evolve and then suddenly, after I write this article, I just see he’s featured in Youtube and then I’m like “What? How did I get it?” I mean those exactly spot on and it’s interesting that he talked about the same thing. What else afar from Avalanche surprises you right now? Nothing Cosmos related Blockchain space, no big projects. Forget about Iota, theory on bitcoin and whatever. What surprises you lately? What project or what technology?
Sunny Aggarwal 44:06
Good question. It’s not new, but it’s something I’m pretty trying to get more involved with. I really love Interledger. Interledger is such an elegant lead design protocol and I wish it had more adoption and usage. Sikka would like to get more involved with that project and I’m working on that. If people don’t know what it is then definitely check it out. “Wow this is super well-designed.”
I’ve never heard about it. What did they do in two words? This is strange for me because I usually know all the projects, I’m like what the hell? I don’t know this project. What is it?
Sunny Aggarwal 44:50
Interledger fixes all the problems with Lightning. Where Lightning uses the hash timelock contracts. Lightning has so many issues with it. The fact that you can sort of dost the network for free. I think Lightning doesn’t actually work because of that reason. If I could just lock up the creditee and not pay anything for it. It breaks protocol. What Interledger does is it uses something called streaming payment. Let’s say I wanted something with Anna and we’re going through you. What we could do is instead of using hash timelock contracts, we can use streaming payments. Which means I’ll send you 5 cents, and then you send Anna 5 cents. I’ll send you 5 cents, you send Anna 5 cents. I’ll send you 5 cents, you send Anna 5 cents. And so if at any point, you go malicious and disappear, “Oh no! You got away with 5 cents.” No one’s gonna pair with you anymore after this. It’s like using a little bit of trust in the system. You can actually make it a much more well-designed protocol. The reason it’s called Interledger, is because you can imagine this being used for one payment, like a secondary network on top of one currency, but you can also actually use this for streaming between currency. Let’s say I wanted to send BTC and you wanted to receive ETH. You could use that same streaming payment because I could be one of nodes in the middle. Send me a couple cents of BTC, I’ll send a couple cents worth of ETH, you send me a couple cents of BTC. Interledger is designed is it’s sort of clearing network layer for payments and then you can settle to any sort of settlement system you want. Rather, you could settle to a layer 1 blockchain, you could settle to a payment channel or you could settle to Venmo if you wanted to. You could settle to all of these different things. I think it’s sort of the best designed payments networks possible.
That’s interesting. I’m gonna check it out definitely.
Yeah, I have one more question. Who do you tell us about Sunny AI Twitter?
Sunny Aggarwal 47:08
Yeah, sure. I was reading a blog post called Money Stuff. He’s making fun of VC Twitter and all this thought leadership and stuff that they do. He was saying, “Well you know, if the goal of VC is just to get maximum deal flow and Twitter helps him get that, he just probably just invests in making an AI that tweets out thought leadership for them.” I thought that was funny and so I started looking into it. I found about GPT 2 which people actually have written bots. There’s this guy, his name is Max. He works at Buzz. He’s a data scientist at Buzz Bee. And so puts together this blog post. It’s super simple to run and use and how to generate Tweets and train them on your own Twitter history. I just did that and started generating Tweets and I set up a bot that would automatically Tweets every couple hours. It will just Tweet out or generate Tweets, trained up on my own history. It’s really fun. My Twitter history is mostly crypto stuff and geography fun facts. It’s just generating and especially when it starts combining these things, it just gets really funny.
Yeah, it’s really a lot of fun.
I think I’ve seen books on Amazon that are called written with GPT 2. I think.
Sunny Aggarwal 48:40
Yeah, GPT 2. What’s cool about GPT 2 is all it’s doing, it’s just a patterned recondition. It’s saying, here’s a bunch of words that I’ve learned. The model that we’re using, they scanned it on all of Wikipedia and so many books. Like all the books that they can find and so they created this model. And then it’s just saying given these series of passwords, what’s likely to come next? But what’s cool is, this is a great blog called “Slate Star Codex”, it’s like a rationalist blog, it’s really great. One of the things he wrote about was what he gave us he trained GPT 2 on all past professional chess schemes. So all chess schemes are written in standard chess notation. In a way, you can consider that sort of a language. He trained it on every single past professional chess scheme he could find. He made up to play chess against himself. It’s just like guessing what moves do based off of patterned recondition of chess language. It wasn’t that good. He beat it but it made some good moves. I remember one he’s like “Oh it took my work and I wasn’t expecting it,” it made some good moves. What’s cool about this is, this AI has no concept of what chess is. Chess was possibly around in 1997 when they beat the human, right? This bot has no concept of the game of chess. It doesn’t understand the 2D board. It doesn’t understand anything. All it understands is chess notation language. In a weird way it’s sort of a general AI. I wonder if you can describe anything as a language, you can train this bot to understand it.
Yeah, it’s really interesting because I think quickly you could probably describe it’s a language right, whether there is emotion or algorithm, and at the end of the day, it’s an algorithm whatever it is. One last question I have for you. Coming back to Cosmos, what is the thing that you’d like to see in a year’s time in Cosmos that’s going to affect everyone that’s using Cosmos best. Positive note, I don’t know anything. What’s something exciting that you’re expecting to happen in Cosmos within a year?
Sunny Aggarwal 50:59
I think the most important for the Cosmos Hub is to get shared security. There are some applications that I want to build the Cosmos chain for and I wanted that Cosmos is SDK based. But I don’t want to do a proof of stake token because the idea I’m gonna have is very simple utility change almost. I don’t want to launch a token for that. The beautiful thing about Ethereum is I have a contract I want to write, I just deploy it. I think we need to get to that point with the Cosmos Hub as well. I think there’s a relatively very high barrier to entry for launching a Cosmos chain not because of the software development vary. It is a little bit harder than writing a smart contract, but for building something production ready probably should be writing on the Cosmos SDK. I think the main hurdle is doing that sort of distribution and stuff at getting a validator set community and all that. I think if you abstract a lot along the way, then you’re going to see a lot more change starting to build.
I would love to see more and more and more and more and more change. I think I’d love to see Aragon finally. I like Aragon. It’s been really cool chatting to you, Sunny and it’s really exciting to see that people who are involved regardless of whether they’re developers of Tendermint or not, think about the broader aspect of things rather than just concentrating of their own work and I’m really happy as a user, at least right, and not just somebody who’s making a project on Cosmos that’s another story, but the user I think is definitely kind of makes me happy.
Sunny Aggarwal 52:44
Awesome, thanks for having me on!
Thanks for your time!