 I'm not at all satisfied by industry standard quality. In my book, industry standard quality is a euphemism for being not really very good at all. And we want to do much much better than industry standard. And that means we have to do things differently. You have to do things not by the mainstream industry standard methodologies because that gives you industry standard results. So to do better, we want to take ideas from computer science and that's what my entire background is in. I've been studying academically and then commercially. I've been working with bits of computer science, functional programming, programming language technology for my whole career. And this is the kind of stuff that we can apply to build software to a much higher standard. So there's a whole load of computer science that addresses these kind of techniques, ideas that address this problem. And my role is partly to import the right bits and use them in appropriate ways. It is actually an opportunity to apply computer science and formal methods in a real situation. So I've been working with Haskell and functional programming and stuff all my career. But at least in the commercial side of my career, I've never before had a project where people really wanted to apply high assurance, where they really wanted to achieve high assurance. People have always been using Haskell for just doing stuff quicker because Haskell lets you do things better, but there's two ways to use that. You can either use it to achieve the same quality but do it quicker and that's what most commercial situations I've worked with were trying to do. Whereas this project, there is the real ambition to achieve higher quality, ultimately to achieve higher assurance. And so that's actually the first time in my career, on the commercial side of my career, that I've been able to do that. And so that's actually genuinely very exciting. In academia, we were always interested in how do we prove this software correct. But in the real world, no one was interested in proving stuff. They were like, ah, let's just make it and make it quickly. Whereas because of cryptocurrency value, there's all the money, people really care that it's correct. And so there is that ambition to really apply computer science properly to this problem. And so that's actually genuinely a very exciting problem. I haven't had the opportunity to apply that sort of stuff here this year. It's a great honour to be here with so many people who are now using the software that I helped to build. So thank you very much. It's a great honor. So I'm going to talk a little bit about issues involved with building, if I don't know, because that's the role that's designed. And I'll start a little bit by saying who I am and what my role is, and then talk a few thoughts on some technical issues. So I'm the head of engineering for the Cardano project. My background is in computer science, academic and commercial applications of computer science. My particular expertise is in this thing called functional programming. And I have a PhD in functional programming. And I also started a company using functional programming commercially for many years now. So my involvement in the project began in February this year. And the first thing that I have been helping to do this part of the project is to get the main net release of our software out the door. The first thing that I have been helping to do this part of the project is to get the main net release of our software out the door. The main net release of our software out the door for the digital music. But in many ways the more important thing that I do is to help set the technical direction for how we are going to build our software in the future. And in particular the thing that I'm really passionate about is bringing several ideas from computer science and using them in practical software like Cardano. In fact, I suppose I'm a little bit obsessive about software quality. I really like useful software and me, useful software is like useful mathematics or poetry maybe. So first of all a couple of things that I've been saving for the future. So first of all, a couple of things that I've been saving for the future is the manufacturing that we're now going to be building. Beth am eich hanfarktio indication ran unrhyw unrhyw blomwys fel Gваith Nôl fencebwrdd hynpointfeydd i cynnwys.. .. ers ein ghawng yw'r acefứng yn risio cyhoeddbell sydd o gyfraffio cyFFeyddion hon yn bach sydd fathio pethriaid. er mwynhau bod fel cardamon. A the first thing that's based on a design is this thing called Ouroboros, which has come from an academic paper. Mae'w'r hyn o ferson o pob i'r f ventaethau innerwyr. This is a design by academic cryptographers, including Bernardo, who will be on speaking immediately after me, This is a system that has been improved, correct, by the mass mutation of the coveraptors. Mae mae brandwinef yma Ferdigwyr ddim yn achos yw unrhyw ffordd nesaf i'w ddweud o'u knyfforddiadder a'r cyflawn gwycaf yw piwn benabyddol. Ac oedd yn ffraen tannig yn eich ddechrau i gilydd cyflawn gweithio ar gyfer hyn cyffredinol, mae gallwn bod yw ddechrau lle mae'r byw yn caelgynnu am y per ac yn cofianthuiteil y ffordd mwyaf o'r cyflawn gweithio. ond â bryd yn gallu unrhyw yw'r cyfletaeth ac yn Rhaglen, dyfodol ff mount o bryd yn chyrgynlog. Fel mae'n bryd yournau, mae hyn ychydig gan eich cyfletaeth a'r rhain. yr oeddiol, yn cael eu cyfalwenol. Felly sy'n roedd y tîm o gymedlaid cyfrifiadau sydd o'r tynno cyfrifiadau sy'n teimlo'r tyfan. Yn y teimlo cyfrifiadau, ororoboros yn y cyfrifiadau yn cael y cyfrifiadau, a mae'r cyfrifiadau yn angen yn sylfor iaith yn y gwych drone yn cyfrifiadau yn y cyfrifiadau. Ond, mae'n cyfrifiadau gan eit丫loedd. plwg of steak yw iswyswyddo edrych. Felly, a ydw i'n siŵr e'n ymweld ynglynig hefyd, mae fath gennyn nhw'n mynd yw, bwysig datgu'i cael ei wneud arlasfyddiol cyhoedd ymgylabod Piesan, Mae gennym am dweud y gweithio cwyl, dynamod y gyrwch i ddweud ychydig y появwn y pwysig ar y llawndwyr gyda ni, mae'n gweithio cyllidebydd yn cyfrosu gymryd ar y pwyllustoedd sy'n gweithio ar gyd. O'r meddwl, nid bethwyd yn oedol i'r hollu ar hyn y cyfan hyn sylwedd. Yr hollu yn ganodd widefadau거�d, er mwyn fyddwyd yn fawr i'r hollu'r gwagol hwnnw i'w ysgriffeil. Ond â'r hollu'r hollu, y cyfan hyn yn ddiddesu'r Kefyr yn hollu'r hollw'r newydd a'r hollw'r hollw. Mae'r hollw ar hyn y cael ei dynnu.ериadau'r pergynwadau neu ei fel arser i feddwl, mae'r cyfnod o'r rhan o'r cyfrannu motoru yn gweithio i gael y cyfrannu motoru yn dyl machu'r cyfrannu. Mae'r cyfrannu motoru yn f sylwyr i'r pethau'r cyfrannu. I want to talk about how we're making our system better, but to start off with, I need to say that blockchain is still an immature technology, and cryptocurrency is still an immature technology. And they are immature in several different ways. One is the performance, how well they scale, which Charles talked about earlier, and also reliability of assurance. So my analogy is it's a little bit like an old car, a car from, this is a Japanese car from 1907. So how is it similar? Cars in this era were not very fast, they were not entirely reliable, but they weren't, they were okay, but they're not as good as we can make them. And so today blockchain and cryptocurrency are a little bit like this. They work, but the technology is not yet mature. So in particular, if we compare Bitcoin and Cardano with, say, Visa, your debit card or credit card, there are many different ways in which cryptocurrencies are not yet as mature as traditional payment systems. And so we need to get from this technology that works, but not yet mature, to something more like this that is very mature, lots of engineering and science and mathematics to make it really good. And there are two ways that we need to make the system better. And one is the certain kinds of research that is left to be done, but others is applying more mathematics to the way that we build our software. So today IOHK is funding a lot of research into, for example, making blockchain technology stable and many other areas of research. But the thing that I really want to focus on in this talk is about how we build the software, and that's about the quality, not just the features, but the quality with which we build the software. So when I look at software, as I can do sign this, when I look at software, how it's built now, I am not satisfied. I think we can do much better in particular with assurance. And the key way, so if we follow the standard methods, if we follow the standard industry practice, then we will end up with industry standard results, which is results that I am not satisfied with. So that means that we have to do better than industry standard. We have to not use industry standard methods. We have to use much better ideas. And so this is the bit that is most interesting to me as a computer scientist is taking ideas from computer science and applying them here to help improve the quality of our software. So that the key velocity of what we will do here is that we take down with the idea that programming is mathematical. Computer programs are mathematics. First of all, as a concept, as a concept of computer science, computer programs are mathematics. The program is also a concept of what is written there. So this is an idea that comes from academic computer science, and it means that we can use mathematics to specify and reason and prove things about the software. In particular, it means that we can have specifications which are done in terms of mathematics, which are much more precise where we are specifying things than using normal human language. And it also means that we can use mathematics to relate programs to specifications, that we can use mathematics to reason about an implementation, correctly implementing a specification. And so ultimately, this is the way to achieve high assurance software, is to use normal mathematics to specify programs and to reason about the implementation and how the implementation relates to the specification. This is the programming that I am talking about. OK, so for example, of what this sort of mathematical approach means, what does this look like, I'll talk about how this works with the next version of Auroboros. So what we do is that we start with the academic paper of Auroboros, which is written by, for example, Bernardo, who is our next speaker. And the Auroboros paper, the academic paper, is written by mathematicians, cryptographers are really mathematicians, and they have a mathematical specification in their paper of what the Auroboros paper is. Now, so instead of simply implementing that mathematical specification, which would be very difficult to do in a high assurance way because there's such a big gap between the high level specification and the code, we do something a little different. So what we do instead is we translate that mathematical specification by the cryptographers into another formal logical mathematical computer science specification. So now instead of the specification that Bernardo understands, it's now a specification that I understand and other computer scientists can understand. So then we take our version of the specification and we refine it step by step into more detailed specifications. So we have our high level specification and then after many refining steps we have a very detailed low level specification that is now much, much closer to the code than the original. So then finally we have this low level detailed specification that is exactly how the code should work and then we can translate that into the final program. So the end result is that we have now a fairly convincing sound logical argument as to why our implementation, our program we have written, does in fact implement the specification from the paper. And so this overall gives us a much more convincing, more higher assurance, better way of building correct software than the traditional method to the industry users. So then finally when we have implemented the new version of the Ouroboros principle, then we will replace that layer in Cardano with our new higher assurance, better implementation. So the key thing for you as users then is this idea of higher assurance. There is a sound logical argument as to why the software is correct and that is much better than almost all of the software you use in your daily life. So then for you as users, you can know that the software you use in your daily life is better than any other software. You might hope that all software is built in a higher assurance way with mathematics, but unfortunately the reality of the industry today is that that's not the case. But we want to do that. We want to do that. I probably don't have much enough time to talk about in the same detail about contract languages, but we're taking a similar approach with building new contract languages. The key idea here is that we are going to apply academic programming language design expertise to help build new contract languages. And the reason that that is so important is that if you look at existing languages like EVM, Ethereum languages, they were designed without really taking advantage of all the existing knowledge that is out there on how to design freedom languages. And the reason that is so important is because there are the real world consequences of bad programming language design here. The Dow hack, the parity hack in many ways can be traced back to bad programming language design. And the reason why that is so important is that in the real world, programming language design is a big problem. For example, the Dow hack is also a big problem, and the parity bug is also a big problem, but programming language design is a big problem. The Dow and the parity software were a problem, which they were, but the design of the language in which they were written made it hard to write correct software. So we can do a lot better by applying ideas from the academic theory of programming language design, and we have many experts in IOHK, myself, several other people who know about this area. We know about how to design freedom languages. So, yes, the general story is that, of course, in the future, there are no versions of any more teachers, but I am particularly focused on how we will improve quality. There are many functions that will be added to the version update, but the most important thing for me is to increase the number of functions and increase the height of the new high performance update. And so, like quality again, I mean performance, reliability, assurance, software that would make me happy, make me satisfied, and I have very high standards for the software. And that's all I wanted to say. Thank you very much, and thank you for that speech.