 Hello everybody, this is Matej from Consensus Lab and I will be talking about crash failures in the MIR ordering system. So first a little refresher. Last time I was talking about MIR BFT, which was a framework for implementing distributed protocols in general, and there is modular and flexible and especially good for consensus protocols that was available in Hyperledger Labs and it was part of the Consensus Lab Y3 project about scalable consensus protocols. Now this the name and the location was supposed to change, so now that actually happened and MIR BFT is becoming MIR, it already became MIR and it's also hosted on the Filecoin GitHub project. So I encourage everybody to go check it out. So today I will be showing a demo about how it survives node crashes. I will be demonstrating it on two examples. One is the little demo chat application that I was also presenting last time as a tool for basically demonstrating how MIR can be used concretely and then I'll show how a Utico Filecoin client can also be crashed and the others still continue to work with MIR as the ordering layer. So let's have a look. Here we have four nodes. Each one will be running chat application. Let me just restart it. Dennis was so nice to write a little script that starts for independent processes, each one running a node with a different ID with MIR as the consensus protocol and as we can see they start up, everybody has a different ID, they initialize and basically now for example node zero writes a chat message, hello everybody receive the message. If I have a message that everybody sends, for example I say everybody says hi and now I'm typing in all the four terminals at the same time, I submit that, then everybody will receive the very same sequence of messages that are concurrently submitted but delivered in the total order. So I can do that again but now let's see what happens when one node crashes for example node zero, I just kill it and we can immediately see on the other terminals that the connection was terminated and I on purpose left some debug messages displayed so we see what's happening. Here we see that there's view changes happening because the ordering protocol is now based on PBFT and whenever the node zero is supposed to propose something the other nodes would enter a view change protocol and make sure to elect another leader to do the proposing instead. So we see many view changes because node zero is still dead and it's supposed to be constantly proposing something which it is not. So now one node is dead but I can still send the message, you can see that I failed to send it to node zero but I still sent it and now it takes slightly longer because there's some view change timeouts involved but the message will be delivered. I can also do it concurrently in all the nodes at the same time, I write a hello message, everybody tries to send it to node zero, they fail but everybody delivers it. So this was the chat application and now let's look at Utico. Again, Dennis wrote a nice script to start four Utico nodes with the four minors, one each based on the MIR framework. So now let's have it all run, it takes a little bit of time. So here we have it, it's initializing, we have what is displayed here are two Utico demons and two Utico minors and two more of each are running in the background. Now we see that messages are being submit, are being sent around and we can for example a node one which I already prepared a terminal for, we can list the wallet, the nodes is zeros because there's no messages applied yet. So I can copy the address of the node and say Utico, send to this address, one filecoin, mistake, send. So the transaction went through and now when I list the wallet again I might need to wait a little bit, I know I list the wallet, the message went through, I already sent this one filecoin to myself. Now what I can do, I can go and let's say I kill node one, I kill both the miner and the demon. Now if I want to list the wallet I get an error because the node is dead, but I can go to node zero and I can do the same thing, I list the wallet and I can try to send some money to myself, this address based, one filecoin. So the transaction went, the transaction is submitted and now I list the wallet, now it takes a little bit more time maybe and the transaction went through, I send money to myself and the nodes is one, that's how I see how it works. So that's it for now, that was a mirror and it's a crash, fault tolerance with four nodes and one being crashed and hopefully more updates will follow soon. Thank you very much.