 So, thanks for coming to the first talk at the Breakout Hall. So today I'm going to talk about the CASPER implementation and I will update the latest status of the development in our research team. Okay, about me, so actually I'm Chiang Wu-Chien. So right now I'm working in Vitalica 3 Research Team as an Ethereum researcher. But actually my background is coming from security and privacy and most of the focus on wireless networks and the vehicular networks. So I'm also a Type A7MIA organizer. So if you have any chance to come visit Taipei, maybe you can contact with me directly. Then I would be happy to have you have a presentation there. And so right now I'm working on a CASPER. So that's why today I'm going to give you a brief introduction on what we are going right now. And I also use Pi Ethereum and Pi's app to develop CASPER. So the right corner actually is our Taiwan's logo, Taiwan Island's logo. It's made by Ethereum. So it's designed by a staff company called Amin, which is also from Taiwan. Okay, so why is CASPER? So CASPER actually is a next generation consensus pro-stair consensus protocol in Ethereum. So it says it's a deposit base, means that you need to put your deposit into a smart contract so then you can become a validator. And so you can start to vote for a particular checkpoint. So why do we need to have a deposit into the smart contract? Because the validator could do some bad things. So if they do some bad things, we can delete their deposit. And also the pool of stake is based on the business time for torrents. So that means that if more than two-thirds of the validator follow the protocol, then no confidence in block will be finalized. Otherwise, I mean, if the majority is less than two-thirds, that means the system will get stuck. So this is called like a lifeness. And this is a kind of situation we want to avoid. So I think maybe it kind of a confusing person. Right now we have two kinds of version of Casper in our internal research team. And one is designed by Vitalik. We call it Casper friendly finality gejia Casper FFG. And also we have another Casper design, which is by Vala, which is called Casper CBC. I think he will have a presentation this afternoon. So yeah, Vala's Casper design is super cool. So yeah, so don't miss it. So today I want to give you a brief introduction of how does Casper work. Yeah, because I think people have already learned some of Casper's work on our wiki or on some of the article, but because we have two version of Casper, I mean, two implementation, so it kind of confusing. So today I just want to introduce you the Casper FFG. So hopefully after this presentation, I can make you to the Casper more friendly today. Okay, so what is the advantage of the Casper? So basically, because it's a proof of stake protocol, it is not like the proof of work. So it means that you don't need to buy the hardware to have more, I mean, computation power to solve the problem that we call the mining. So you can get a reward from the proof of work. So it's kind of like wasting some electricity. So for the green purpose, so this is why we want to have a proof of stake. We want to have a Casper because it's more energy efficiency. And the second reason we want to have a Casper is because it's a kind of finality. It's a pretty, I mean, non-reality concept of the Casper because just like, as I said before, because you need to put your deposit into a smart country. So once the validator misbehaves, then we can delete all of the data deposit on the smart country. But you know, in the proof of work, even the miners have more than 51% computation power. You cannot just punish them. What you can do is just focus on the chain. OK, the third reason is we want to reduce the risk of centralization because in the proof of stake is the vote weight is actually is dollar by dollar. Dollar by dollar. It means that if you pay one dollar, you only can, I mean, get the one dollar benefit. But in the proof of work, if you have more, if you have pretty high computation power, this means once, later, if you want to have more computation power, the price you need to pay or the cost you need to pay is quite cheaper. So this is very different from the proof of work. OK, so yeah, so and I think we need to know this is because this is a bit of a non-photorist base. So yeah, once again, more than to serve validator, need to follow the protocol. So no conflicting bus will be finalized. And we need to keep in mind because validator could misbehave. So they maybe want to try to get the system stuck or maybe they will, I mean, split into two groups. And in each two groups, the vote weight maybe is draw, so the system can get stuck. So yeah, as for this kind of situation, we need to avoid. So why is the change of the Casper? So basically, our goal is to want to have an ever-growing kinetical chain just like we have in proof of work. So the block could be coming one by one. So everybody will see the same chain. That means we can have a data consistency, however, you know, because this is very different from the proof of work because everybody need to reach the consensus. So in the proof of work, if there is only one miner, even he has a very low computation power. He can still solve the problem. Maybe it just take a long time. Because in the proof stack, if the validator do some kind of misbehavior or malfunction, then the system could get stuck. So the change problem we need to solve is accountable, safety, and a possible liveness. And I will explain them later. So now I will give you, so why is validator? How to become a participant into the Casper? So if you want to start to run in a Casper, you need to become a validator. So right now, any ESA holder can become a validator. So for example, if we can set a fixed amount of ESA, like a storage hole to make you become a validator, like maybe 5,000 ESAs. So if you have 5,000 ESA, you can become one of the validator. So basically, if you want to become a validator, you can just send a request message to the smart country here, then you put your money inside. So the smart country actually will record your signature. And also, it will record you how many deposits you put into a smart country. So it could be used to, I mean, used to reward or used to penalize. So why is the law of the validator? So just like I mentioned before, the validator's job is to reach a consensus via votes. So each time when the validator sees a checkpoint is generating, so they will vote for the checkpoint. So yeah, because the checkpoints will come one by one, so the validator, each time they will vote for the checkpoint. However, sometimes because the chain could be forked, so maybe the validator could see two different checking points H from at the same, in the same round. So like this, if you hear the vote weight of the validator is more than two-third, then this system will be fine because the system could work. Yeah, because this is a bit present time for Torian's future. However, if the validator spits into the two groups and each two groups are less than two-third, then system will be, I mean, stuck. So this is the problem we need to avoid. Okay, so what is the vote weight? So actually, the vote weight is not everyone has the same vote weight. It actually is proportional to the total deposit size. So let me give you an example. So here we have five validators and each one have $10, $30, $10 and $40. So that means they do not have the same vote weight. The vote weight should be one, one, two, three, two, one, two, one and two, four. Okay, so why is the validator's job? So if they vote for a particular checkpoint, if this checkpoint is getting finalized, then the validator can get the reward. And in our smart country, because in each time, validator could send a request message to say, hey, I want to join into the CASPER to get the reward or being a validator. So we will have a time period, so every time you can send a request. But also, if you think that the investment into the CASPER is not worthy to do that, also you can make a request to leave the group. So it's more like a dynamic of validator states. So right now the CASPER is called HyperCasper. Next is because when we see this, because the validator needs to vote for the checkpoints. So actually, where is the checking point from? Right now, because we are laying PLS on top of POW, means the checking point actually is coming from the POW. So every 100 blocks could be a time of period. We call it an epoch. And then in each epoch, we will have a check point here. So this is the validator they need to vote for. And why we want to do the HyperCasper, the other reason is we want to incentive minor to migrate to POAs more smoothly. Because if they are doing the proof of work, the reward they can get maybe is less than the reward they can get from the POAs. So this can make them have incentive to migrate to POAs. So hopefully we want to make a canonical chain and the checking point could be finalized one by one. The more checkpoints are getting finalized, that means that we can guarantee the more secure this system could have. Okay, so let's go diaper into the votes. So what is votes? Votes is basically the basic elements into the smart country. So just like I mentioned before, every validator they have different votes weights. So but each time when they vote for a particular check point, this kind of vote will recall into the smart country. So how does the vote stands for and how does it go? So in our system implementation we will have a vote message. And this vote message will have four parameters. So the first is the epoch target and the hash target and the epoch source and the hash source. So let me give you an example of what does it mean. So each time when the check point is generated, when the new check point is generating, so the validator could see the new check point. So if they want to vote for a particular check point, they need to include its target and its source. So what does target means? It means I want to vote this target check point. So basically its hash is 1A by B and its epoch is equal to. And which is a reference from the source. G stands for genetic block which the hash is H5 in epoch one. So the vote message is kind of like you need to include the target hash and its source hash. And this is also a validate vote message. You can vote from here to here. And here is the source. And this is the target. So here we see there is a curve here. So let me, we call it a super majority link. So what does the super majority link? If we have a check point, which has a target and the source, just like the target and the source. So the validator, if they vote for this check point, and to a more than two-third of the validator vote for this check point, then that means this is a super majority link. Yeah, this is also a super majority link. So we also define, justify a check point. What does that mean? OK, so the first definition, the generalist is always justify and finalize. So here we will say g is justify. So here if the validator votes for this check point, because this is coming from the two-third of the validator, I mean this is coming from the justify check point. So that means if this check point is also have a two-third of the validator votes for, that means that this check point is getting justified. I think the color here should be pink. So why is the finalized check point? OK, so basically the finalized check point is means that if we have a certified check point here, and we could have another justified check point here, and which is the direct child of the previous check point, justified check point, then this check point will get finalized. So this is the definition. It's just like a recursive, I mean, you can recursively do that. If the check point is one by one, like that. So for the summary, this is the hybrid Casper. So yeah, hopefully we want to have lots of a final check point like this. So every 100 bars, or we call E-park, then the check point will get finalized. So let's talk about the misbehavior. So the thing I talk right now is just a normal situation of how does Casper, I mean how does the validator votes. So let's talk about if the validator could be a big guy, or they could do some bad things, or how do we deal with that. OK, so I mentioned that because the validator, if you want to become a validator, you need to put your deposit. So when you put your deposit, that also means you put your signature and your deposit edges record into a smart contract. So that means we could have each validator's identity. So once they do some misbehavior, then we can slage their deposit. OK, so this is the definition of the accountable safety. So at least one sort of total deposit will be slaged if two conflicting check points are finalized. This is because sometimes, unfortunately, if there are two check points getting finalized, that means each checking point has two-third of voting weight. So that means we need to get one-third of deposit to be slaged. So what we need to avoid is we need to avoid the double votes. It means that the validator could not vote for a different check point in the same epoch. This is an example. Just don't contract yourself with the same round. And another situation we want to avoid is a kind of surround vote. So assume here. So you have already made a vote from here to here. This is a source. This is a target. So how could you make another vote from here to here? Because you have already know this is a justified check point. If you want to make another vote from here to here, you should use this as a source. And this is a target. So this is the illustration to show that once the validator finds another one, make a misbehavior that he can send a misbehavior report into the smart country. And then if this is true, then this validator who do a double vote, its deposit will be slaged. And this validator will give some small portion of reward. OK, so this is a possible liveness. Because I'm running out of time, so I will just do a pretty quick finish. So I just want to mention here I do not have a verification because in this afternoon, Yoichi will do the verify casper. If you are interested in his corrections, you can just follow his poke. So I will give you the update of our status. So basically, we will have a smart country which will manage the dynamic of the data set. And also all of the votes will be recorded in each epoch. And we have stage condition inside the smart country. That means each validator, if you find there's someone do some bad thing, then they could be punished. So this is our POC file. And we call Casper FFT country. And we also have a testing language for simulation. And later, we want to have a test net to evaluate the correctness. However, we do not have a particular data to announce that this is done. Because this is all sort of research, ongoing research. So if you are interested in the Casper, you can pick some of the reading from here. And this is our HR team. And most of people are from Taiwan. And Virgil is from Singapore. And this is our team leader, Vitalik. And Xiaowei and Kevin right now, they are doing the sharding. And me and Nicholas and I and Kyle are doing Casper. And Zhuzhan will develop plasma later. And this is our research team picture. And so thanks for listening.