#citizenweb3 Episode link: https://www.citizenweb3.com/tess Episode name: Tess Rinearson, software development and Interchain Episode transcript: Hey it's Citizen Cosmos. We are Serj 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're curious how dreams and ambitions become code basically the way to think about what i do is i am the engineering manager at the top of the engineering organization would you say that basically that means you're trying to find the cocktail which gives you the best drunken state without the hangover core as a system i think it's one of the most elegant solutions to distributed consensus i would not be working on it if i didn't think it was amazing there is one thing that gives me a little bit of pause about it which is that your voting power is correlated to like how much of the token you have decided to stake which is correlated to how much of the token you own so it encodes this bias towards people who are already participating in the system hey everyone welcome to a new episode of citizen cosmos and today we are joined by tess raynerson who is the vp at interchange game oh my god i really like got all of that confused so tess you gotta help me did i say that all correctly yeah i would say so i'm not german so i think it's game bay hop but ask a german if you want to make sure you get the pronunciation correct welcome anyways we're really glad to finally have you on we have been trying to chase you for a little bit but we finally found you i'm so excited to be chatting with you what a fun way to kick off the year how was it in 2021 is it better than 2020 well we had some snow so that was kind of exciting actually my first berlin snow day i'm looking forward to the summer awesome we actually we're in berlin last year we spent some of the winter in berlin we went to the chaos communication congress and then we spent a few months in spring and summer and yes the summer is much better in berlin than the winter time but it's amazing anyways usually we start with talking about the role of the guest but if you don't mind we're gonna start a little bit differently with your professional preferences and we found some info about your engineering background on medium your manager's work a chain you're obviously a researcher you write a lot of amazing articles you tweet a lot of really cool stuff so who is tess and what does she do yeah totally what a fun and honestly open-ended question but yeah i started my career basically as an engineer at medium so i actually dropped out of college to join medium when it was quite small and that was just honestly an amazing place to begin my career learned so much from the team there but after i'd been there for about two years i started feeling like i just wanted to get deeper on databases and systems because i just started to feel like drawn towards those things and so at that point it was like early 2015. and i was kind of like looking around and i don't know how long the two of you have been in the blockchain space but like you might remember that that was kind of the beginning of the blockchain not bitcoin era it was kind of like the blockchain whatever that was it was like emerging as this kind of novel distributed database and so i was really drawn to that idea i ended up joining a company called chain which was very very small at the time i think it was like eight people i stayed with that team for several years actually but in my time there we worked on like lots of different things so when i joined chain it was actually like a bitcoin api like developer tools on top of bitcoin itself but the company explored like a pretty wide variety of different blockchain products so after the bitcoin api then we did this thing with this protocol called open assets which would let you move third party assets on top of the bitcoin blockchain using the metadata fields in transactions then we wrote like our own blockchain protocol and sort of did this enterprise blockchain thing for a while even did like a cloud hosted kind of ledger distributed ledger solution for people none of those things panned out ultimately although it was an amazing learning experience and the team there was just like full of so many brilliant brilliant wonderful people but that team basically got aqua hired into the stellar ecosystem so we went and we joined this company called interstellar which is the for-profit side of the stellar ecosystem so sort of this in the same way that on the cosmos ecosystem we have a lot of different entities doing different things kind of similar things happening in the stellar ecosystem and so i did that for a little while which is the vp of engineering for that company and did a whole lot of different things sort of in that role but one of the things that i did was work with like the research team there so i would not say that i myself am a researcher but i did have the joy and the pleasure of working with the team of really amazing researchers who are doing very very cool things with zero knowledge proofs and integrating that into the stellar ecosystem after i decided to leave interstellar i actually really wanted to move to berlin that was like a huge thing for me too i kind of always wanted to live in berlin since i visited the first time when i was a teenager and i just like knew that i wanted to live here someday and i had been following the tendermint project for a while specifically tendermint core the consensus engine because when i had been at chain and like i said we had our own blockchain that was like for enterprise teams for a while one of the things that we were looking into and trying to make a choice about was what kind of consensus model we wanted to use and that actually was kind of like the beginning of my interest and kind of the soft spot that i developed and that i just carried with me for consensus algorithms and for distributed consensus and one of the papers i read when i was getting into that was a very very early version of the tendermint white paper again specifically about the consensus piece because that was something that we were looking into and thinking about using for chain and ultimately we decided not to use it for two reasons one was that it was overkill for the use case we were looking at because we were really looking at these closed networks or like semi-closed networks that didn't really need the kind of heavyweight byzantine fault tolerance that something like tendermint core provides the other was that the paper like wasn't totally finished and it had to do's all over it because this is in i think maybe the very beginning of 2016 or like late 2015. and so it had to do's all over it and i was just like this project is not ready but i kept my eye on it and you know over the years i just like kind of watched it evolve and i always thought it was very cool so late 2019 i learned that they were looking for someone to come in and lead the tender core project from an engineering management perspective and that that team was working out of berlin it was just this perfect match like stars aligned so i came over and joined the project in late 2019 and then in early 2020 some of the core engineering teams spun out of tendermint inc into this new core development open source oriented company called interchain gambeha and so that's where i've been since the beginning of last year that's a really luck for all the stars to get aligned and you ended up in berlin and wow that's cool when dreams come true isn't it i was just going to say about your background i know that obviously the listeners they can't see it but in the background you have like a really burling to me it's a wheel of a bicycle and for me for some reason i associate berlin with bicycles on the wall i don't know why but i love berlin it's my favorite city in the world and i've traveled like the whole world and when i see it's like you're obviously late okay that's so funny yeah we have all of our bikes we have two people living in this apartment and three bikes of course and they're all on the walls and it is funny because like i think one of my favorite things about berlin is the cycling culture and the fact that it's just so normal and every day and i think if i were to move back to the us at some point like i think that might be one of the things would be hardest for me to adjust to because i'm just so attached to like going out just like riding my bike as my transport like in the u.s when you get on your bike you have to like put on your armor like you're like going into battle you know you put on your helmet you put on your high vis vest you put on all your lights and then you don't have to give the finger to anyone who tries to run you off the road okay not that i do that myself i'm very polite but no like it's just a totally different attitude towards cyclists and public space you just think about it you don't actually show them yeah i'm one of those people who i don't do confrontation very well like i just freeze up so you know that i'm not giving anyone the finger but like maybe i'm wishing i did afterwards you mentioned stella and berlin and interchange stella and bulletproofs i met a few years ago a guy called oleganza and i think maybe you're familiar right because obviously berlin stellar yeah i thought so yeah cool guy oleg and i joined chain around the same time in 2015. so he and i worked together on all of this stuff he was like the main architect for the chain protocol that i described and then he and i work also worked very closely together on the project that is now called slingshot which is stellar's zero knowledge proof on stellar solution him and adam buck were the first people after my seven or eight years being in blockchain who managed to explain cryptography in normal sense to me is like okay now that makes sense right it took me eight years to meet you guys and then suddenly i get it that is a great guy but let's keep it with you and not about alex you said that you attracted to the consensus and that's what kind of caught your eye at first when you saw the paper and so on and so forth but our personal bet was that you're attracted to cryptography more so this was our guess where we correct that's the first question i would say that i'm a little bit more on the distributed system side of things but i think cryptography is really cool and it's actually something that i've been interested in casual way for like a really long time even when i was in high school i took a math class that was set up such the students was for your last year of school and like you could kind of study whatever you wanted in part of that and the subject that i picked for my little two-week final project was like around cryptography so it's something that i've been interested in way before blockchain stuff in kind of a casual way but i think my background as an engineer as a computer science student before i quit college i was studying computer science but i think like that background again the sort of more like distributed systems piece of it the thing that resonates with me most deeply but i do really appreciate and admire the cryptographies but it also like sometimes for me is kind of black magic a lot of the bulletproof stuff that i was working on with oleg and others people would start talking about it or even one of the other amazing cryptographers i worked with on that team was a woman named kathy yoon and she was also amazing at explaining this stuff she could give talks to you know people who are technical but not cryptographers and explain it all the way through and it was one of those things where each step i'd be like i understand who you got from a to b but when i see a to z it still blows my mind every time i can follow each step but somehow the end result is still just like fantastic and magic and i can watch you do it but there's like i can't do that myself i'm not going to be cooking this stuff so that was also cool experience like as a manager because i could really support that team and help them out and they were also just doing things that i was completely incapable of doing on my own it's harsh it's working i mean what else do you want it's here there we go yeah the hashes are working i know exactly what you're talking about i think to be totally honest like the part of distributed systems that i truly am most excited about is the consensus algorithms right this question of how do you get a bunch of computers to agree on in the smallest form of the problem it's like one value but in this space of blockchains you kind of extrapolate that to a series of values and those series of values are the blocks in the blockchain but how do you get all these computers to come to agreement on something when you have all of these constraints and the constraints are like there's no central single point of truth obviously that's like a really really key part of these decentralized systems you might have some number of actors who are malicious you have an open network so anyone can join i think in some ways it's interesting because the other thing that i do that really is the bulk of my work is really in management and getting teams to work efficiently and getting people to work efficiently together and i think there actually are parallels there right because you're trying to get a group of people to come to an agreement on what they're going to do next and i guess as the manager maybe technically i do have the authority to say like this is what we're going to do but that's just not my style right my style is very much like i want to work with the whole group of people to figure out what we want to do together and the interesting thing with people is that you know who everyone is maybe your membership set is a little like can fluctuate a little bit but for the most part it's pretty fixed there is like some trust between all the people and at the end of the day you can just take a vote and one of the ways that i think about distributed consensus with computers is that it's the same thing you're trying to figure out how to take a vote but the problem is when you have these again membership sets like the computers can come and go basically it will or if you're trying to attack it you potentially spin up a bunch of new computers to be new voters you can't just take a majority vote you have to be more thoughtful about how you're going to construct your voting sets and so different consensus algorithms have different philosophies around how you want to construct this idea a voting set or the word that is usually is quorum so you want to figure out how to come to a quorum that idea for consensus algorithms of things like coming to forums or making these votes that idea is actually from traditional computer science it's not really a blockchain specific thing the thing that is a little bit more blockchain specific and and you'll see this i mean just to talk about like tender mccor tendermint core is a proof-of-stake consensus algorithm so that means basically that we leverage stake or like security deposits that have to put up we use those to construct the voting set so you have to like put up a certain amount of collateral before you can be included in the voting set and then if you misbehave you can be kicked out of the voting set and we take a bunch of your collateral and so we use this token as like an additional layer on top of this voting mechanism in order to make sure that it can actually function safe and effectively how far away are we in your opinion from the point where computations becomes provable and verifiable in a distributed manner we can say okay that's it we have a lot of consensus algorithms for work proof of authority proof stake whatever i'll tell you where it's coming from we spoke with zharkov he's amazing right he's just such a huge mind where you can get into it you know we were talking and talking and talking he's i guess more of a researcher and you coming again you're a researcher as well but like you said you're coming from a slightly different background so in your opinion when will we reach that point where we can say all the computation in the world is done in a probable verifiable and a distributed manner will we ever reach it that is actually not really a problem that i myself am thinking about so much and it's interesting that you mentioned zarko because he and i work pretty closely together actually we don't work for the same company but we collaborate and i think that's a great example of kind of the kinds of collaboration that happen in the cosmos ecosystem there's a really interesting dynamic between zarco's team which i really think of as the research team and my team which is more of like the implementation team where when it comes time to actually like make changes to the tendermint core spec or things like that it really is this like joint effort where they bring they're very academic you know there's a lot of academics on sarco's team and they really have a lot of experience writing formal specifications and things like that and then my team brings to the table this kind of more we're engineers so it's this really cool collaboration where each team brings something a little bit different to the table but together we produce something i think that's very quite amazing yeah i would say i'm not and my team is not really thinking about generally verifiable distributed computation although i think that is also a very interesting problem it's funny that you just mentioned the jar core and your collaboration because literally 10 minutes before the podcast me and anna made a small guess as to yours and jericho connection and we were absolutely spot on that he does the research and test does the implementation but it's still interesting because i mean we can see a lot of parallels i know it's crazy talk but it's like parallels with for example having a recipe for a dish and actually cooking a dish somebody might make you this recipe for a perfect cocktail from the bahamas but if i'm in russia there's no way i'll find those ingredients and be able to make this cocktail and that's the same thing with computations i mean you can make the research and say here's the research for modifications assurance audits whatever and then here's the guys who are implementing and saying well sorry yeah i mean in that analogy i would say maybe it's a little bit reductive to say like they do all the research they write all the specs because they have also implemented parts of tender and core they're also maybe not zarco's research team exactly but zarco's research team is within informal systems which is a company based in toronto and they have a team of engineers working on the rest implementation also so there's lots of different moving pieces and we all again work together but to go back to your recipe and cooking metaphor which i love i think you could say that generally these research teams have written a lot of recipes and the implementation teams have cooked a lot of things and so we come together to try to jointly write the recipe and then cook the cake no you don't cook cakes you bake cakes but you know what i'm saying it's a great correction that you made because i missed out on what you said there and you guys make the recipe together they don't just let you cook that's a great correction right yeah i'm just and we go back and forth and you know i think sometimes there are aspects of the protocol especially the consensus how exactly are both structured what information do you pass in a vote how do you identify misbehavior what kinds of evidence do you need to pass around the network as proof of misbehavior i mean that stuff can be really really finicky that's the kind of stuff where the research team really can be very hands-on in writing and updating the spec and a lot of that stuff they also are really formally verifying it using this formal verification tool and system if you've spoken to zarko he probably talked about this a bit as well but for anyone who is not familiar with these kinds of things basically the idea is that you can write something which is also called a spec but it's not an english language spec but it's like a programmatic specification of what the system is supposed to do and then you can put that through another program that verifies that this spec does what it's supposed to do so it's kind of like testing for your concept rather than for your implementation so you can make sure that your algorithm conceptually is correct and then when it comes time to actually test and verify the implementation you know we have lots of other tools for that too actually one of the things that is cool about tendermint core that we haven't really talked about that much and my team has sort of been saying maybe we should write about this maybe we should talk about this some more is that there are so many levels of testing and verification that we are working on like all the way through the life cycle of this project so i just talked about formal verification on the spec that happens at i would say like the most conceptual level it's not really tied to the implementation but we have all of these other kinds of testing that we do including on the implementation so one tool that we use that kind of tests the implementation or like the way that the implementation tests the concepts is a system called model based testing which leverages those formal models that are used for the formal verification and we can actually use those models that kind of come out of the formal verification process to generate test cases so just input and output test cases data and then we can write unit tests or integration tests on the implementation that check that it conforms to these inputs and outputs that came out of the formal model so that's another way that we tie it together we use another tool called jepson which tests that tendermint conforms to the consistency models that it says it conforms to so there's all these different models for distributed systems in terms of how they serialize transactions on them this is going to get really into the weeds if i don't if i don't stop now that's great it's gone it's great we love it but basically it like checks that tendermint makes certain guarantees around how blocks are ordered relative to each other right across the whole system and jepsen helps test that those blocks actually happen in the order that they say they do by spinning up these simulations that sometimes have you can inject faults and things like that so you can start a simulation and then tell the simulation to crash in a certain way it's called a split brain scenario where like half the network goes off and tries to do one thing and half the network tries to do another thing and when they come back together does the overall network conform to the consistency model that tendermint is supposed to so that's jepson and then of course we have kind of the normal unit tests integration tests and to end tests specifically where we like spin up all these different kinds of test nets that are in different configurations using different databases all kinds of things like that and just put it through its paces see what happens so we really are testing this stuff all the time in all of these ways and along all these different axes so we're thinking about like the correctness of the specification all the way down to does like a function that verifies the hash function does that behave the way it's supposed to it can be very specific so yeah that's something we actually don't talk about very often but i think it's a very cool thing we do if i was to narrow this down for the non-technical guys who will listen to this could you say that back to the knowledge of the recipe would you say that basically that means you're trying to find the cocktail which gives you the best drunken state gets you drunk really quickly really cheap and doesn't give you a hangover oh my gosh i'm not sure how to extend this metaphor no this was just you don't have to you don't have no no let me try one approach maybe it's like you want to say we want to make sure that the cocktail is tasty it uses the rest of the ingredients it says it's going to use maybe it gets you drunk appropriately it doesn't kill you like all these kinds of things but yeah you kind of want to test these different different attributes of the whole system ranging all the way from the very beginning to the final implementation and really those fine implementation details why are you guys a separate entity like i mean i know the story the public story right but i want to hear it from you and i'm sure other people know it as well but let's hear it from you why did you guys decide to make a separate entity this is one of those stories and things where like every person kind of has their own perspective on it like it's like many dimensional and each person kind of has their own dimension to it the way that i see it really is many projects were all housed within tendermint inc and around the time that i joined even there was a lot of discussion within tournament inc about the future of the company and which way it wanted to go and the prevailing by the end so hard i get confused by what year it is at the beginning of 2020 so a year ago it became clear where it seemed clear that tendermint inc was really focused on this project called virgo which has since been ended up playing less of a significant role but at the time that really looked like the future of the company and that wasn't necessarily super compatible with also doing this like core open source engineering honestly the virgo project was not super closely specified i think a lot of people had different ideas of what it was going to be or what it should be honestly there were some power struggles about this and it was just like a very distracting environment for core engineering work which is honestly i mean i love it it is my bread and butter but it should be boring and we wanted to create an equally boring company where this stuff could just happen with complete focus and without sort of like the distractions of uncertainty about like a product future or questions about where leadership wanted to take things we wanted to just really scope the focus of the team to maintaining these open source projects and shipping ibc doing all these things that we knew were really necessary from like an infrastructure perspective for the whole ecosystem but these things were not necessarily like the cool flashy end user products which we're very excited for we want to support them but we don't necessarily want to get pulled into all of that or kind of be too dependent on those things like we wanted to be independent enough that we could make the right decisions for these infrastructure projects as independent projects and not necessarily just to support a specific end user project or something like that that's my angle on it i think if you talk to different people they may tell you slightly different things but yeah that was that i mean and the cool thing is that we still work super super closely with tendermint inc they help us out a lot when it comes to any kind of like marketing thing for example we literally are a team of engineers if you go to interchange.berlin it looks like the website of like a computer science professor who like doesn't know how to write css because it was written by a bunch of engineers who like don't know how to write css including me let's be clear like i mostly made the website we don't know what we're doing with marketing or things like that so it's really amazing to be able to continue to collaborate with tournament inc because they are so good at that stuff but we can really for the most part focus on writing code and designing architecture and things like that i think it's been a really good symbiotic relationship one question is going to arise in that field you said that you mostly focus on engineering part yeah and on thinking about end user so how do you choose your path what you going to do next and what is going to be correct because for projects would communicate with end users it's a little bit more easy because you can go to users and ask them directly but in your case you don't have this channel yet to ask user what you think about engineering i would say we do have users i just would differentiate them from end users which more like consumers or people who are using like applications built on cosmos or built on other tenement-based blockchains so we do talk to our users but our users are like the cosmos sdk or like other blockchain frameworks often are our users which actually is like kind of amazing because it means that we can like we all speak the same language right like talk like blockchain people to each other so it actually is really easy and amazing in a lot of ways one thing that we are aware of that we're actually working on fixing right now is that we have basically like a few projects that we're in pretty close touch with we have shared select channels or we're all in discord together so we hear a lot from a few projects but we know that there's other projects that aren't as chatty with us and so one of the things we want to do this year is more proactive outreach to those people who are maybe not as active in our own channels so one of the things that like we're working on right now is putting together a survey to send to our users which is a really simple start but it's just something that like we hadn't been doing and i would say that kind of thing is also a downside of having a team that is like mostly engineers so entertain gambeha is a company right now it's like 12 engineers and then three people who are working in operations devrel grants all these things like they're doing a ton of stuff it's kind of like the ratio there and if you look at most other companies in the space like that is a very very heavy on the engineering that leads to a lot of things that are really lovely for us in a lot of ways we have a very meeting light culture for example because most people want to spend their time writing code we do have meetings but we make them very effective you know we're very efficient about it but anyway this is all a way of saying that sometimes there are aspects of like community outreach or user outreach that has fallen by the wayside a little bit but we are aware of that stuff and it is definitely something where we have like some targeted goals for 2021 about reaching out to users and hearing more from them do you end up doing more management or more researching yourself personally i do a mix of line management for the tundra core team which is to say like i manage engineers directly and then i also help out with the other engineering teams at entertain gambija so for example one of my teammates who reports to me is our new cosmos hub guy elite who's building out a team to be very focused on gaia so i would say it's pretty management my role right now is pretty management oriented by the way what is the difference between a vpe and a cto that's a great question um and that's like one of those things that i think is like a hotly debated question sometimes what i would say and the reason that i have the title vpe is that vpes are the people who make sure that the engineering organization is doing everything they should be doing shipping code on time shipping high quality code hiring the right people retaining people i don't want to say like just day-to-day operations but kind of making sure that stuff is happening in the way that it is supposed to be happening that's the vpe's role ctos i think that's actually a much more flexible title and can mean a lot of different things i have known ctos and worked for ctos where they didn't really have any reports their job was to try to make do speculative research on what technical direction the company should be going next i've also known ctos where their roles really they were like out of sales in a lot of ways they have a technical background and they know the tech inside and out but mostly what they do is like go to partner meetings and kind of present this like public facing side of the company public technical face and the things that i'm really passionate about honestly very internal and cultivating good relationships within the engineering team making sure that people are happy and well supported and getting the kinds of like professional development that they want to see in themselves that is stuff that i get really really excited about and very passionate about and so that's why i have the vpe position rather than a cto position if you go on the 2017 ico websites and everybody was a cto everybody was you know what's your profession i'm a cto i'm a ceo i'm a ceo so how am i going to tell you it was funny it was funny back then but thanks for explaining it because i was always contemplating that and i saw a lot of battles on the internet where people said no it's the city oh no it's a vpe it's interesting to hear a point of view of somebody who actually does the differences i think basically there are a lot of names that i could have for my current role like i could be head of engineering or i could be like director of engineering but basically the way to think about what i do is i am the engineering manager at the top of the engineering organization for entertaining gambe haw again pretty small engineering organization so it's pretty flat like there's only one or two levels below me again below with quotes but yeah that's the way to think about it my job is to make sure that we keep sailing the ship in the right direction yeah i would say that i do it the way that i make that happen is a mix of spending a lot of time talking to people 101 and making sure that they're not blocked by anything they know what they're doing i do some code review i do a lot of architecture review actually where i read our we have a very writing heavy culture where we spend a lot of time writing design documents and rfcs for the spec and things like that so i spent a lot of time reading those things and then to some extent i do a little bit of public interfacing for the team i write blog posts i give talks things like that but i really view my role as like shielding the team in a lot of ways from things that would be a distraction so i want to make sure that people can do their jobs and i'll try to take care of everything else i have the hard question of the talk i guess but i'm not sure it depends how you're gonna answer that as the vp of the company okay let's call it a company that works on the engine that makes it all work together what's your personal view on the evolution of the tendermint consistent engine where is it gonna go in the next one to five 25 years i always hated that question interviews where you want to be in 25 years definitely not here i don't know whatever like answer is the way you want to answer it yeah so what i would say is i do not know where it's going to be in 25 years there's like a radical approach to distributed consensus like we haven't come up yet that everyone adopts sometime in 25 years but i think what we have right now is pretty good and what i would say what we're really focused on this year is building a really solid foundation for future experiments so one of the funny things about tendermint core is that it as a project it's like seven years old it supports a billion dollars it's very much a real thing with very serious implications and it has not reached a 1.0 release yet so what this means for anyone who's maybe isn't super up to date with the nuances of software versioning what it means to not be 1.0 yet is that we haven't made any guarantees about what might change in the future that can be like a pretty difficult thing for users we're maybe trying to build on top of things if we release a new version and we've completely changed our apis we've really pulled the rug out from under our users and we actually just kind of did that with the last release so we just released tenerman 034 which is the release for this upcoming stargate upgrade and one of the things that o34 did was completely replace the encoding serialization library that we use what this meant for users was that the data we were sending across the wire was completely different format so completely incompatible i think this change was a really good change to make it was very important it really really improved performance the users who have switched this new version have sometimes said that like their throughput is like 60 higher so it's really has made huge differences for people and the old library was just like harder to use and not as well maintained and other things like that so this has been a really good change overall but it was a difficult change to adjust to at the same time or like making that adjustment was sometimes painful what we're really focusing on for this year is solidifying all of that kinds of stuff so all of our interfaces our apis we're really trying to hammer it down and finalize it that sounds a little bit boring but when you have a really long list of small improvements that you know you want to make or sometimes big improvements that you know you want to make that might impact those interfaces you have to get all of those and then solidify the interfaces and so that's really what we're focused on doing is getting all of the improvements in all the stuff that we know needs to go into this sort of stabilized form of tendermint putting it through its paces using all those testing techniques i described so we're really investing more aggressively in those things as well because we're just really trying to get to this point where tendermint is like super stable performant easy to use so that's the goal for the year which again maybe doesn't sound super radical but i think will be a big improvement for our users once we have that solid foundation i think then we're going to be able to take a step back and say okay are there any more radical changes that we might want to build on top of this product we'll have tendermint 1.0 at that point which will be like long-lived and stable do we want to kind of tie a bow on this and then take some of the things that we're most excited about from tendermint 1.0 and create a tendermint 2.0 that does have some radically different changes in some ways i'm being pretty speculative when i talk about stuff like that but the tldr is that we're really focused on getting to this very stable performant place and we do want to use it as a foundation then to do future explorations and do more research and that kind of thing before we go on i just want to make a small comment about serialization i don't know if you're familiar with orbit i love what they do with the sterilization so basically the orbit or operational system the number is going down and their strive is to get to zero zero will be the release which will not need any more like releases after that so basically now they started from let's say one and then it's 0.9 0.8 open so it's going down so they're right they took it like wow yeah they took it a different way have a look it's actually really cool i know it's nothing to do with tendermint i think that maybe speaks to a little bit of a philosophical definite difference also i really feel like software is not ever done you can put things into maintenance mode but there's always things to do and so i don't think i would ever yeah i'll just say maybe that's like one of several things i might disagree with the urban team on now there's actually more behind it but just the whole idea philosophical idea of going down then but yeah i see what you say you know that i feel that it's not so philosophical issue because it's very ambitious aim to stabilize the core i know that everyone who works with api or try to take care of any node knows how difficult it could be and it could be a nightmare if let's say the documentation or you have a big legacy in the code you sometimes have a long long nights without sleep trying to figure out what's really going on here yeah we don't want our users we don't want our users to ever have that experience and i would say i want to minimize that experience for my team we would love to discuss your story about medium social graph could you explain to us in a couple of words what is all about oh my gosh so that was a long time ago and i know it's changed actually so i know they've changed the way that they handle this but that is a cool project for me to talk about because that was one of the projects that helped me realize i was excited about systems and databases but basically one of the projects that i worked on when i was in engineering medium was the service like the web service that managed medium's social graph it was cool because it was this graph database which let you instead of modeling data in rows and tables in the way that a sql database would a relational database would it let you model data through relationships between objects and those objects could be like directional and the relationships could be like labeled in different ways so you actually can really build this graph like graph in the computer science sense of the word where you had people and all of their followers and so that was provided the foundation for medium's first like social recommendation features um so most of the time that i was at medium actually i worked on the recommendation team in general like the reader experience it was kind of my my home when i was there but for a while there weren't really like social features like the concept of following was something that didn't exist at first and so this social graph integrated in not just the idea that you could like follow people but also you could follow publications and things like that so that kind of set up this system we would then like recommend posts to you based on who you were following and what you were following so it's kind of mastermind that graph a little bit yeah yeah totally i mean the funny thing was that it worked really well except for we had one user who had a ton of followers and this is like not an uncommon problem in social networks right there's like sometimes one user the problem in this case is that our one user who had a ton of followers was f williams the founder and the ceo who also had been a founder of twitter which was partly why he had so many followers because we were like also importing people's twitter followers so he had a ton of followers he had like a million or so followers like everyone else had like a few thousand normally when you have one user who's an outlier it's not a problem because your boss isn't gonna see it but when that user is the boss then you have a problem so i actually don't remember exactly how we solved that problem or how we got around it i do remember that pretty vividly we were like this works great except for this one edge case oh and the edge case is the boss do you think that such things as the knowledge graph for example with medium are interventions into social communications or it's just the way it is and it helps people to communicate what do you mean when you say interventions well i'll give you an example that happened to me that that's all recently i don't know if you're uh heard of the chaos communication congress the ccc which is the biggest hacker congress the oldest one that happens in germany and last year 2020 obviously did it online and they did this the whole 2d world and you could pick the talks you wanted to listen to and as you picked the talks you wanted to listen to it gave you suggestions because [ __ ] sees this huge huge huge thing and there was this one person who gave a really interesting talk about the views on the work of the life of sex workers in germany and he got really upset and the first thing he got upset about because he came to the stage and he said that the system that suggested things the people who picked his stock was to do with drugs weapons and so on so often i'm sure that it wasn't done on purpose that's what they said but they said well i kind of get upset about it because that's intervention into what people are trying i mean do you see what i'm getting it and again this is devil's advocate question yeah totally i'm still a little bit not sure exactly what you mean is it intervention but i do think that when you build computer systems they often mirror things that are happening in the real world so i mentioned i work on a consensus algorithm from a technical side of things but i also spent a lot of time building consensus among people and it's funny because they kind of mirror each other in a lot of ways i think kind of in the same way often you can end up with computer systems that encode biases or relationships that also exist or are perceived to exist in the real world and i think one of the roles of people who are working on technology is to be really deliberate about what biases and hierarchies and relationships and power structures we encode in our systems because whatever we choose to replicate we're helping enforce and so to be honest one of the things that i love tendermint core as a system i think it's one of the most elegant solutions to distributed consensus i would not be working on it if i didn't think it was amazing there is one thing that gives me a little bit of pause about it which is that your voting power is correlated to like how much of the token you have decided to stake which is correlated to how much of the token you own so it encodes this bias towards people who are already participating in the system or who maybe already have a lot of money that's like not amazing right that is the downside to this and so i don't have an amazing solution to that and i don't necessarily have a solution to how do you build a social graph in a way that doesn't replicate pre-existing power structures that maybe we don't want to replicate especially since i'm not really thinking about this stuff anymore i don't really have answers to that but i do think it is a really a very real relationship and my ask of other builders would be to just be aware of it because i think having that awareness is the first step one last question into that part because i really want to hear your opinion do you think that decentralized knowledge graphs are the holy grail to solve those things knowledge graphs which will not be a black box intermediary opinion of somebody but will be the opinion of many is that kind of the holy grail here yeah i mean i think in some ways but again there's caveats and gotchas if you encode majority opinions always that can be by default oppressive to minority opinions and sometimes there are opinions that are knowledge or beliefs that is harmful right and you don't necessarily want to spread that you don't necessarily want to like suppress it either it's really really thorny stuff all the way around i would say i've had some conversations with people lately and i've heard some discussion around using decentralized moderation strategies because obviously free speech on the internet and yeah i don't even know free speech is the right word because i know that's such a government thing but you know a lot of people who are kind of in the decentralization space are concerned that centralized authorities even if those authorities are companies like twitter or facebook can censor their speech on their platforms i don't know if that's technically free speech or not but that's an issue that people have talked about and so i think one thing that's been come up a few times is this idea of like decentralized moderation or decentralized moderation policies where different groups can choose different moderation policies that they want to adhere to and though i really like the sort of sovereignty of that approach i also worry that that will contribute to the polarization that we're already seeing in the world right now like i'm an american there's like so much pullers it sometimes seems like people are just living in like different worlds even if you look at something like the way people are talking about and reacting to the coronavirus people are just not seeing the same information they're processing it in totally different ways and i do worry that like decentralized moderation policies could make that dynamic even more dangerous so i don't know i think there's some things that are really promising about it but there's always going to be caveats and there's always going to be things that you have to look out for and be careful about it's my favorite philosophic issue because i'm personally sure that the code is just reflection of our way of thinking and how we try to build the our society and in social terms actually we're still the same people as we were behind one or two hundred years ago yeah we're still in technical progress is much much faster that our social progress nowadays so it's my favorite question to discuss can we overcome our social limits with code and with the way we will construct our engineering system and how it will affect uh to our social behavior as well yeah we could probably spend another hour now we will let you go don't worry we will let you go you're a great person to talk to what can we say you have a lot of thoughts and you love hearing them could you name some projects this is like our traditional question that currently excites you but we're gonna ask you with a twist not just that currently excite you but you did in your opinion are at the advanced level of the technological implementations that they're doing and you cannot say cosmos on ibc that's too boring you have to like go other ways i think that the most advanced technologies are not necessarily the things that are going to be the most impactful right now so i think that there's a ton of really interesting cutting-edge research happening across the space ranging from cryptography stuff whether that's zero knowledge stuff or something else to even a lot of the like d5 economic experiments that are happening i think are very cutting edge but i don't know that those are the things that are going to actually make blockchains real which i realize is a little bit of a cheeky way of saying it the thing that i've been waiting for this whole time this whole time in the space is the moment where blockchains will kind of make the jump from blockchain nerds to people who maybe don't care that much about the implementation details or the technologies but are actually having their lives improved in some way by blockchain technology and i don't really think that's happened yet i think we are closer than ever and if i didn't think we weren't going to be there eventually i wouldn't be in this space so i think i'm confident will happen the thing that i'm starting to be excited about and i won't name specific projects but this is a trend that i'm starting to see that i think is very promising is are these tokens that are targeted towards very small groups of people so sometimes these are like what's called social tokens a thing that someone has minted for you to invest in themselves or like their art or their personal project i think there's also like community tokens that are targeted at like a very very small group of users or people one project that is an example of this although i do like them but i don't want to say that they're like the best or anything like that just an example of this trend is a project called the region network which is built on cosmos so maybe that disqualifies them anyway their target audience is like farmers who are farming in a regenerative way and farming in these like ecological practices and then they can use these tokens to incentivize people and reward people for following these practices and people who want to invest in the system can invest in it through their tokens and they actually have a very sophisticated like top to bottom stack that verifies all this stuff and all these things but that's an example of something where the user group is not that large in a lot of ways it's probably bigger than giving them credit for actually you know most tokens that we've seen so far are targeted at very very broad groups of people every human on the planet should be holding each or whatever and ethan's amazing but i think is amazing as like a conduit for a lot of these other projects and tokens that will be targeted at really small gruesome people and i think those really targeted micro tokens i can even see it being for like a group of friends or like a household of people who have to split utilities and flip groceries i could see these really really small tokens being the way that blockchains actually finally get their fingers in the rest of the world so that's the trend that i'm starting to see and that's the trend that i'm most excited about right now but for the whole i don't want to i don't really want to name any specific names that's a really cool answer actually it's most original so we hit definitely it's been a huge pleasure finally talking to you and hopefully we'll catch you again sometimes in the future this has been super fun super super fun conversation great questions yeah thank you so much for having me thank you thank you everyone and bye