Some Brief Comments on Process
Full Transcript
hi everybody this is Charles Hoskinson broadcasting live from warm sunny Colorado yet another day of snowstorms another day of shoveling another day of ice and gloom but you take the good with the bad and I decided to be here to talk a little bit about a process I just had a lovely two-hour meeting with my team and we were talking about all the functional and non functional requirements for the shellye test that just making sure that we had captured everything properly and the things we've learned from the Sprint retrospectives were there and at the same time I got this lovely report from route IV it's the first security report that we have for the audit that they've been doing on the new code that it has within it the good the bad and the ugly as with all audit reports they give us time to clean everything up and then the report that gets at least the public is usually a report of good health meaning that all the things they found we fixed but that's the point of independent security audit so I just wanted to talk a little bit about how we build software and I think it's important for people to understand the distinction between us and the industry as a whole so in the beginning there was Bitcoin and there was just this loose white paper it wasn't very long it didn't have security proofs they didn't have enough serial model it just kind of explained what Satoshi was trying to do it explained a little bit about how the protocols worked and a little bit about the philosophy what he was trying to do and that was paired with some C++ code which was not so good it was filled with lots of curious design decisions a lot of inspiration a lot of sweat tears and blood obvious has probably worked on that code for at least a year or two years before bringing it to the general public and for its time it was a revolutionary idea product well the industry has evolved a lot over the last ten years and it's gotten to a point where real people governments corporations everyday people are making multibillion-dollar bets on who they're going to go with and the capabilities of the ledger and the capabilities of the system really need to be at a scale that Bitcoin could not accommodate or aetherium cannot currently accommodate in the way it's being built so when we started the Cardinal project we said well let's write software differently and let's think about science a little differently than how our industry thinks about it as opposed to writing some white paper or just writing some ideas down or saying here's the code enjoy it it's specified there we said we're gonna start with the peer-reviewed scientific process so the first thing we did is that we hired a large group of scientists and we asked a lot of really hard questions and they started thinking deeply about security proofs and adversaries and security models and deeply about what had been done and where original innovation needed to exist now that alone at the time was a major step forward because it had not simply been done at a large commercial scale by anyone in our industry now we're starting to see that with David cha mentoring this face and Sylvia McCauley entering the space and others actually hiring real scientists writing real papers including aetherium that that's no longer a core distinguishment but we didn't stop there in 2015 we also aspired to have this concept of formal methods and this is something that very few software engineers in our space fully understand or appreciate the value of so basically what a formal methodology is is where you say okay let's write down in a very specific detailed rigorous mathematical way what we intend on doing what is what so we have this concept of work force and there's many flavors of it but what does it actually mean to go from these dry dead papers that our academics have written to something that an engineer can look at and know with absolutely no ambiguity that what they have created matches the intent of the authors of the system so basically you have to write a specification for this and specifications can then be analyzed in a rigorous way for correctness and you can use all kinds of techniques like model checking and Sat solving and so forth to verify that your specification meets some sort of collection of design requirements or tests so we chose to go down this road and unfortunately most of the time when you write software in this way it adds years to your roadmap and that's exactly what happened with us when we went down this road we had to hire in addition to a bunch of scientists a bunch of formal methods experts and then we had to figure out how to do formal methods with cryptocurrencies and at the time no one had actually done that before there were some products and projects for examples and protocol and there was some work being done by Meredith Patterson and others some Scala projects here and there where there were particular things that had some rigorous formal proofs or methodologies or the youth of dependently typed languages but again there was no project scale effort when we started in 2015 that actually embraced the concept of formal methods now we have seen some people since we've launched for example tezo's famously and their use of embracing the concept of formal methods or trying to involve formal methods somewhere in their methodology Russel o'connor also did some great work at block stream with simplicity and writing some proofs that simplicity is done correctly so they have formal semantics there and Gregori Roshi who has done things the KA vm project and so forth so our industry has seen the use of formal methods but we at i/o HK we were the first to use peer review we were the first to use formal methods and really we were the first to build a pipeline that allowed us to go from peer-reviewed work to formal methods to actual code that is tested with things like property based testing I and to do that in a way where we can move fairly quickly so we call this evidence-based software because you can see the chain of custody and evidence flowing through and we've written several blog posts and we've done several videos about this if you go to the i/o HK video series on our on our YouTube page where you can actually see Duncan Koontz in Phillip Kahn a talk an exhaustive detail what evidence-based software is and how these things work well that is what we can do on our side but it's incredibly important understand then there's what I which Kay the company can do and then there is third-party validation that we've actually done our job correctly so this is why it's so incredibly important to have things an independent security audit and it's also incredibly important to have the peer review process done because you need third-party verification that the science was done correctly from people who do not have a financial interest in an opinion one way or the other and you need a third-party organization that puts its reputation brand credibility on the line saying we have looked at what's been done and we agree what has been done is accurate is secure or meets a certain set of standards now we're also starting to push this into our product management and our product planning pipeline so for the first time ever we've gone from kind of sets of project charters and project documents that we've had for the past three years to consolidate a universal set of scope and fun and functional and non-functional requirements this document that we spent the last three weeks cobbling together from all the other source documents and the github issues is now almost a hundred pages at this moment and only covers the scoping up to the Shelly test that and every single iteration thereafter we'll have similar documents to that so underneath the surface there's really a heck of a lot of things going on as us as a project and oftentimes you guys don't see that you just see the output of this and there's also room for experimentation prototyping user experience and talking to your customer so all the things I've mentioned are again I ohk or the auditors of IOH kay whether they be independent community members or they be firms we've retained or others have retained to do work but then there's also this question of did we actually get it right for example the release of the incentivized test that the incentivize test that the whole point of that was to have a broad discussion with the community about the experience of staking and why staking is important the business model around staking to understand how the or course protocol actually works and so forth and this is why we chose to use a rapid prototyping approach that we can change things on a weekly basis and play around with a lot of ideas and configure things quickly with our community to accommodate that that experimental edge and this was the point of the incentivize test that which allowed people to do something with stakes and we have had overwhelming participation and overwhelming support from the community in that respect this is another vital tool so these things combined together or what I feel makes a great software project and it's taken quite a bit of time for us to pull these strings together in just the right way and communicate them in just the right way and we haven't done the best of job as an organization at being as open as we needed to be about how these things are working and how we think about these things we've been very myopic ivory tower dand insular at times and people tend to forget that all this stuff is actually happening now those who pay very close attention can see the progress and they can see it in the github repos and 2019 we were the most actively developed project by github commits real meaningful commits of any crypto currency including aetherium you were number one and will probably maintain that velocity if not more so in 2020 in fact were coding faster today than we were last year in February so it just gives you a sense that we're really moving in that direction now a lot of stuff is gonna happen over the next few months and you guys are really gonna start seeing the fruits of these labors and very productive ways this month as I've mentioned in my last update we're going to have the O PFT hard fork tentatively scheduled for February 20th and with any luck we will also get the Byrant reboot code out this month as well that is the first product of this incredibly rigorous adventure that we've gone on and its really our proudest work that we've done as a company in the entire history of our company I it's the fruit and labor of dozens of people from over and different companies through over two years of careful planning discussions and conversations and actually if you want to see what it's all based on if you go to our github input-output HK you'll see a repo called cardinal ledger specs and that's really the basis for the design of what we're launching this month and what will be launched with the shelly test net and the shelly main net coming soon now right on the back of this fire to reboot lodge then we'll start turning on the haskell testament and there's really two phases to that one is the phase for these stateful operators and really the point there is to help get the people who are currently registered in doing things on the incentivize test net over to the Shelly Haskell test net which is the production product and that shouldn't take too long and that's probably two to four weeks of effort but then after that's done then we'll release the consumer side which is basically for the balance check which means that all the rewards that you earned if you participated in the ICANN plus your current balances you should be able to verify that in that second iteration now once those two things are done for again and we feel pretty confident then it's just a matter of strategic planning it what is the ideal date to launch the Shelly main net now we're not done after that there's a huge amount of things that have to occur for example we're planning on a major update of Cardinal Docs and we're planning on litany of supporting infrastructure to be available at that launched from multi-sig to a ledger update and so forth and a lot of experience things need to be pulled out so everybody's working overtime right now and in fact organizations under the most stress it's ever been because of so much delivery focus that we have and people are really working within their lanes and their sprint structures and I'm incredibly proud of our employees for the hard work that they put in and I continue to be amazed by just how productive people are being and pragmatic people are being and their willingness to go above and beyond just their job role in their station to ensure the product success but very shortly thereafter then it's the gogans show and what we have to look forward there for Gogan are really a pursuit of six different things there's an effort for multi-asset there's an effort for identity we're calling prism and we'll be making some announcements there there's an effort for Oracle's there's an effort for a handling metadata that flows through transactions so that can be used effectively there's an effort for development experience make sure that when people want to write Buddhist applications and Marlowe applications that they work very well and they work with the tools that people would like to use and then finally there's a thread for aetherium interoperability so as a huge chunk of work and there's a lot of parallelism and there's still going to be Shelli work going on as we are doing the Gogan work as well so there's lots of updates that be coming in fact every month to two months you guys should be seeing some major update or major release for the coming months and it's very important to understand that these are the fruits of years of effort not things that we've recently been doing the team has been working religiously towards these ends in addition we're going to start transitioning the ITN work to start working on Basho and basho we are starting to get final specifications and ideas of how we want to integrate this into Dogen on top of Cogan and we'll be making some announcements at a later date but we'll see though that work be getting likely in March to April to work in parallel with the Govan and Shelly streams and the whole ter work is also underway with the Cardinal foundation and us and of course we have to coordinate with our partners and we've had to do original contributions to Haskell as an ecosystem for our partner collaborations to be effective for example for over a year we've been funding work on the GHC JS project and we've been funding in partnership with tweak work on the Asterius project now these projects respectively are to compile Haskell to JavaScript and to compile Haskell to webassembly meaning that Haskell becomes as portable as languages like rust and C++ and C which is incredibly important for the success of Plutus and it's also important for the address dia project for portability of our software address tia is basically a collection of Explorer functionality libraries and the wallet back-end that allows people to build wallets for car dotto allows exchanges to list card on oh and also allows people to do things like cold staking and staking as a service and so forth and we have been working with several exchange partners to completely rebuild the experience of listing cardano's so that there's one unified stable experience for card on across all exchanges that is secure it is enjoy that same level of quality that the rest of our software has and it as as portable as possible with the ecosystem frameworks that people enjoy using again this is a Herculean task because we're dealing with more than 30 entities when we talk about that and four entities coming soon and there's a lot of people that want to do third-party work now another task and this lives in the volterra range and it's something the Cardinal foundation is taking the lead on is how do we evolve the card on a protocol to go beyond where IOH Kay has taken we have left a process and a methodology for quality we have created a systematic way of saying if you do science the science must be peer-reviewed if you write code the code must be well-documented tested developed in a formal methods approach and subject to third party security audits such as the one that we've done with 3:19 and Cadell ski security prior to that that said when we look at improvements to our protocols and to our ecosystem you can really break them across two different dimensions one dimension is an improvement proposal to protocols and the other dimension is an enhancement proposal adding new functionality features or potentially growth factors to Cardinal so in the case of an improvement proposal in my view the easiest way of accommodating this is accommodating this through saying we have a formal specification and let's update that specification to a new specification for example if you go to the github repo Cardinal ledger specs you can see things the delegation design specification or the shellye specification or Byron chain specification now clicking on any of those links like all open up the delegation design specifications for example you'll see that this specification is over 50 pages long and it's filled with a lot of mathematical formalism in my view for a cardinal improvement proposal to work properly it's probably a good idea to have a discussion of how do we take that specification and transform it into an updated specification with some breaking changes or non breaking changes and basically an explanation of how that happens so that's kind of the protocol level and that will address soft and hard forks and that will address how do we evolve our current set of legend rules consensus rules Network logic and other things to its newest form and that can be done in a decentralized way and eventually those specifications and the Curren code for those specifications can be self hosted within the Cardinal eco system so we would not be relied upon platforms like github but rather we can control the things that that are necessary in-house and we can put all the Democratic messaging mechanisms on ledger now things like enhancements to the system that can be everything from how do we get more adoption in Ethiopia maybe it's a good idea to build an ATM network throughout Addis Ababa or perhaps the government of Mauritius wants to start putting some of their voting infrastructure on the card out on blockchain but they need a grant to do that now these do not require mathematical formalism rather they require the goodwill grace and judgment of the community of whether this should be a funding priority to enhance the ecosystem ultimately to appreciate the value of a DES to increase the adoption of Ada and to promote new use cases for ADA so part of the CIP committee at the Cardinal foundation is to explore both of these broad mandates how do we in a structured way improve these formal specifications ideally living within our system to get to the next state into the next state and creates a notion of a reference system that is code independent it's based on mathematical formalism so if you write a C client or a job fine or a Haskell client you'll be able to verify that you're following a single source of truth and then on the other case these enhancement proposals which are much more subjective and they're much more opinionated and they're not based on mathematical formalism rather they're based on principles such as is it a good idea for the community to get involved in this or is this a feature that we should have or is this an enhancement we think will add value to our ecosystem and so forth and the goal is to put both of these under a single democratic system so some sort of voting mechanic and to attach the treasuring mechanic to these this is the point of Voltaire now there's a lot of science and a lot of engineering that goes into the nuts and bolts of building a good voting system and the nuts and bolts of building a good update system so over two years ago we applied for a grant from horizons 2020 with a consortium of members such as IBM Research and Gard time specifically to study decentralized software updates we were awarded that grant it was over 1/2 million dollars for Iowa Chase component and our cipriotti entity on input-output research actually has been executing since that time with a dedicated team specifically to study this end and we've already produced a 39 page paper specifically on how to do a decentralized software update this combined with research we're doing at Lancaster University for the last three years with Ben Chang Zhang who has produced several papers including one at n DSS combined with work we're doing with other organizations and the foundation is doing constitutes a lot of the mechanics and nuts and bolts so the design space of things we can do but this will not substitute for community participation this will not substitute for incentives to participate community engagement these types of things which are required for these mechanics to be successful so there's a lot of learning we're gonna have to do and thus because it's so complicated I've authorized the hiring of a dedicated product manager to come in and manage these work streams from IOH case end and there is a product manager on the emerge om and there is a product manager on the card Auto Foundation who will work together to ensure that these things consolidate and we come up with a pretty reasonable system before the closing of the year to handle both the improvement proposal and the Cardinal enhancement proposal side of things so this is a functioning governance structure with funding behind it moving into 2021 the good news is that once the bulk of the shellye work is done and Kogan work is done the entire team will be made available to implement this Treasury and voting system and it should not require substantial changes or enhancements to the Cardinal protocol to be able to implement a base system because many of these things can be done as layer 2 solutions many of these things can be done through a more centralized means for the first version of the system so the scoping of it can be scoped up or down based upon time and monetary commitments from the actors involved as well as the participation of the community whereas other systems for example Gogan and shelly or significantly more involved and complicated and another important thing to close out that we are starting to reach the end of the first generation of research for or for us meaning that we have solved or are about to solve or are closing out most of the problems that we outlined in 2015 so we started with the gkl model which now has nearly 800 citations and is one of the most successful academic papers in the history of the cryptocurrency space and most cited papers in the cryptocurrency space and then we systematically worked our way with Ouroboros classic Prowse Genesis Chronos and soon to be or Boris Hydra other or horse flavors a corpus of theory about proof of stake as a problem and we are no longer in a position where we have these big open unresolved academic questions we're now in a position where the science is done and we're moving on to the explanation phase of the science meaning we have to tell people what we've done and why what we've done is so revolutionary and amazing so at the launch of Shelly will be at orb or Sprouse and then will systematically update the protocol from there to reflect the remaining learnings that that we have had as a consequence of the research we've done now there's a lot more things we can do with card on oh and a lot more things we can do with hora Boris but the point of having the improvement proposal process the enhancement process and so forth is to leave it up to you the community to decide where to go next and where the priorities are next nothing would make me happier doing another 5-year Stenton taking us to the next level and taking us to the Stars with a satellite network and other cool things and funding permitted we'd be well more willing to pursue those ends but at the end of the day for this to be a true cryptocurrency and a truly decentralized ecosystem you have to be in charge and you have to decide as a community what the priority should be and who should be the stewards of the ecosystem one of the closing thoughts I'll leave you with is that when we start at the incentivized tests that are while this hope was to have a hundred reasonable state pools running and we thought maybe we'd get 50 I found out that we're almost at a thousand registered pools and we think there's no end in sight we have a very firm belief that what we have started is an engine that tends towards the centralization not centralization while it does not have to give up performance and it does not have to give up coordination meaning that we have created something that if left to its own devices once completed will tend to become the most decentralized cryptocurrency in the world yet still be able to govern itself sustain itself and be able to deal with threats internal and external to its existence this is no small feat and we are proud of what we've been able to accomplish there's so much more to do there's so many more threats to deal with but you could only do so much in one book and this book is slowly coming to end we will have completed the road map as best as we could sooner than you think and as we turn these things on and we close the chapter of years of work it's really that Incred privileged to do that and I look really forward to the next scope of work and the next thing we've already begun brainstorming ideas like post quantum vrf Sun as I mentioned the satellite relay network and so forth and the sky is really the limit when you start allowing your imagination through furthermore I'm really looking forward to all of the use cases for the system we really do have a shot at replacing the world's global payment settlement systems with what we've accomplished with Cardinal furthermore we really do have a shot of redefining what the transactions of the future regulated and unregulated should look we really do have a shot at making meaningful and significant contributions to computer science like what we'd started with semantic space compilation and what we started with things like recursive starts not only in-house with partners and we really do have a shot at building increasingly larger coalition's to utilize our software now on our sign and on the emerge oh and you've already begun aggressive conversations with partners and with commercial endeavors like our work with PwC to talk about how we can create use cases and commercialization of Cardno as a technology and there's no lack of people wanting to go down that road for both a project and a funding perspective so we think we'll have a lot of adoption but to me I think the definition of success on that end is to point out that we can really rebuild everything in fact when we had dinner with the former prime minister of Georgia we weren't just talking about things like payment systems or the credential system we were talking about what would it take to rebuild an entire country on a block shape basis as we saw today and yesterday with the disaster of the Iowa Democratic caucus even in the richest most developed nations where we do things over and over again every four years we seem to not get some certain basic fundamentals like voting right and now we have a shot to rewrite how these play books work the technology we've built with Cardno not only enables this but enables economies and enables society to be built on a system where power is pushed to the edges your identity becomes self sovereign you own your own data and you own the fruits of your Labor's and it's your decision how and where you participate in the economy instead of that being spoon-fed to you so to me it's so incredibly important that we begin exploring those ends and we move beyond the science and we move beyond the engineering and we move into these use cases to definitively answer the question that everyone has been asking of our industry and demanding our industry justify why are we here and what are we providing to the world I the last 10 years have been so exciting with Bitcoin but they've also been so incredibly frustrating because the technology could never live up to the potential the promises and hopes and dreams of decentralisation for the first time ever I think what we have built with Cardno and the process that we're following can actually allow us to live up to that potential over the next few years and we have built within the system the capacity to make sure that no matter what happens the system over time will continue to decentralize will continue to self-govern and be sustainable and scalable to meet those ends regardless of how many users are inside of it so thank you so much for listening I do appreciate it and I again do appreciate the patience things are as I've said many times starting the move where we need them to be and it's really cool to see that we've been able to allow the last five years to keep our principles keep the community together and to keep things moving straight forward let's go to the next few months are going to be very busy they're very stressful on our end because we have to launch a lot but they're also going to be the most exciting months in our company's history so thank you for being with us and I can't wait to announce when we're going to Kyoto and hopefully see as many of you as possible there take care
Found an error in the transcript?
Help improve this transcript by reporting an error.