hi everybody this is Charles hoskinson broadcasting live from warm sunny Colorado always warm Always Sunny sometimes Colorado today is September 26 2022 and I wanted to make a video to discuss a very important topic it's something actually we spent most of last week in some way discussing or connected to so as many of you know there's a huge amount of work right now going on behind the scenes about building the scaffolding for a members-based organization that basically serves as kind of the Hub and spoke that Aggregates the community it kind of determines the will of the community it comes up with strategies to help them get there and then it encourages people to execute them so the cool part about that is it's a way for everybody to share their voice now voice works in many different ways there's Twitter and there's Reddit and there's telegram there's also software uh and if we're gonna get to a healthy ecosystem we need to get to a point where we have a polyglut ecosystem which effectively means that there are multiple clients running concurrently with completely different Dev teams different philosophies different languages and frankly different USPS so there's this issue of well what is the canonical client of cardano and it's a very similar question to what is the canonical client of uh wallet of cardano uh and the answer should be none instead what the answer should be that we agree on standards and those standards have a robust testing framework and then we have two types of clients in wallets certified and uncertified so what I decided to do is make a video it's actually on the back of a poll that uh Rick McCracken good old Rick created for us and he has a hypothetical poll he said if DC spark put out a project Catalyst proposal for 8 million USD to build another Cardinal node implementation of rust and open source how would you vote and a lot of people said yeah that's interesting yeah I'll upvote it it's a fair question and so this is something actually we've been thinking about for a long time and we started here so this is a legacy project from the European Union it's called privilege and we actually received money to work alongside guard time IBM research University of tartu TV University of Solano University of Edinburgh and here's us input output and our contribution to that was this idea right here updatable blockchains from Nicos and Michaela aguilos and Dionysus and we had a long conversation basically about how does one create an ecosystem where you get security and good specification and great testing but at the same time you have multiple clock science so behind the scenes we've been working with a language called agda basically it's super Haskell and we've created a lot of infrastructure and we're starting to move in the direction where we're going to go from hypothetical infrastructure to applied infrastructure so here's kind of a whiteboard video hold on to your butts we're going to talk about a lot of stuff okay so basically what we want to do is with the MBO the members based organization it'll have this idea of sorry my pad is acting a little weird it'll have this idea of ctfs or cardano technical fellows something like that and basically these are people that kind of work on the core and they come from the community so they're members of community plus staff so they're not beholden to a particular company but rather they're either on loan to the members-based organization or they actually work for it but in any event basically what we can do is we can have this ACTA core and that would be a reference now it's not production okay so that's not its Point does not equal production so production is what you guys have right now with Daedalus and it has all kinds of extra code and all kinds of extra stuff and basically the point of that production is to ensure that your client is very fast so you know things like Fast uh you know secure uh you know some compatibility stuff uh there's going to be stuff off spec so proprietary things that are built into for that particular ecosystem uh and so forth like for example if DC spark did their own client I'd imagine they would probably build some special infrastructure to connect it to Flint wallet and make that an easy process whereas a reference wouldn't do that and it'd be the same for us for a node if we commercialized it we'd probably connect it to lace because you want a good user experience it's not really what a specification is about so the idea is that your CTs would maintain a core and they'd be able to very quickly link the Sip process all right to a formal core and then what happens is as the end of the Sip funnel as you go through all the stages of the Sip so sips are again cardano Improvement proposals okay so at the end of the funnel you get to a point where you say hey let's spec it and because this would be a formal spec with an active core what you can actually do is something called code extraction so what it does is that the specification gives you code that can serve as a reference for testing so we're still kind of putting these pieces together and then we'll do a big formal presentation but the basic idea is that you have your AG decor then you have your reference extracted code and then you'll have a little bit of other stuff so you'll have your reference update system okay and then you'll have your wallet certs and then you'll finally have your core cryptography because people probably shouldn't be rolling their own crypto we should consolidate on that and get those things done and this right here would serve as the reference framework for core cardano now you'd need in parallel something for utilities infrastructure and Integrations that's a different topic that's stuff like Rosetta and dbsync and so forth but for now when we talk about competing clients this is the way to go then you could take the Haskell client and start and say hey it's no longer canonical Haskell client is just the Haskell client then you could have a rust client you could have a typescript client etc etc and then there's just this question of are they certified or not so you could have you know some be certified and then you can have others not be so the basic idea is that the active core would have a small team maybe five to ten and as I said a combination of ctfs who are basically working straight for the MBO and then contributed developers like people from i o people from DC spark and they basically maintain a reference update system they maintain a reference set of extracted code they would prove properties about it and they'd also maintain a wallet certification plus the core cryptography of the system and then if anybody wants to build a client you the community you have to have that question of well how do I know my client is safe how do I know my client is compliant with the protocol I.E it's interoperable how do I know that the hard Fork combinator is going to work for that client so that when an update is triggered that all the clients update and so forth there's a lot of questions that a Community member would have and effectively what a certification process does is it gives you the agility of competition but then it gives you the safety of standards and what's really nice is that this Act of core because it's not production this is where all the dev time really is you know you can do stuff weeks here maybe months and over here you do stuff years because at the end of the rainbow we have to test it on many different platforms you have to ensure compatibility here this is all about saying that we have a ubiquitous standard we want to make sure that everybody is following that so this is where I'd like to move and and then I owe we'd be happy to continue if we get the economics right the Haskell client then we can add a lot more to it make it less canonical and more of a commercial client and then I'd like to see tough competition I'd love to see DC spark actually be the custodian of a full node rust client and I'd actually like to see at least one imperative client like a typescript client or a dart client or something like that to bring web Technologies alternatively it'd be really cool to do python because I think that has a lot of pedagogical value having a python client our ecosystem you see and then we just basically all contribute a few ctfs to the Core and then this gives some teeth to the SIP process because the last step of the Sip process would be to specify things inside the core we already have extremely efficient code extraction in fact James Chapman and others uh in our ecosystem are extremely good at this and they've written many papers about it and act has grown up a lot as as kind of a a good framework for this type of stuff and then we can talk a lot about what safety standards should exist then if you're a wallet developer so they say well what is an official wallet what should be listed on cardano dot org as a recommended wallet or any of the other media channels which were quite large basically you can just create a self-serve test that says anyone who is certified gets to be listed on cardano.org just that simple now how long would this take to get up well we're working real hard to get that MBO stood up and then try to get as much membership as possible and have the Community Serve on all the boards and then there'll be cool voting things and other things and there's a ton of governance stuff that's underway so voltaire's under heavy heavy development in parallel we've been beefing up our formal methods group and really setting these things going and there's a lot of excitement at i o right now about this uh this idea and my hope is that I can spin out a team as quickly as possible to start talking about what an act of core would look like under a new get repo that's controlled by the members-based organization and there's a lot of people that want to do this for a long time and you know they've worked towards it we still have an interesting question about utilities infrastructure and Integrations so the future of DB sync graphql the future of Rosetta blockchain Explorer smash a lot of this stuff and there's a lot of really cool Community stuff too like TX pipe and Scrolls and this type of stuff and I I think that they deserve a fair consideration so it would be nice if we had a notion of two types of technical fellows so you have some that work on utilities infrastructure and integration and some that work on core and then had some idea of a projects and programs group that would commit resources to a lot of this community stuff and then catalysts can also fund that pool and they're all can also be in kind contributions from companies in the cardano ecosystem where they contribute ctfs to work on it we certainly will but it gives a nice place for a lot of the canonical infrastructure or you know standard utilities infrastructure that's basically operating under an open core model so people would take it like they would Firefly and commercialize it their own way but I hope that helps everybody just to summarize you know I hope it wasn't too complex but the basic idea is that you kind of want a blueprint oh and then that blueprint gives you some acceptance criteria and then you'd have multiple opinions and those opinions are the clients now who should build the blueprint well that should be built and made canonical by the community so basically you set up the active core and then what you would do is you'd hold a vote from Ada holders and they would say okay this is the canonical color uh cardana and then that's the source of Truth so even if the Haskell client for example is out of spec we'd have to then change the code to make it the spec with that and what's really cool is there's just been so much advancement in formal methods that this is now becoming actually a pretty lightweight process now there's a caveat if you want to do full formal methods like proof buy simulation between the reference and the production that's a super heavy process takes years to do but just writing a specification is not too hard and actually there's a lovely video from the TLA plus Community done by Leslie Lamport and Leslie what he uh what he did is uh he's a turing award so like Sylvia McCauley he kind of invented distributed systems and uh Leslie invented a formal language called TLA Plus for spec work and doesn't do code extraction it's a lighter language but a lot of the engineers at Microsoft there's even a book called practical TLA they use this in production for the Xbox team and they discovered memory problems and they use it for Azure and they use it across the infrastructure and it really helps clean up their code and creates a source of Truth amongst many thousands and thousands of Engineers and most large companies they have some form of spec language to do all these types of things another thing is that this spec language could also be extended for smart contract standards as well foreign so in summary I hope that helps everybody kind of Reason through it I think it's never been really it's never really been more of an exciting time for uh cardano huh I guess the computer froze there for a second anyway it's never been a more exciting time for cardano uh and I'm pretty happy with the way things are moving you know we're getting really close to a completely different way of doing things and it's kind of the basis of years of research you know it started with grants from the European Union and you know scientists playing around for years on this stuff a lot of formal methods work and people have just gotten used to fast seamless upgrades they've gotten used to a lot of magic that cardano has to get that to continue to work as you guys are used to it but have a polyglit ecosystem you need some form of source of Truth and then a standard for certification because the people paying for the services it can't be subjective it has to be objective so the only way to do it in my view is to have a members-based organization a technical fellows program and have a group of core spec maintainers who basically take the sips and they turn them into the specs and that becomes kind of the foundation for people to certify against and then a particular implementation details like do we use protobufs or this thing or that thing that really doesn't matter much what really matters is that you you adhere to certain guidelines about safety security performance as well as a canonical test suite and that's test Suite just like the ethereum foundation maintains for the evm it's kind of a source for Truth for the different clients that one produces but we have to go above and beyond that we need a standard for decentralized update system so the hard Fork combinator needs to be abstracted and ported so it can be plugged into multiple code bases and we need some adherence to that so that we have seamless upgrades all the way through so at this juncture I think the best use of money if you guys are going to go Fork over 8 million to DC spark is to have them work on infrastructure utilities and Integrations we badly need that we need better development tools we need things like what they've done with flint and their version of dbsync to get Scaled up and they definitely should be funded for that for canonical clients I think the first step is to get the agit client done and we'll have a big proposal for that and we'll talk about it first in November and then as we roll out together the MBO next year we'll have a proposal for how to get that team where it needs to go and we'll certainly contribute our fair share of resources as will others who are very excited too and I think very quickly we can get to a foundational specification for a lot of the great work that's been done then it makes a lot of sense for a Consortium to form and for that Consortium to talk about over the next five years how do we go and do some great Innovations and have a lot of competition with those Innovations so there are many Dev teams so if you are one of the people who'd like to build specs and standards you know to keep in mind that there's going to be a great opportunity to do that if you're one of the people mind that wants to build a competing client you think your company's great then do reach out to us as well because it would be nice to bring a Consortium together for all of this stuff so anyway I hope that helps everybody think about it you always want to carefully reason about these types of things but and thank you Rick for putting up the poll uh it started a conversation that I think is very necessary about how we continue to decentralize so part of that is through governance part of that is more on chain governance and more voting part of that is making sure we continue growing the level of decentralization of The stateful Operators and so a lot of work has to be done to facilitate that part of that is easier voting tools but then part of that is also more decentralization amongst the development teams the problem is you get more decentralization you in a situation where if you don't handle it correctly you can't upgrade easily because the coordination problem becomes too hard so you need a source of Truth and a standard for everybody to follow and then as some form of social structure so a certification program that compels people to follow and if you have all that infrastructure I'm actually quite optimistic that we'd be able to maintain our velocity of innovation but at the same time now all of a sudden have more than three or four competing clients beating each other up and we've built a lot of that framework for it so thank you all for listening I hope that helps and I'll see you guys soon cheers