 Because maybe some of you saw the talk yesterday, today we will kind of make the next step. And for this I think it's a good thing that we're not too many because I would like this to be a little bit of a seminar. If you have questions, chime right in. If you have any, you feel like everything was lost over too fast. I'm happy to step back and explain this because in the end we want to try to make step forwards and develop this whole thing together. So that I'm not just going to be reporting on where we are, but hopefully try to find out what might make sense on the next step. However, getting started I would like to just put the benefit of those. I've been there yesterday or I've never heard about Project 4. I'd like to start at the top of the window of presentation, walk you through what the next one is and what the vision behind the whole thing is. Basically, we have a cover here at the phase where Lisa Amu even says that the smart-cutter environment has a standing meant to be complex. They have a different focus or at least that was the focus at the beginning that they had. Now that we're coming to a point where we are in a more mature environment than we had before, we should also be exact about what smart-cut contracts actually are and what they should use. And we have Vitalik on record who's basically saying, well, I can't regret having called this smart-contracts. We should have just called them sort of procedures, something like that, and that actually enchanted it. I'm actually happy to take out the mantle that they are dropping where they're saying, okay, maybe smart-contract was not such a good name for it. And explore what is possible, actually, with programs that are running on the blockchain and have certain features. And to get into the mood, I hope I will be able to switch out of these presentations, I'm sorry, to start out what I think is a big discussion here. Maybe just a discussion on the blockchain and smart-contracts and to set the tone a little bit. Because we don't have sound, maybe I don't sing to it, but I can explain a little bit what these thoughts are. Obviously, the human brain, we have 16 billion forests in our world, and they're all working in a problem, right? So what we have now, even if we look at, depending on how you count, how many nodes, how many follows there actually are on the blockchain world, in Ethereum, on the midpoint, it's something that has caused nothing to do in scale with what is going on in the real world. And the biggest computers at this point have 10 million, actually only in every single plant, 7 million plants. So we have to ask the more so, the more we allow them to start becoming forces in our global lives, at least become pretty big. And of course we have to ask where this all goes, because actually it's going, it's starting to go down on the blockchain, it might be the tools that we will need, most possible, where we don't have to find a way as a society to talk about robots, specifically about those robots, should be allowed to do. This is something that also, like if we go beyond the bubble that we're all in here right now, and it's wonderful to see all these familiar faces and so on, but there are a lot of people who care about things and they do care about these kind of things now, that we're not maybe on the forefront of everybody's thinking when Ethereum started, but meanwhile Facebook is not really considered a force of good anymore, nobody's laughing anymore when Google says, do no evil. And this is often a presentation yesterday about the difference and what is going on, and how important it might be to have a visual concept and forces in the blockchain world. And I was finding that actually it's a perpendicular, it's not really the same dimension that we're talking about, but the next one is not really about trying to be an alternative or do something other than aid you, the next one is just proposing something else, but here's something I learned when I was in the army, the rule that actually protecting the weak, and the more you might feel like you don't need no rules and you're just being hammered by rules, well, maybe it just means you're pretty strong, but I think one of my favorite is that when we talk about society, I don't see a 1% problem, I see a 10% problem, and that is the 10% that most of us are in, we don't have much contact with 90%, we're not as privileged as we are, and that probably means every single person in this world. So yeah, code is law, and maybe the powerful are laughing about it, right? It's becoming interesting, and yours isn't that, I mean to me like the Dao or the interesting thing that Dao was, and actually it was code is law, and then, oh, and then the code had it back, and then all of a sudden you didn't only have those code, code is law, the spirit of law, the spirit of a contract, but all of a sudden you had the spirit of the code, because that was what the Dao was actually meant to do but didn't, but everybody understood what that was, right? And so the decision was, okay, so if we now try to divine what the spirit of the code had been, and yes, obviously that happened, right? So it was hard for it to make the vibe go away and make the spirit of the code be the code, which is an interesting way, I promise, all mushrooms into more complex ways to look at this whole problem of hard to read or hard to divide smart contracts. Now the problem, so the next one obviously was that, well, we don't do accounting like with bits and bytes, right? Just because the computer knows only bits and bytes, that's not how we do accounting, because we know it's difficult, we can't have a bug in that, and so we have really languages and we have created programs that can do better. And so this next one now, this is a program, and that's the point, right? It has actually gone further than I thought in the beginning possible, because I thought you will always have to make some compromises, you will have to explain people that a colon has a very specific meaning in this context, but actually it's been Brian Fox who pushed me into optimizing it on the readability side, and now I would say to me this is like really zero learning world, and this is where we are right now, where you can say, okay, anybody can read this and understand that, and that is the point, because you can also compile it, put it on the blockchain and the smart contract and it runs. And it took a bit to get there, it also is not quite clear how far it will actually get, there's still research going on, it's a long road to understand how long do we need it, how they want it, what makes it a contract to them, although there's other stuff where naively looking at this, people who are not in the legal profession might doubt whether this is actually a contract, but lawyers will usually tell you, yeah, it's absolutely a contract, because it's not about the beauty of the language or something to be a contract, but the contract is not thrown out of the paper because it's not grammatically trying to say correct or stuff like this, right? So, and what I would like to say today is that this could work, because why stop with English? Like something who is doing exercise and democratization, and actually I'm really trying to argue this intermediate programs, every good engineer does that, trying to make themselves superfluous. And Vitalik has actually told me, I think it's explicit, that he wanted to empower the programs, that was the objective for the theory. I'm curious how far we can push this, and how far beyond being a super program is this, but I'm also curious how far we can push it, how far beyond English we can take this. And I hope to go away here with the learning about how it is awful at all, right? And what challenges are particularly with Japanese law, aside if I get to show you the states that you're very informed, you can also play around, it's online right now, and give you a live presentation, just because that's usually giving a good impression of what we're talking about here, but if you can't do it, just get a feel for that. You can also go there, it's on the text on the tag. And the newsroom actually is at this point, it's on the text on the tag. I had no idea, of course, we have program till the last minute, literally, to get everything up to date, and as powerful as possible. I cannot show everything a bit. What is going on there is basically, on the left-hand side, you see the code, the human readable code, and while you're writing it on the right-hand side, you can get Solidity form, actually. Yeah, that's Solidity. Yeah, that's Solidity. We also have a tab now for Sophia, which is another blockchain attorney, a very good technology, might be, who are also going to be a target platform for Alexa, and that's what you can see. So there's a lot of work ahead of us for us. In the moment we're trying a lot of things to understand what the focus is going to be, you can look forward. I would just like to, without further ado, try to lose the focus again. If anybody has a tip for me, how you can switch back out of full-fiends presentation to other stuff. Embarrassing yourself might be... What are you doing? Teaching me how to do this. Yeah, let's just take some of that. So... Side, you're going to see some Solidity popping up, and I'm going to explain a little bit on the slide how a Lexon contract works. So it always starts with the keyword Lex. And also that is part of what it actually... Should that keyword be like this? So, if that is a word to discuss in this question, in this question to try to make something that is going to be acceptable to your judges in the end, and that works from always on the front. For now, that's rule. Like, it always starts with Lex, and then it has a name, and this name is basically there for managing, finding what actually the addresses that you want to get. Actually, you want to contract with that contract. Can you blow up the view? Can you blow up the font size? Thank you very much. So, that is something that is actually something a lot of you are used to. You have our contract, very often, a section that is explaining very much. And what you see on the right-hand side is how basically it's building on the slide, it's building Solidity. For the technical, this is WebAssembly running in the browser, so the compiler itself is testing WebAssembly, although the browser is quite fast. It's also pointing towards what else we're going to do, because there are blockchains out there at Divinity, or also Pocket, that section, that is going to be WebAssembly play, where you're talking about having a subset of blockchain, that has a virtual machine running Lex on, program and bus. So, that's what we're going to do with that. So, now we have definitions out there. We have definitions, and these definitions also, like, we're talking about how this can be done in a way even more like a template than noise actually is. For now, this is how it works. Now we say, in this example, we have the payer setting everything up, and the logic is that, it's just not going to pay off, right? It's just not going to enter its time. So, the payer, basically, already we're a smart contract, it's more powerful than a situation as we're used to how it's done, because this means nobody can run away with the money, right? Money, because of how we will program the rest, it's just going to be going to the payer payee, but never to the after. So, the after is not going to be able to just run away. That also fixes that. This is basically the result. So, this sets up the situation, this is what happens when the contract actually is set in motion, but it counts inside the contract, because what we're doing here, obviously, is the cookie cutter for a lot of different contracts that you could imagine, and so on, but always on this contract, it counts as an actual contract, this is the first thing that happens on the blockchain, but also, so to say, the real one. And now, the main functionality of this contract is basically a payout, right? So, we want to be able to say that the arbiter is the one who also earned the fee, and now you're done. Right? And I will not go into this now, but we can now avoid some blockchain using that button down there. We'll go to this here in Robson. On the back end, we're compiling the disabilities we compiled, we put it on the blockchain. We'll be using MetaMask, and so we basically have control over who is supposed to be allowed to do what. The very powerful thing that we have here is that we can parse because we have the information that is happening during the translation process. We can use that and create the interface, how to interact with this contract. So that we can have an interface where basically we're using the information that the arbiter may do something and nobody else may do something to know that the button that is going to be created for the payout functionality should only be shown when it's the arbiter who's doing his balance. Right? So, and this, this goes on, this is like, you can take the entire clause of the arbiter of the payout as a description for that button because this source code is like the perfectly supplementing source code doesn't go beyond that, right? The command and source is the same thing. So when you end up with, you have a lot of, a lot more powerful way to create a generic interface to actually then interact with these contracts. That is all because the entire process of translating Alexa and contracts, of compiling it into Solidity is happening on a higher level than what usual programming does. I've written about this, there's a paper up here that is arguing that because Alexa comes safe on a higher level but closer to human language, it actually has a structure like such as objects and verbs which is a really different concern in those structures that are used to translate that into something else that you have in a program language. Between a program language, you have a tree that has the logic of as you can see on the right hand side, actually you have stuff where message.sender so you have message in your sender and then stop operator and then it's dereference because as such as an object in the sender there is an element in the object and so on and that's why internally the compiler is concerned with that translated Solidity. Well, the compiler that's concerned with translating is actually talking about the payer, pay, and amount and that is actually what the business logic is what we think about. So, is there a reason why you wrote that Arbiter may pay from an escrow without including the if? If some condition happens in the conditional because it's certainly the creative conditional I think, but you don't actually have it specified. Would you have to then later on add a conditional of when it would execute? Okay, thank you for that question because to verify, these are the recitals, right? They are, are you programming? Oh, I, yeah. So, they basically the constructor, right? They are what is executed the moment that you say, okay, now I want to make this a real contract. Now I'm going to say who is the payer? What's the name? What's the street address? What's the blockchain address? So it becomes one real instance of one contract and at that moment the recitals are basically being executed and that is that line which means like I wish I, yeah which means that you basically can, when you want you can use that for other contracts too because it might be a very generic code that you have created but the recitals are basically what have to happen the moment that it becomes one concrete contract. And this is why it's not really a if it's part of this. Okay, if you want to make this a real contract do this but let's outside the realm of programming or a contract it's just a contract that happens. But yeah, we know we can step into this contract but then to enter this contract what has to happen is this. So the name though in the payout there is much more of a condition and it's actually what it actually is is a condition for access control basically, right? Who is allowed to even go and execute this function from the vantage point of this smart contract of the program but also who is even having this option like on the legal side when you go get it as a needed contract and that's something actually we have discussed a lot of discussions about because it's different, right? A smart contract works with incentives a smart contract cannot go beyond the blockchain and try to enforce something that didn't happen because you wrote in the contract someone shall or must or should. So to really articulate contracts that make sense to put on the blockchain you would pretty often try to reverse the logic of a normal legal contract that would usually just say okay they must do this or that or even if this is fulfilled then this should happen in this case you just give the option and hopefully the fee was high enough that the operator is feeling incentivized to actually do what they may do but if they don't then this contract actually is not saying that the operator is not going to jail or whatever but it's just nothing is going to happen and that is also how a blockchain contract works of course you can now create a stake you could create a version of this contract where you say I can be after first as you pay in a stake so be sure that they're going to lose money if they don't act as we want them to act so it's a whole different deal and yes of course you could totally do this it was a good example for next steps what is the Lexon manager so yeah that's where I wanted to really quickly go one step back and then I'll go one step forward so I wanted to show that it's pretty easy to go and extend Lexon programs using Lexon in practice we're going to be a lot about having templates and learning from those templates to extend them and to adapt them to what you really want there's an exercise that somebody feels courageous I just copy pasted obviously you can kind of do it like this what would I have to change now in this second clause where it says pay out again to make this well basically an opportunity for the after to also decide to give them money back to the payer because let's say in the real world the business didn't happen as it was planned so you know what I need to throw up a few people in this room but I'm sure you can still tell me just intuitively what I have to change and so you just come in the stands right so what's wrong there you just think English what has to change in the second clause what's your equivalent to a Boolean you need to declare some sort of Boolean and then say depending on that well listening to you, you sound a lot like a programer maybe think like a bodyguard or decision change the name to payback instead of payout instead of being to themselves it would be to the payer like this so let's and yeah obviously it's pretty much based on common sense and in the second paragraph basically demonstrating that it's not easy for programmers I would say I'm not going to do that now but either lawyers or programmers really love this I'm pretty happy that somebody very early on of a very well known law firm and the blockchain space told me that their boss is not going to make them use it and that was programmers programmers think this is verbose this is complicated this is not curly braces and colons and so on this by definition not really a lead for a language for non programmers for programmers I was just thinking is there a way or an idea to do it the other way around from somebody to do something yeah thank you that's a very interesting question so and this question comes up because a lot of people have a lot of investment and salinity contracts and it makes a lot of sense to think about that but it does highlight what the difference is between legs on the salinity the thing is that of course all the information that you have on the left hand side is on the right hand side somehow but it hasn't been baked down to the level that mixes this other stuff but you also have to do in salinity so it works external right yeah address address bracket this closing bracket dot balance is right if you want to that money that is there in that contract you can't just write extra or something that's fine however it would be hard pressed to find a way to what the actual difference logic was and what is the requirements that the language just has to be because it just has to be obviously you are able to guess it or know it in the translation process to salinity is this higher level the clarity of the higher level of the information that I was referring to that next one is dealing in objects and subjects and verbs actually really and to get that back out of salinity you have a very hard time I guess it would be possible it would be easier to just write rewrite this stuff the next time something that also actually is sometimes when I make a mistake when writing an exam contract people catch me because like the theory of the saying I usually do I'm at shift at the same time so I'm not really good at thinking it but sometimes I write this I wrote the person three times so I write easy person and of course the audience always catches me and the last time I did it they actually proposed I should write them out I guess so they guessed the language right because it's so simple but what I found interesting as a programmer is that actually people now share us in the program using a normal language center if it doesn't read write in English it's probably a bug that's pretty powerful because even as programmers our language center we use that all the time right so that's really I mean it just jumps at you you don't think about language or about English or anything you just have a feel how it doesn't read write and on the right hand side if I would whatever it is if I write a month on the right hand side that's exactly the stuff you have to look at if as a programmer you know a lot of different languages because that's slightly different every next language sometimes in the U.N. sometimes as you go down it's unsigned sometimes it doesn't even exist it's just intentional written out it's always the same it just has different names and you cannot as a layman criticize or jump in and say oh that's probably the same if I write something else other than U.N. if I write U.N. you have no opinion about whether that's right or wrong so that's a very interesting side effect that I found certainly unintended but this kind of stuff keeps keeps coming up in a different way of writing programs so going up I wanted to I don't know what happens because I just changed the program so while it's loading or not I would like to use our time basically rushing through a number of spots in the beginning basically what my first idea was really like if smart contracts have this magical new feature that they can transfer money that's really new because the programmer has a lot of ways to have the magic feeling for the stuff that you create but actually now all of a sudden you can't transfer money so the idea was to find some degree and now programs can shift the session you can still sue them and if a business is asked to use smart contracts or something serious they will ask that question like what happens because somebody doesn't agree with what it does so the idea is simply if this smart contract reads like a contract and I can show it to a judge then I take out the incentive because hopefully that contract is going to say exactly what happens on the blockchain and then the judge will just run to the shoulders and say why? and that actually just makes the contract more powerful and there it goes kind of back in a way where it's not so much about a legal or not a legal this is also in a way making contracts more powerful and on the side it's also making possible to within a company to have this verification process to have business people wanting something contracting with another company wanting to achieve something so the whole thing is compliant and really in the interest of the company they all can verify now they all can chime in on what's happening and it also ropes in the users or small businesses that might not have a blockchain department they can read those smart contracts themselves so in the end it's also it's also taking on a current way that business models work in the blockchain world where basically a start-up is formed around a complex smart contract that is very generic and is going to are supposed to work in very different situations and then basically the start-up is a provider of the service that is created around this smart contract that is very much democratizing that in a sense that hopefully writing a lexical contract writing this complex contract that's exactly what you want so it's also easy that you will not do these new start-ups right so that's another important aspect of what's the motivation behind this you had a question yeah so obviously you know smart contract is just sitting around the blockchain and anyone can interact with it through death or whatever how is one put on notice anyone with a smart contract that came from a lexical contract such that their interaction with a smart contract is you know basically indicating their consent to be bound by that legal contract that's a very good question thank you so the situation right now is that usually you do not even have a chance to understand what the smallest code was because it doesn't convey it back so that point at some point I think it's going to be very important to have a virtual machine of lexical where one of the attributes is that you can compile lexical it onto the blockchain but you can also decompile it back out so there cannot be the situation that somebody is asked to interact with this contract but doesn't have any way of knowing blockchain explorer so this kind of virtual machine would have the ability to just press a button and say yeah this is actually the code this is one of the aspects why the way that we show it now where we compile it into validity and the possibility to compile it onto Ethereum is not the last part it works now very well to make people understand that it actually has the full part but this is one of the reversibility of individual contracts without doing your work because judges can change history they can just say well yeah actually this contract should have never been done well let's strike this out as if it had never happened yeah so I did notice there's certain rules that you're following when you're writing the lexon thing like every sentence is ending with a period when you're defining variables it's in quotation marks lexicon that's required in order for you to be able to convert does it flag like you forgot your period for an average person yeah actually I did that on the side right but we're working to make the compiler be as helpful as possible now this is a big topic in programming the Rust compiler really is very advanced in this it really almost tells you what you should have programmed instead of what you tried to write and it compiles with a fatal scheme C++ also has a wrong solution behind it and this is definitely something from day one that was very important to me to have arrow messages that are good as possible it's a little bit something of a lexon thing in the sense that there's a lot of stuff that we have to test out that we have to re-risk first when the stuff actually works and if it works then you can be pretty sure that with that work you will also have this kind of very, very aware that you want to have a lot of context help like your negatives improvement of Java and other recent tests when it comes about parsing complexity like do you have a long term vision how would you like to direct the evolution of the lexon like the natural languages have this contextuality that it's backwards and forward in the parsing what makes it like almost impossible task to implement like the proper way of changing this bring maybe this feature of the language that when I have a sentence it carries on the context from the previous sentences or but maybe you decide to drop on a feature to refer to the future sentences because of some way or you just leave it now on the side because you would like to focus now on the use cases and see how it will evolve and I'm curious where you stand and what's the current state and what are the next steps so the basic grounds of what we're doing here is called control language the idea has been around quite a while and there are even papers that are basically pointing out that this should be possible we are doing very normal from out of work and we have cases of not going forward and proposing a new grammar but instead going back using an existing grammar English and pairing it down to a degree where we can actually parse it and create an AST out of it an abstract syntax tree and then do other stuff for example creating solidity or so forth for this we can and that's the major premise basically we can basically pare down the possibilities of English to something which sounds too much enough but it will not allow you to just go overboard and create arbitrarily complex sentences or even sentences where you decide to arrange words in a very different order than normal stuff like this because we have to and I actually managed to get lost and been switching again but actually there's in the presentation I have a grammar section where I'm just showing how this looks and I actually file those that has given you for us as programmers that contains the information that is going that's eventually being so to say blueprint of how the computer understands language and what it is looking for what key words are looking for what kind of patterns it is looking for to be able to then construct out of that a structure that allows you to really have the understanding within the computer so to say of what the language is and with this I'm skipping over this yeah this is the ground actually so this is files scrolling it through it's not too long but this is how you articulate what you actually want so for example we have statements there's a number of statements and that's the list of statements that I understand then you have the definition that clause is just that you see there there are certain key words that you see and quotes and that's actually the key words that I understand and that's exactly what I want to close with to open discussion about is this thinkable for Japanese is this something where the Japanese grammar is giving you obstacles that you will probably not be able to go through or is it worth giving a step to also create a lexicon that is based on the Japanese language so what I was showing earlier could this work this is what I'm really stoked about and I would like those who say that they can speak Japanese to chime in and educate us if they feel that what we do here with English is something that could also work with Japanese there's no right or wrong I have to give opinions and reasons why or why not I was thinking because you talk about control language so a couple of things one is that did you think about IBM's easy English things like that which have been really used and the other thing is the problems that happen with control language which is because it is a natural language control language if there is a later dispute can you not go back and claim it's not my fault it's the language that I thought I meant it this way it was not like that and because you cannot do it you know what I was saying some of the nuances of a natural language would you not limit the kind of contracts you can write in it well let me restate my question what we do with English do you think we can do this with Japanese what do you think what do you think what do you feel the challenges would be in Japanese something I'm familiar with it's not as nice as the English word but where it's all of a sudden at a certain point in the sentence have to have a certain ending so this is the major challenge where you would see where you would have more difficulty in Japanese yeah other opinions there you know grammatically Japanese is actually relatively easy grammatically it has very few irregulars it follows a particular structure they have these articles like you have the law there before the comma so you can basically kind of use those anchor points to figure out what the code is going to be in fact this has even more specificity remember my question earlier about May May can be permission but it could also mean the conditional which is for me first thing that came to mind was conditional rather than the permission this is very clear the permission the Japanese itself that you're used here shiro o koto ga that specific Japanese is talking about they have the right to do something and so that level of specificity as long as the person writing it knows what the rule is that you have to use this kotoga as long as you're using that then it could very easily be read in so you actually like one language can read the shiro o koto ga all legal coding instead of English everybody calls in Japanese I remember right the American French used in America he thought there was going to be less and big hits but it was a long by French so yes we could end up finding that certain languages are better than others to articulate long but that's a huge thing noise will tell you no no language has to be a big hit but it has to be a big hit well next time I was going to tell you that's actually why I invented this term because my contract was the whole point about having less than big hits contracts so the only challenge like for example this shihara o koto ga te kimasu that could be written as shihara with kind of a shorthand version and so the person who's writing it needs to know they have to adhere to certain things rather than using shorthands and Japanese also has sometimes combination of two characters which could be replaced with one character with the longer things like gakushu versus narau to learn gakushu means to study but they both fundamentally mean the same thing in English but one is a pairing of two words together the other one is one separate word with more hiragana with it so as long as the person typing it knows the rules you could actually easily convert but there's two ways of writing verbs sentakusura versus erabu to choose something but as long as you know you should combine it with the two verbs plus something else then I think it's very easy to convert okay so this is super interesting I would like to invite everybody to join us on Friday where we are actually going to have from two to seven there's also an event right with the off-depth event the moment is not waiting this but it's just sign up anyway we should have time on Friday to continue that today and I'd be very interested to find out whether the possibilities that we're hearing about here what the challenges might actually be going forward and going there towards maybe I think you can start with an item that has some stuff like the project that I just wrote there and I was just wrote there but it could be a great starting point so that's why if you're doing what it should do I would like to say