 My name is Eureko. I work at a company called Crypto. I'm going to mix love building an LTE application framework for Plasma Chamber. So, today I'll be giving the latest research update on Layer 2 technology and introducing our framework called Plasma Chamber. And the goal of today's talk is I want everyone in this room to know what exactly it's like to build an application on top of Layer 2. First, before we start, I just want to give a little bit of our background of who we are and where we came from. So, the Crypto Economic Labs Research and Development team consists of these three people on the top row, including myself. And we focus on some of the framework that I just mentioned. And the other three on the second row are in the adoption team and they are in charge of running PLC projects, putting our R&D efforts and outcomes into the practice and with the real-world use basis. And how exactly Crypto Economic Labs started and why we focus on the abstraction of Layer 2. So, ever since the company was founded, Plasma has been our research focus but we had this major breakthrough when this blog post was released. It was written by Calvin Bridger, a former Plasma Researcher at Plasma Group and he wrote this article last summer. So, back then we were researching all different kinds of Plasma flavors but it took us like a whole month to convince ourselves why exactly EVM Plasma was not really feasible. And after reading this post, we thought exit games should be really, really application-specific. Then we concluded that there should be a programming language that can handle application-specific exit games instead. So, and luckily, Shuhay's focus, our co-researcher, chief scientist, Shuhay's specialty was designing programming language to define a set of problems that can handle. So, we decided our research focus on the generalization of Plasma, obligations on top of Plasma. And then we decided we chose Plasma Crash Construction which prioritizes security over expressiveness of the application and immediately started writing on the implementation adding some of our unique features to it. And thanks to Shuhay's huge effort, the implementation went forward, proceeded pretty fast, and we titled the framework Plasma Chamber and introduced it at Edgon this May. And at the same time, we have been writing POC projects with our clients. For example, we developed a pseudo-token trading system of a home-generated electricity with two electric power. And also, we cooperated with an IoT platform company to research Plasma use cases on their platform. But I just want to stress here that we are very, very grateful to have our clients because without them, we wouldn't have been able to run a sustainable R&D and create real-world use cases of Plasma. But however, sometimes it was tough to run POC projects and do the research at the same time because POC projects gets back and forth as the base design of the framework gets updated. So here, after Edgon, we stopped, took time, and started thinking over the core values that we want to create in our framework once again. So here is the exact completion that we've got. First, you can build applications very easily. So blockchain developers will be able to... Application developers will be able to build their apps on LTE-specific features such as instant payments and gasses transactions very easily without hassle. So they can cut the repetitive developments for those features if they use a framework. And every blockchain application developers will be able to build them in the same manner from blockchain beginners to skilled software engineers. The second thing is you can build applications securely. So the expression of all the fraud-proof verification is now standardized with a universal notation. So before discussing all the different types of exit games by natural language and improving the security of the design was very challenging and time-consuming. But now, with an application framework, it's going to be much easier to check and strengthen the security of the design from two aspects. The first one is you will simply write Let's Code, so there's going to be a few potential bugs. And the second thing is the claims designed for an application will be interpreted in smart contracts and clients with the same interface. So in the same manner, so there's going to be, you can reduce bugs. And the third thing is you can build application flexibly. So blockchain application developers will be able to build apps with decomposable building blocks. If they can, we use the decomposable building blocks for different types of applications. For example, essentially plasma and state channels can be built with exact components. And then this decomposition and reconstruction plays a huge role in the abstraction of Layer 2. But the impossible combination of all these little building blocks will be automatically detected by a compiler and you will be able to know that it doesn't work as an application beforehand. So to create these three values, we decided to discuss that there should definitely be a universal language for Layer 2. So there's a saying that math did not evolve pretty fast until some early year because there was no universal notation to describe all the basic math equations that we are now very familiar with. And if you're familiar with all the discussions and proposals made in research before, you probably know that every time making a post, you always have to write so many definitions at first. And at one point, we started wondering maybe it's better to create some universal way to note all different kinds of predicates for plasma. And we thought it would bring more efficiency and in the communication between researchers and be able to provide them with more logical way to improve the security. So if you want to know more detail of it, we described it in our plasma predicate research rebel on our GitHub when we first thought of the plasma predicate DSL. Then plasma group proposed OVM. And as soon as it was proposed, we decided to go for it because that was exactly what we wanted. What does it really mean to generalize all the fraud-proof technology solutions? Putting it to a simple word, I think fraud-proof can be compared to a judicial system. All of them can be compared to a judicial system. There is a constitution, the strongest law, that's sitting on the agreement. And in the case of blockchain, it is immutable. But the point here is, whether it's plasma, state journal, or optimistic roll-up, all the claims submitted from the second layer to the strongest law, the constitution, will be following the same format. And it's called claiming property. So how do you exactly state and claim that this information is correct to the constitution, the example that I used on the strongest law is called adjudication contract on Ethereum. And then how do you exactly claim that some information is correct to the adjudication contract? Here you use first-order logic. First-order logic is a proposition that contains sentences with quantified variables. For example, if you want to state that tarot is a man, then you can claim the sentence in this format. There exists X such that X is tarot and X is a man. Where there exists works as a quantifier and X is works as a variable. And OVM employed this standardized notation to express all different kinds of properties to the adjudication contract. So let's see some examples of the quantifiers. So if you want to state something has this feature, a unique feature all in common, then you have to use universal quantifier. For example, if you want to claim that every cat is cute and you want to make this claim to be true, then you have to submit this claim to adjudication contract and you can decide this claim true if there is no texture of ugly cat submitted to adjudication contract as a challenge. And then if you want another example of quantifier as an existential quantifier, so if you want to claim that there is a fine cat with wings, then you just simply have to submit a single picture as an evidence that has a cat with wings and flying. So using these basic properties, standardized notation, you can even make plasma which is pretty complicated compared to other solutions. And before deep diving into all the properties that are needed for plasma, I would first explain how plasma cash works in general. So there are two users who want to make payments to each other, so they have to lock their funds onto a plasma chain, make transactions, and after done interacting with each other on the plasma chain, they have to make a claim to exit to the main chain, and after passing a dispute period without getting any challenge, they can finally withdraw their funds. And that's how plasma cash works in general. And to enable this whole process, you need three different kinds of properties. Checkpoint property, exit property, and ownership property. So I will go over each property. Checkpoint property is to claim the validity of the coin history. So it says all the state updates within a certain coin range in every single block before the current block are all defragated. So to note this statement, you use universal quantifier two times to specify the certain coin range. And exit property is to claim the coin has never been used, but does not predicate in the notation. And then the third one, this is a key point of this presentation. It plays a huge role in the generalization of the L2 application design. So here it says ownership property is to claim that, is to validate the ownership of the coin and it requires the signature of the coin owner. But if you want to make this application design as requiring a multi-signature, then you have to simply add another address to sign the transaction. So enabling to switch this third property here makes it plays a huge role in the abstraction of the L2 application design. So to enable the standardized notation, we stop and then think over the framework design again and implement the platform cache based on the OVM again after it has gone. So it's now, it's of course secure, prioritizing security, but now even more simple and flexible with the OVM so that the application developers will be able to focus on designing the application logic in front-end development. So they can cut the tendency without repetitive implementation for those L2 oriented features. And also the combinations of different constructions on the L2 are possible. So you can, for example, make channels on plasma or decks of plasma. Here this is going to be the highlight of this presentation and we took a video of our demo app to showcase what kind of application you can actually build with plasma chamber. So I'm just going to explain first what's going on here. He's trying to make a payment from the wallet on the right side to the left on the left side and he's sending, I think it was five die, five die to the wallet on the left side. So now he's pasting the address of the wallet on the left side here, the bonus is sent, so the transaction is completed here. Now he's checking the payment on the wallet on the left side as well. Here now the wallet on the left side has five die. This is the payment that we created with plasma. And the next showcase app is DexApp. It's exchanging one eith to ten die. So he's choosing one eith and ten die to exchange within those wallets. It says new offer on the bottom, so the offer of the exchange is submitted. Then the wallet on the right side has to confirm the new offer of the exchange. So he clicks and confirms the exchange offer. Now it's completed, so if you check the history of the exchange, if you check the balance of each wallet, now the wallet on the right side has one eith and then the wallet on the left side has ten die. So these were one application and showcase apps that we created with our framework. This is the framework development that we have been doing to create these apps. So it basically has two components, OVN contracts on the sitting on the layer one and client implementation. So OVN contract has universal adjudication contract that I just explained the strongest of and then they predicate the little building blocks to create all the standardized notation. And client side has basically two, three big components. OVN board decider and plasma aggregator and plasma clients. Now I'm going to talk about some of the challenges that we have been facing during our framework development. So it was kind of difficult to balance between the runtime design and its implementation at the same time because all the applications developed on top of the runtime is usually depending upon the runtime design. So we have to think about the runtime design, the abstraction of the application, what kind of application that it can be built at the same time. And the interesting part about runtime design was designing primitive building blocks for the properties. For example, it showed up on the example of the plasma that I just explained, that I explained before. The sign by predicate, primitive predicate is, it's a predicate to check if the data is signed by this certain address. And another example of the primitive predicate is N predicate. It's a predicate to combine two different predicates. And the next challenge that I'm going to introduce is property serialization. So property has to be interpreted both in smart contracts and clients. So it has to be designed like a better efficient way for the smart contract to interpret all the properties. And because all the properties, some of the properties can have dynamic variables inside, we have to think about the data structure of the properties better. And the most difficult thing was multi-platform implementation for Android and multi-threaded programming using GNI for Android was very, very difficult. And so considering these challenges, we decided our next major milestone to create wallet for developers and developer portal by the end of this year. So I was just going to explain the little tasks that we are having next term. So we are actually putting all these little tasks on get point, which is one of my founded issues. So please find it. And if you want to cooperate with us to create some of the showcase apps or real-world use cases, please come talk to us and let's cooperate together. Thank you for the endless things.