Blockchain Basics (Part 3)

I think we actually stopped last time.

Meetup by Aachen Blockchain Club

It’s in Cologne, but I think it is very interesting. It’s organized by the Aachen Blockchain Club, by the Crypto-Kölsch. Crypto-Kölsch is just a few people who organize events from time to time. The name is coming from the Kertl and Kerch, which is the beer they have been drinking. They organize meetings from time to time. Last time we had a meeting they came to us and we had a meeting on the Polymarket. It was about the prediction markets. We had someone from Dune who was talking about Polymarket. This time they are being sponsored by BASE, so Coinbase. I think we love things for free. You will get Glühwein, Christmas cookies, NFT, Christmas postcard competition. If you are near Cologne, it’s probably nice to get there. It’s in the Startplatz. Startplatz is a location in Cologne, which is close to the big cinema in Cologne. There is a large cinema in Cologne. It’s reachable by train. Even the train from Aachen to Cologne stops there. You need to exit Ehrenfels, and then you are almost there. Just look for it. It’s Crypto-Kerch, Christmas meetup.

org: exam date

The other thing was the poll. Someone reminded me. I’m not sure if I should show you all the names. We have nine now, father nine. I have just looked it up and I have no idea if we exclude very many people. There is not much over that. Did you all vote already? What shall we do? I’ll take the mic because I already have to answer it. It seems like the last spread. The other one would be the eighth. The eighth seems to be also very obvious. It’s the eighth problematic. Very problematic. Any big, big objections. This one here, the twenty-first. Nobody is really objecting against it. Let me see. Ah, I can just select the people. For the moment it’s the twenty-first. Good. Let me see. I’ll send the short notice about this. Maybe I can just select it by myself. Good. Now we have… That’s nine. Good.

Install a Wallet

I think the last time we stopped over here. We said “not your keys, not your crypto”. I think what we wanted to do today was to install a wallet. For all of you who have not installed a wallet yet, you can just do it together. I just installed it here. If you like you can follow on your smartphone or on your laptop. The easiest would be to get out of here and I go to Chrome because I think in Chrome I don’t have a wallet yet. So… Good. This one is our Metamask. Good. I just used an empty Chrome here. The easiest way to do it is to just look for a wallet. This is something that is used by a lot of people which is probably not the most convenient one. But we just selected it for the moment. We just look for Metamask, an open source tool. We look for Metamask, it’s an open source tool from the web store and just add it. Just another extension that we add to our browser here. Some time and then this has been added. Now the thing about Chrome is you see it always looks like this fox. I think it’s a fox. Then we just say let’s create a new wallet. We could start with some kind of log in and then probably retrieve it from the cache that we have there. But we just use here this secret recovery phrase. Then first we have to provide a password. Last time I hope you remember that I said there is no password on the blockchain and now it’s asking you for a password. Why is it doing that? It’s just a password to access this particular extension. It’s just a password to secure the extension on your laptop. You also say if I lose the password Metamask can’t reset it because it has nothing to do with Metamask itself. It’s just a password for me. Since this is… I need to get a password now. Now we have to get it off for a second. I just created with my password manager a password in your account last picture because otherwise it would be immediately and probably just… Thank you. So… Thank you. So I just sent it to the password. The password is there. Now another interesting thing starts. What I just created is just a password to access the metamask. So that in case when somebody is just approaching my laptop and clicking on the metamask symbol that you can’t just open the wallet. That’s the protection of the wallet itself. It’s nothing to do with probably a private keys on the blockchain. These have now been created. Since this private and public key is difficult to remember and difficult to write down, obviously you can do some kind of paste. But obviously this key is just that long. And therefore what they do is that they say, okay, we represent the key with this secret recovery phrase. And the secret recovery phrase is now a collection of a lot of different words So if I click on this, you see all the words. If somebody would now take a picture, that would be dramatic, because with this particular picture you could just recover my wallet. So what I would like you to do now is just, for example, I take now a screen down by myself and then copy it. And… Say, okay. So what it’s now doing is the following. Now it’s testing whether I really remember this particular secret phrase. If I don’t remember that, then it wouldn’t let me go on further. That’s very important. So now it’s asking me to provide particular words. So what I will do now is that I, again, put this take here onto different screens. So here, and I need to get my… And you see, I’m going to get my… Okay, so here I have now my copy phrases. And what I would need to do now is that it’s asking me, what’s the number five? Record number seven. That’s the number ten. Okay. Okay. So now you know at least three of my secret words. And you know the position, but you don’t know the rest. So obviously I would be able to do a lot of money on this wallet. But it’s the point. And now what I can do now is just to get some basic usage to continue. And now it’s ready. So now what I can do now is to start getting money. And you see that actually I have nothing. But now I have an ID for blockchain. And this particular ID is somehow my account. So you see here my account number one. And what I can do now is also to get into the details of this particular account. It has a private key, which is… I can check if I provide the password. This is not the password that I use for the app. It’s not the secret password. Okay. We’d like to do that. I can change the name. So let’s go to the next term. Okay. So now I have the name. You see it also provides some kind of symbol, which is automatically created from the address. And what about here? And then you see what it also interestingly knows. What we’re going to do is that to find the address itself. Okay. What were you working for? Over here? Yeah. And then you can copy it. Okay. Go with that. So you see the address is that this particular wallet has on different chains. You see it’s almost the same for everything except for Zolana and Bitcoin. Ethereum, Inaya, Beys, Alcom, B&B, Chain, ODP, Polygon. It’s always the same address because the address itself is being built from my public key. Very often it’s being considered as the public key. It’s not exactly the public key. They hash it or do some other kind of operations on the public key to produce the address. And these are… They all use the same way to do that. Bitcoin uses a different way. They produce my address out of the public key and also Zolana. All these, as far as I know, are Ethereum based. So in particular, Polygon, Arbitron, are actually the kind of Ethereum based chains but second layer chains. I think we haven’t talked about the second layer yet. Okay. Yeah. So they all use the same way to create the address which is now my… It’s my account number with the bank. That’s it. And if I were to get some money now, I can ask someone of you to send me please some money to this particular address. And then I will receive some money from this particular account. Even if we have some play… Okay. So it’s around… I can send you some… Yeah, we have some money. Okay. Yeah. Maybe you sent me something on Sepolia. Let me see. There is Sepolia. Yeah. There is no Sepolia yet. If you see, it’s not the network. You see, there are a lot of different networks. Sepolia is a test network of Polygon. Polygon is a Ethereum-like blockchain around here. And Sepolia is the test net of that. Which means it’s a test network where you can play around this. And in order to do that, you need tokens. And these tokens are called Sepolia. And these tokens you get from a so-called facet. Which is something like a source for tokens. And this is sometimes a website that you just have to visit and then you get a little bit. What’s become… How do we get it to Sepolia at the moment? Do we have to wait for something or…? Okay. Because it often changes. Sometimes it’s just a website that you just have to keep open for some time. And then you get a few of these play tokens, test tokens, more or less. So, as you see, we call Sepolia. Sepolia. And you see it’s not there. It’s somewhere in the token for a case to change. Yeah. Okay. So, let me see. Networks. There is no way to edit. They changed somehow the user. In the face of that one. The wallet. You see the back. All right. All right. All right. All right. Counts. Okay. You go from here. Okay. You go to networks. You know. Networks. And now we go to… Yes. Test networks. Yeah. Yeah. And now you see Sepolia. Yes. And you say, okay, Sepolia. It should be there. No, no, it should be there. It’s actually there. So, but just by… You see if we have Sepolia in my wallet here. It should be the same as the T-re-m-a-d-r. Sorry. It should be the same as the T-re-m-a-d-r. The same as the T-re-m-a-d-r. Yeah. But I don’t see it. It’s not being shown here. Maybe a 5 cent money. Maybe it’s being shown. That’s okay. Sepolia. What I’m saying. That’s what we’re doing. You see what you also see here is that we get some kind of RPC. RPC is the server that provides us access to the network. Yeah. So this is Infura. Infura is a very prominent provider that is providing access to different nodes. It’s providing us access to the network. Yeah. If you know the concrete address of one of the blockchain nodes, then you could access that one. But Infura, somehow, a service provider for that. And in order to use that, you can just access this one. Yeah. So, and it’s centralized. It’s a C6. Okay. Yeah. Very interesting point. It’s somehow a centralized system because we access when we go to another network, and we see what we see is that. Sepolia here. Then let’s say you go to another network. We go to Fulva. We also see Infura. So somehow I’m telling you, hey, guys, what we are doing is decentralized stuff. We don’t want to become dependent on a platform provider. And what we do is we will lie on a platform provider, which is in Fulva. So it’s in this fortune. We will, I think this will pop up through the whole lecture from time to time that actually we are working on a decentralized system. But then there are these kinds of access points to this decentralized system that we use. And they are somehow centralized. It’s always a mixture. Yeah. And that is what some people also criticize. Yeah. Okay. So, so even if you think if you said something, then. So what I will do now is the following. Yeah, I can show you the key. We use it on your mobile. Okay. So what I will do now is that I provide the. Is it. You see. No. There. And. And we use. Yeah, we don’t have it here. It should be something. Okay. So that’s now my address. What is not doing even scanning the address. And that is not secret at all. No, just my bank account. And he’s now I could also take this and copy it for example into the moon and ask you to send me one. No, just before the exam. Okay. Yeah. So that’s the that’s the. And not even sending me something. Yeah. And now we see what happens. Yeah. But with the center last x. To the blockchain. For example. If I am a minor and have a version of the blockchain on my own device, right. And then if I find a block, I send it to everyone else. And this then get updates at wherever. So it’s pointing to some where some location where there’s also a version of the blockchain. It’s pointing to a minor. Yeah. Maybe they also run a minor. Yeah. So it’s local. And this minor has the copy has the same copy of the blockchain. And this minor has the copy has the same copy of the chain as all the other ones. Okay. Yeah. So because that all the miners have the same status. So always remember, the blockchain that shared global state. Yeah. So if you want to achieve. And for it just a note, which is connected to the working to create your own. No, this is the only thing you can send the transaction. But in that case, because it’s complicated. You know, I’m creating a lot of work. I send the money, but I’m not sure whether it’s. It’s not working. I can send you something on main. And I can send you something on the main. And one of the companies. So normally it’s something like. Yeah. Maybe you can. Yeah. Maybe you can. There is. I don’t know. Just. For the. Up, not on the. Not. Not on the. Just. No, no. Yeah. Yeah. I’ll let the. Yeah. Yeah. Can. Yeah. So. So. It’s really the last time I used it, it was just as a pop-up window that changed it. So, okay, so, but we now have to pull the R. Zero point one, zero point one, zero point one. It’s, it’s worth nothing because it’s test-copy. You could, and this is now, it’s in my wallet. If I want to send it to someone else, I want to send it back to Ivan, then then, ah, it should, ah, the interesting point now is how do I see from whom I got it? Back, there should be something activity, I don’t know, activities yet, and notice there should be something to see the transactions that I got. And because of what I wanted to show you now is the transaction on the, I send it and then comes the teams. So, here we see now, and I wonder I should be able to see from whom I got it. They changed the interface, I can see it on my, yeah, so Ivan has now sent me via Teams, the transaction, you know, and you see the address, I’m looking at the Zipodia.meta.io. And this is now our view into all the transactions on the Zipodia blockchain. Very similar to mempool.space, where we looked at last time. And what we see now is that we have a transaction here that is in block number 9,760,000. It came from this address, which is the last address, and it went to this address, which is mine. You remember it was 3DF31, and it was 0.1B, and the transaction fee was 0. something. And the gas price for doing it was 1.5B. The gas price is somehow priced, they have to pay for the execution of this transaction. They were, let me see some more details over there. So you see it on there. The blue is the gas price, the miner. But that would be the transaction fee, also the miner? They also go to the miner. I wonder that they also have, because it’s a simple transaction, there is not much of a contract behind it, that they also charge some gas price for that. So that’s something we probably have to do. That’s what we do. The gas price is just a value, and that moment of time, it’s like when you go to the petrol station, there is a price of 15 million euros, this is gas price, so this is how much you put paid, and that moment of time, and the transaction fee is basically the consumption you do, and the gas price. The gas price costs per byte? Yes, per byte. Cost per byte per retribution, of course. You can talk about this in the next lecture, but there is no transaction, and it costs a certain amount of operations, and this operation gets a certain moment, 0.1.5 per operation. So when you multiply the amount of operations on that price, then that’s when the transaction fees. So it’s actually something when we, I have a simple application by the creator, some NFTs, for that one, you can ask the miner with a test statement. You say, I would like to perform that particular transaction, how much will it cost? And then it will tell you, based on the complexity of the operation that you want to perform. So for example, storing a lot of data on the blockchain, a little lot of computation, this will cost you the following, and this is then multiplied by the complexity of operation multiplied by the gas price. So it’s like the gas price, as Iman said, it’s like the amount that you have to pay per kilometer is your car, and the kilometer is computed by the business that you have to do, and that is the transaction fee. You will see that when we talk about smart contracts, and you will see how to compute that. So we have an application that creates some kind of NFTs and checks the integrity of files, for example, and for that we compute the price. Okay, so, okay, now I know where it’s coming from, and now I just copy the address, and then I go back to my wallet, and now I send some money to this particular wallet, this particular address, and max, yeah, so this is what I have, you see he said the 0.01, so it’s putting a little bit less because we have to pay transaction fees. So let’s send back to Iman, now less, let’s make some, in here, five, or something, but, okay, it’s telling me that it can’t be about in 12 seconds, it should be being performed, and that from lecture, which is just the frankly name that I gave it, to this address here, and now I send it to him. Okay, now it’s being waiting, because it has not yet been included, again somehow, I can’t accelerate it by providing some more fees, but to make it faster, and now it’s being confirmed, and which means now that, I just send 0.05 to the R, see, yeah, are there miners on the test net? Yeah, there are miners on the test net, and I think I’m not sure if, well, it’s interesting question, there are some good ideas for some exercises, for you, I would assume that these are sometimes just miners, which are being organized by the whole, a PuliGuard organization, but those people who organize PuliGuard network, they just run some tests, for those people to do. We make the experience that for a long time, we developed smart contracts, and we first tested them on Zepunia, but then on Stratus, even if it was not on that, but the point is that the whole test net, it’s sometimes not very reliable, and sometimes you have very long transactions, and for that reason, what we do nowadays, as soon as the application is really up and running, we move it to PuliGuard. They have to pay with real tokens that you have to pay for, but it’s much faster, it’s more reliable. It’s happened at several occasions that we had some nice demos where we created NFTs, or we put some kind of technical data on the blockchain or things like that, and then, for example, when it’s around four to five o’clock here in Germany, it seems that then the US people wake up and start using NFTs, very often the transactions fail. They just took very long, so we got timeouts and things like that, and therefore just pay. All together, how much did we spend? Five to six years, I think, was all the tests that we had. Not the quality of the question. I sense you’re a little bit of a real MTH. Yeah. It should go up. Can you see? Can I go back to the same very word, Sepulia? I thought you were changing the code. Down? Down. Yeah. Up and up. See? I thought you were not talking. I was here. I thought you were not going to go. You weren’t going to go? I thought it was showing all of the power. Okay, there we go. So, you sent me 0.01e, which is at the moment three dollars, which was… So, I think I have to send it back to you. Otherwise, they’d say, oh, you’ve got a… Right, right. And you sent a euro amount, but anything, because if you go in the store and say, I kind of pay with Ethereum, they probably won’t have Ethereum credit. Yes, and no, you can’t. Either they accept Ethereum, or I swap it against another token. So, this is what you see down here. Sir, can I type in somewhere? Swapping Ethereum, like, that is valuable three dollars. Yeah, then what you would need to do is, you would need to convince the people in the store that they accept E, if they don’t do your loss. It’s the same as if you go to London, and you want to give them some euros. Normally, they take euros. But if you go to another country, they say, no, we are not taking euros. Sorry, go to the exchange somewhere else on the street. This is what you can also do here, so you can swap this. Then you see, you should be possible here, but then you go there, and then I can say swap. And now, I can swap it to US dollar, to USDC, here USDC, link to whatever, you like, sushi, whatever. This means, this is exchange now. So you need to swap the tokens. Normally, you lose like that. So you have to be careful, if they have provided a good exchange rate or not. So I was playing around, in particular in order to get some USDC, so I was also changing some heat, and it went also from another chain, and so on. I think in the end, I paid a lot of fees over there, because they all want to get money for the new exchange. But that’s possible. So what you see here now is that, so you see here, that’s not true. Somehow, real one. And there you see that there was $100 on this one, and you see also that I have some kind of euro. So this is 1.70 on euro, so it seems that I have euro in my wallet. Looks quite convincing, isn’t it? Actually, this is a token that Ivan created for our lab, and it’s somehow a stable coin. So in order to get that, I go to Ivan and give him 10 euros, he puts it somewhere in a box in our office, and then he produces 10 euros for me, with a particular token. So we implemented our own token on, and this is on Pollygon, and this is something that we use, for example, to pay for coffee. So if you come to our lab, then you will see there is a coffee machine, and a coffee machine, there’s a QR code, and when I scan the QR code, then I automatically get a transaction of 0.25 cents, that’s being sent to a smart contract that is managing the coffee. So by that, we just implemented our own currency, and we could do that also, maybe we can do something similar as an exercise, that we develop our own currency for our course here. And the question then is, we can call it the lab free lecture token or whatever, you could also call it euro, you can give it somehow a euro symbol here. But it’s somehow misleading, because I could also call it USDC or whatever, it’s somehow misleading, and therefore it’s very important that when you deal with all these tokens, we need to see that you get them from the right source, and the right origin. So you see there are also, there should be some, should be some USDC coin, yeah, there’s USD coins, yeah, USDC, that’s the real USDC coin, which is worth 8.7 dollars, yeah. And then there are some other tokens, there we go. So what we need to do now is also to go back and to send you the money back, let’s try to see. The coin is now really interesting on the, I don’t want to swap, but I just want to send it back, so I am still looking for the point where do I see your address? Oh yeah, why are there, for example, Ethereum chains showing with different exchange rates? Yeah, this is linear, it’s a Ethereum on my other team, I think it’s in… So that’s also the point, you can have the same currency on different chains. That’s also possible, that you have dollars in different banks. Yeah, but what we’d like to see now is, where did I get it from? I think it was in the bottom. The bottom, should be something here. I, that’s your address, sorry. Yeah, on what? Seven, and your address? So it’s the 7815. 7814, yeah, okay. 7818. Okay, 87, your diesel, yeah. Okay, so I should send it back to him. So 781872, yeah, good. And max. Okay. Now it’s getting back in. It was like 10 cents, 12 cents in the cash. That’s a six, yeah. So you see, sending ETH around is expensive. They’ll be trying to receive USDC or Bitcoin, they’ll be paying 0.0 cents or so. But sending ETH around is expensive, because here we are on a layer long chain. So it’s somehow a big bank loan. And they are operating on it. Okay, so here we go. One, two, three, four, five, six, seven. Okay, your transaction is complete. You send to receive, and it’s like that. That’s the receiving value, and block number, so we see here. All right, that’s a good transaction. So you see when we go back now, to lecture, so I still have zero, one, two, seven. Okay, so it didn’t send all of them. So maybe, how could this happen? Interesting, maybe it just calculated transaction fees, and therefore it calculated how much it can send, and then the actual transaction fees were less. That is then still denied. Okay. So how does this shopping of tokens work, and like the custom created, you know what you showed, like could you also like shop tokens, like what is the use of it? And to create some new tokens, just for example, to create a new currency within the particular community. So an example could be that you, last Saturday, yeah, last Saturday, I’m living in a small town south of Cologne, we had a Christmas market organized by the local football club, when you want to drink some blue wine, or when you want to get a sausage, you go to a particular box, and you go to a box office, and there you exchange your role against plastic tokens. And that’s the currency, yeah? The blue wine has three tokens, a raiboukken, hashbrowns, there’s one token, one of these blue things, and that then frees all the people who really need to deal with cash. Now you have only one point where you exchange cash against these local currency. So we could now create a particular token just for our lecture. And we use that token, for example, whenever someone of you is asking a question, you get a token. Yeah, when somebody’s answering a question, you get two tokens. And at the end, you count the tokens you got. This token has no value at all, but it’s just for us, it’s some kind of digital asset that we can move around. Actually, when we are moving around here, I just digital assets with which we associate value. I mean, the point that this is worth now 7 cents, is just because someone in the world is willing to pay me 7 cents for that. Actually, these are just some bits and bytes, some are on the computer. It’s the same that someone is willing to pay me 10 euros, or five euros here for this particular piece of paper. It’s just the point that someone is willing to pay me, so I take it to that. Actually, here with my, this over here, go back to this browser. No, this one, no. No, here with the euro, this is worth 1.17 euro. Nobody will give me 1.17 euro for that. Even, maybe even, because I exchanged it with him, but he’s the only trust person there. Why does USD coin doesn’t have the same value as US? It’s actually interesting. I also stumbled about it, and I thought hopefully nobody’s asking. I don’t know, it’s really interesting. It seems to be, you see, it’s 8.74 dollar, which is 8.62 USDC. Actually, it should be the same, because it’s a stable coin. But even that stable coin is somehow fluctuating. Now, you see, it’s not always a one-to-one mapping. But there is somehow some guarantee that it’s not getting down to 50%. Okay, yeah. Maybe there’s two technicals, but how would you get the information? So, right now for euro, for something, there’s no… I think because we didn’t provide something, I think we should have provided something at a exchange or something. Oh, okay. I’m not sure if you can do it for your local token. I don’t know. I think you can. You can see the liquidity pool in a certain number of USDC. Then it would be working, but that would really require that you see the liquidity pool, that you could money into the liquidity pool, that allows you to exchange that, and then if you look up, the current exchange rate is in the liquidity pool. Another lecture. The liquidity pool at DeFi is another lecture. Okay, so, yeah. That’s it somehow. And now you can add also these kind of wallets here on your smartphone. So, I also have a metal mask here on my phone, and there I see somehow the same. Let’s try another. I’m sorry, I don’t have any left to get it from USDC to HMI, but you see it says here are $430, which are on this particular wallet. I can look it up. So, the same part is now also, I don’t have just this particular wallet, I also have coinbase. You know, so the coinbase wallet, which starts like that. And this coinbase wallet after some time, is then also showing this, and this is now putting it in euros, or it’s 97 euros, which I’ve been told for on this particular wallet. The wallet itself is just a storage for your public and private keys, nothing else. That’s it. And if I want to swap now, to another software, because coinbase or metamask is just a different software, which I need to trust. I trust metamask that they are not leaking my keys, and also just coinbase that they are not leaking my keys. And the point is metamask is open source, it’s a community driven software. Coinbase is coming from a company. So, it’s the decision whom you trust, actually, for that. So, but how did I get, yeah, my information from metamask to coinbase, I just took the private key, while nobody was looking at me, I just copied it from one app to the other, and then the other app knew the private key, and then from then on, it can show me all the information. Something else that you should know is the following, and you go back here to our wallet, is that, currently, this is a wallet, and this wallet is secured by private key, and now it’s sourced, the private key, and the public key of that. So, what I can do now is also to create another account. This is now account number two, yeah? And I can also change it, and then so this is now an extra two, okay? Okay, and what I can do possible to do now is if I go back to this one, and I can send money, you see, we go back to our, that’s it, we try to send this one around, and our next one too, possible, no. No, no, no, add in the, no, no, no, no, no, no, no, no, no, no, no, no, no, no, this one, lecture two, and we take max. So what I’m doing now is that, I say zero, no, it’s not possible, you have not enough, because it’s just easy, after all, take one, you see, I can just send tokens between different accounts within the same wallet. So it’s something like, I now created somehow the account at the bank, and the bank gave me the second account number. And you can also create the third one. So if I like, I can also create a third one. Here’s my lecture, so I’ll add you, and the third one. Thank you, and the fourth one, and the fifth one, as much as I like, yeah? So this lecture now have the private key, right? And now with this private key, I get to do this wallet, yes. But the other two accounts have other private keys, right? No, that’s why I want to show, and I said yes, but it didn’t work. I get into this wallet with the password that I’ve chosen at the beginning. This is just protecting the wallet itself on my computer. And you can have, for example, like you have the private key in MetaMask, you can have one password, and then you have the private key in Coinbase, you can have a different password for Coinbase, because it’s just an application, nothing else. The wallet has a private key now. And with this private key, I can create the various number of accounts, which are all derived from the private key. The concrete algorithm is something, that’s probably also something for an exercise that we somehow investigate out in this being done, because this is a deterministic algorithm. With my private key, I first created the lecture account. When I create a new one, I get another account, three, four, five, six, seven, eight, as much as I like. But they all depend on the same private key. And what is happening now, and this happened when I went from MetaMask to Coinbase, and had the same question, I said, okay, now I have three different accounts in the MetaMask wallet, but I only have one private key. So I took the private key and moved it to the Coinbase account, and there was only one account. So hey, where’s all the other accounts from? Because you see, I just divided it up into different accounts over here. So there is a master, and then there’s one thing, that I use for our example, NFTs and some tests, you see they’re all empty, because they, for example, just contain some NFTs. And they were gone. But then when in Coinbase, I said, create a new account. It created, in the same deterministic way the other accounts, and suddenly, I saw all the other tokens. So the private key just determines the first account, and the other accounts are created in a deterministic way as much as possible. But they all have another address. No. I was just gonna say you have one master private key, and from there it derives an entire tree of child private and then each account is a child private key that has its own public key, and then that public key is hashed with the address. So you have one master private key, which is different from each individual private key in each account. And it’s somehow a deterministic way how you do that. There is no random in there, because otherwise you couldn’t start. So you see here on this particular account, I just called it NFT, yeah? So I don’t have any tokens. I’m not talking at all, but I just have NFTs there. And you see, that’s a token here, and which belongs to a particular contract, and I can check on the Porygon scan what kind of contract that is, this particular contract that even created, and then which we just saw some kind of NFTs. So you see, it’s all, actually, these are just interfaces to the information that is on the blockchain. And also when I created this particular wallet with this new address here, three something. Then I created this one here, and you see that here on lecture one, I have all these different tokens here. And then I created the address for that one. There was no communication between my wallet and all the different notchanks. So there was no kind of, hey, there is a new user, and this new user is now having this particular address or this particular password. Nothing happened. We just created this wallet locally on our computer, and it was the first transaction that even sent me the first money, and when you sent me the first currencies, then on Ethereum and on Zepolia, now there is an entry in the blockchain which contains my address. So that’s somehow my first appearance on the blockchain. And what my wallet does actually is that when it addresses accesses in Fuwa, it asks in Fuwa, hey, I have this particular user here with this particular address. Tell me about the money and the currencies and tokens that NFTs this particular user owns. So it’s not in the wallet. It caches some information. But when I open it up, it’s just getting to the server, getting my amounts, and then it’s showing me. That’s just what’s a lot to have in there. Yeah, so I can just carry it to you, just create your own wallet, play around a little bit, was it? Yeah, and if you’d like, you can also send it to somebody. Fulia, both of them are just from this Fuli, this is on FuliGon, it’s Matic, and the Matics are very, I mean, they are quite cheap. That’s just something you can play around with. And then you can send money around. You will also see that when we go back here to, this one, there are some NFTs, that are created. That’s also a very interesting thing. In MetaMask, for example, it’s very uncomfortable with NFTs. Now, in order to show the NFTs that you own, here you would need to tell MetaMask which smart contract it is, and what kind of NFT number it is. So you really have to tell this wallet a lot about the things on the blockchain. This coinbase, the big thing is that coinbase really knows about all the NFTs and knows how to access them. And when I go to the NFT down here, and when I say show me all the NFTs, you see, I see a lot. So it’s the same thing, it’s my NFT address, but it shows me all the other NFTs also that we were playing around with. Here I don’t need to tell the system about the smart contract I’m working with, and which particular NFT number it is, just shows me everything, just retrieves everything from the data. So what they actually do is they keep somehow a database of everything in this particular address. So coinbase, in this respect, it’s much more comfortable, but you rely on a company that’s providing you the work. One question, when you move your wallet from MetaMask to Coinbase, what happens to the one in the MetaMask? So still there. Okay, but when you also move there, then you meant that the accounts will be gone at first, and when one adds it, only then one can see the NFTs and the values there. But what is the use of it if someone has like two multiple accounts, multiple money’s there, one has to manually add accounts there to get. It’s just that you just need to do it because you only need to transfer your master private key, you are not transferring the other, you write about my private key, you only move that one from one wallet to the other, then you can just create the other ones. You see it’s very simple, plus, plus, plus, plus, plus, and then all your accounts are there. So there’s not much effort. So it’s really, you can consider a wallet somehow as some kind of filter, a filter on the blockchain. So it’s really something like glasses that you use to look at the blockchain, and then you only see things that are owned by you. And the wallet itself checks this by just checking if you can produce the appropriate challenge for the particular address for which this token is stored on the blockchain. There’s an entry which says that this particular 035 address that this token is owned by 035. And in order to prove that this is me, prove this is me, I need to be able to sign the particular challenge with my secret key that the blockchain can test, that only I could do that because I know the secret key, which is another one. Okay, so yeah, so much about this. It’s just really important you have to keep this somehow secure. Yeah, I mean, the whole security about this is my passport for that. If I lose the passport for MetaMask, or if I tell you by accident the passport for MetaMask, you can just open my MetaMask and then you can start the transaction. So an attack would be, you would just try to get my passport for MetaMask, you open it, now it’s even open. See, it’s open, it’s not asking for the passport, you get there and you say, ah, this particular NFT, send it because this is worth a million, you enter your address and then it’s gone. And then you have stolen me an NFT. So easy this. And it’s the same as if you would tell me your secret password for your banking app. Yeah, so it’s actually the same, but you have to be careful with it. And also, what do I know now? I know now two addresses. I know Ivan’s address and I know his address. This is a thing now to check how rich they are in order to check what is the, in order to check this particular address. I take Ivan’s bouquet, but I take your address also. Make it Tonya and Sepholen. It’s this one here, yeah, it was from, yeah, that was yours then. So, and this is the address of Ivan and all the transactions that you did. So that was 0.5 visa, visa that you sent me, yeah, and he was also playing around with someone’s as much as this particular address. So I see this complete history on the blockchain because I know his address. And the clever thing then is to do, is really to use a lot of different accounts. So for example, clever thing, and that you probably did it for him was first to take one of his one million E-Cloud IT loans, send it to another account locally, and then from there sending it to me. Because what I could do now is to look up this transaction, then to look up where this transaction came from and then I see this address. So even it’s probably even good to have different wallets. Yeah, which are more independent from each other. But if you send money between this, you can always put that. Like I think that there are cyclone smart contracts where a lot of people send money in and then it sends to a lot of accounts back out and then it’s for native money. Just to make it look like it’s legal. It’s money laundering. Because with today’s location, you can’t really determine where the money came from. The native cash is something like the following. We could put our box here in the middle and then you all put money in, 10 euros, 20 euros, and in exchange, you just get some kind of vouchers. Now you get vouchers out of that. And then I pay you with a voucher. And you use the voucher then to go to the box in the middle to get the money out. So what we did is we just invested some money in the middle but the transactions are outside with this voucher that we are sending around. Like email or that could be a secret number or whatever. And you will use that as a secret number to get the money out of there. And this means nobody can track that I gave him money. And therefore we can do some very, it’s a nice way to do some money laundering and therefore to native cash is legal. I don’t think so. And they also have an appointment, which is… What’s the method called? What’s the method that… The method is the smart contract that has been used in this particular transaction. So here we use the transfer. The transfer, here you use submit proposal, submit vote. So he was doing different things with this particular account. So he was using different kind of smart contracts. The smart contracts are here. So you see here is where he addressed this particular method. So what he did was he did a transfer to this particular address. And what he did here is that security by our IT has to lock down, it’s up for five minutes. And he thought in this ago, he created a contract, he created it to do this, with this particular account, on this particular smart contract. And that was the method that he used. This has no, the method has no clear name, but it just has an address. So that’s a smart contract. Yeah, it’s a smart contract with this particular letter. Yeah, so you have a smart contract and that has a particular letter. You go back here, let’s check it out. So you see that one here, the contract, that’s the smart contract. So we are looking at the smart contract now and this smart contract. I can look up the contract itself and you can see what kind of method it owns to read within the smart contract. You can see these are the read operations I can do on the smart contract and these are the write operations I can do with this. Thanks professor. We review what exactly Jim and we Yes, yes, that’s right, yeah. Can you tell me a little bit about the money you were making? Money or? I don’t know what money was actually doing. The first thing was that you said, well, I made this comparison with a bank account. If you did something really wrong on a bank account, you can call the bank and tell them, hey, I did something wrong. Can you please reverse it? It’s not that easy. If you sent me 100 euros and then you call the bank and you tell them, oh, sorry, that was a mistake, I’m not sure that they will immediately reverse it because maybe that I gave you some value for that. I sold you something for 100 euros and if the bank would just say, oh, it was a mistake by him, this would make the whole bank no longer trusted. It can’t be done on the blockchain account. That’s the reason why, you saw, I was double checking, is that really your account? Is that really your account? Mistaking something there and the money is gone. It’s just on an address and somebody feels happy about it, but you re-attempt it. So this is the contract of the NFT? Yes, the NFT will be here or this is actually the NFT. That’s the contract of the NFT and another NFT can use it as well. It’s the contract, it’s a smart contract that is owned by us, in particular by Eva, because he put it on the blockchain, so he’s the owner of that one, so it’s associated with his particular address and he is able to access all of these functions. Some functions can be accessed by everybody, so I can say balance off, so I can ask for a smart contract, balance off, and I can say purely. You can put your address. Ah, it’s the balance off, it’s the balance off a particular user. What can I do? I own a rough, total supply. So I can ask this smart contract, total supply, which means tell me how many NFTs you own, and then it tells me 244. So this smart contract is counter-starring 244 NFTs. We have all the NFTs around, and some of the NFTs are owned by me, some of the NFTs are owned by Eva and by other people and things like that. So when we talk about NFTs, we can create some NFTs, and then normally we create it with this account, that’s why it has 244. So we use it as our own master for that. So in order to do that, it’s something you could copy the smart contract, deploy it for yourself, and then you have an NFTs. You can do 256, is it just one and it’s 56? No, it’s more than two. But this is something we have to be careful about. So in blockchain, I mean Ivan will tell you about this when you discuss the smart contract, in blockchain you are very careful about data, and about the amount of data. When you can use a small int, use a small int, because it all costs money. Every byte costs money on the blockchain. And then if you really make a stake to make that a data type, that just can store 256 values, suddenly you have a big trouble in the smart contract. So these are really things that you have to observe when you develop smart contracts. Much more than with any other kind of program, because you really use very strange data types.

slide: “Sustainability - Energy consumption”

see 1:06:00

Okay, so let’s go back to these slides. That was something… I didn’t show that, right? Good.

So that is something that now comes across, the big discussion, sustainability of blockchain, in particular, proof of work. You know, it takes a lot of energy to compute the proof of work,

slide: “Energy Consumption by Country”

and sometimes you see these kind of charts, you see countries, it’s old, I think it’s old. But it’s somewhere going in this area between 20 and 29 and back and forth. And you see Bitcoin has the same energy consumption as Thailand or Poland. So that is something where people say, wow, that’s too much. Why should we do that? And that’s a lot of critique on that one.

I’m not sure. I would like to see now a chart comparing this with ChatGPT, which is similar, but that was the big issue.

And four to five years ago, everybody was talking about that. Why is this so energy-intensive? we need to find another solution.

slide: “Validation of Transactions in a Community - Consensus building”

But then the other solution is really then to think about other consensus-building methods. So this is proof of work. So it’s solving a crypto-puzzle, and it requires energy, computing, performance and time.

What we could do is, we can run a blockchain, everybody of us is running a node, and we just have one very explicit validation node. BigchainDB, in the areas in the old blockchains, in particular, did this. We can just tell you, you are the one who’s always validating the blocks. We trust you, and then you distribute the blocks to all of us. So we all have the status of our transactions, but he is our trust provider. We could do that. It’s still a blockchain. Some people would argue, no, it’s not a real blockchain because it’s not proof of work and so on, but it still follows the rules.

We could choose some kind of lottery protocol by randomly selecting nodes. So we could do some kind of random algorithm. Intel did this with a blockchain, and what they did is, they had a chip, and that was a trusted chip that needed to run on the miners, and this chip was computing very good random numbers. And then it was something like, the next miner will be a miner who is following the random number or so, and that was trusted then just by the hardware, by the chip, itself.

The big thing that everybody is now using almost is this one here, proof of stake. And proof of stake is somehow, it moves trust from algorithms somehow to the institutions, but also into an economic game. So we are no longer just computing in order to find a random number that satisfies a particular condition. What we say is, okay, if we want to run a blockchain, everybody of us should put 500 euros into the pot for it. And 500, let’s say 1000 euros. That’s quite a lot of money for us to use. Also for me. And from then on, as soon as we detect somebody cheating, we take the money. So your stake is actually a 1000 euros to run a miner, and if we detect that you are somehow trying to cheat us, we take your 1000 euros. And by that, we somehow secure the whole thing by an economic game, more or less. In total, with Ethereum, we see it later on, it’s 23 ETH times 3000. So it’s approximately 100,000 euros that you put as a stake into the system, and this stake will be taken away if the community detects that your miner is cheating.

student1: But for mining, I don’t know how it works with Ethereum, but for mining one block, you still have to solve the crypto puzzle, right?

prof: No. You’re just being assigned to collect the transactions and create the new block. You don’t have to solve the crypto puzzle. You are just authorized to do it next time. And therefore, we don’t need to solve any crypto puzzle, and therefore we don’t need to provide energy for transportation. And therefore, the shift from Ethereum, the proof of work, to proof of stake, saved, as estimates say, 99% of the energy.

student2: So you mentioned that each of us is like 1000 euros. Are we a single node or is each person a single node?

prof: Each person is a single node.

student2: Okay, so if a node tries to cheat the other nodes, they take all the money?


ChatGPT: “In Ethereum proof of stake, if a node tries to cheat the other nodes, what happens? Who takes all the money?”

In Ethereum’s Proof-of-Stake (PoS) system, cheating doesn’t pay—because the protocol automatically punishes the validator by destroying part of its stake. This mechanism is called slashing.

Here’s the simple flow:

1. Validator deposits stake

To become a validator, someone must lock 32 ETH in a staking contract.

2. If a validator cheats

Examples of cheating include:

  • Double signing blocks (attesting to two conflicting versions of the chain)
  • Proposing conflicting blocks
  • Surround votes (a specific consensus rule violation)

These are detectable by other validators.

3. The network slashes the validator

When the violation is proven:

  • A portion of the validator’s staked ETH is destroyed (“burned”)
  • The validator is removed from the validator set
  • They must exit the network

4. Who gets the money?

Important point: Usually nobody gets it.

Most of the slashed ETH is burned by the protocol (removed from circulation).

However:

  • The validator who submits proof of the violation (a whistleblower) may receive a small reward.
  • The rest is permanently destroyed.

5. Why this works

Because validators have real money locked up, cheating becomes extremely expensive. If they try to attack the network, they risk losing their stake.

So in short:

  • Validator cheats → proof submitted by another validator
  • Protocol slashes the stake
  • Small reward to whistleblower
  • Most of the ETH is burned

No single node or authority “takes all the money”—the system punishes the attacker automatically.


If you want, I can also explain why Ethereum burns most of the slashed ETH instead of giving it to other validators (the reason is actually pretty clever for game theory).


ChatGPT: Follow-up: “Yes”

Good question—this is where the game theory behind **Ethereum Proof-of-Stake gets interesting.

Why Ethereum doesn’t give the slashed ETH to other validators

At first glance you might think: “Why not reward the other validators with the attacker’s stake?”

Because that would create dangerous incentives.


1. Prevents validators from trying to trap each other

If slashed ETH went entirely to other validators, they might try to trick competitors into making mistakes.

Example:

  • Validators could coordinate to cause network conditions that increase the chance another validator accidentally violates a rule.
  • Then they would profit from that validator being slashed.

By burning most of the stake, nobody can make big money from someone else’s punishment.


2. Removes profit from attacking the system

If attackers knew someone else would profit from slashing them, it could lead to collusion attacks.

Example scenario:

  • Two validators cooperate.
  • One intentionally cheats and gets slashed.
  • The other collects the reward.
  • They share the profits.

Burning the funds eliminates this possibility.


3. Keeps the focus on network security

The goal is:

  • Validators behave honestly because they risk losing their own money.
  • Other validators report violations only to protect the network, not to farm rewards.

So Ethereum gives:

  • A small whistleblower reward
  • Most of the slashed ETH is burned

This keeps incentives aligned.


In short:

  • Cheating validator → stake slashed
  • Small reward → validator who reports it
  • Most ETH → burned (removed from supply)

The punishment hurts the attacker without turning slashing into a profit game for others.


If you’re studying blockchain concepts, another interesting thing is how Ethereum punishes groups of attackers much more severely than single attackers. The penalty scales dramatically. I can explain that mechanism too if you want.


slide: “Validation of Transactions in a Community - Consensus building” (continued)

prof: They take the money and turn it off. They get the money. Or they put it into a pool. I think they put it into a pool.

Ivan: They first “slash” him and I think the rule is… it’s not directly…

prof: But I’m not sure where the money goes actually.

Ivan: Probably it’s distributed…

prof: Maybe it’s distributed or they just send it to zero (ie. they “burn” it).

student3: How do they do it? Take the money, the money pool, and the pool…

prof: It’s a voting procedure. It’s probably interesting to check in more detail how they actually do it. But as soon as they detect it, they just take the money.

student3: They work like they do more than they do.

prof: They can’t do it. They can’t do it. Good question. Yeah, good question. I don’t know.

trade-off: openness vs. performance

prof: What is happening now is actually with this. Here we get not very open. Selected validation. In order to, let’s say, we trust each other. And we run the network with an explicit validation node, with him. And this validation node is probably every week we choose something different. That is very much based on trust, organizational trust. That we all trust each other. That we keep things clear. There’s a newcomer coming into the door. We just didn’t allow him to join. First, we probably would like to check him. Is he trusted or not? So this is very much for not open networks. It’s for a network that we operate as a test for our supply chain or something else. The more we come down here, the more open we can be. Here the miners can really come from, North Korea or Russia or whatever. Even with proof of work it works. But further we come down here, it’s not working.

On the other hand, here we have good performance. It’s just he is doing the mining and running like hell. Here we have proof of work, which takes time. That’s what it’s really, kind of, a design decision that we need to make.

slide: “CLASSIFICATION OF BLOCKCHAINS - DEGREE OF PUBLICITY AND ACCESS RESTRICTION”

Actually the point is then, is how we actually run our particular blockchain. So we can run a blockchain, as a public blockchain network with permissionless access, which means that it’s completely public and everybody can access. And that’s Bitcoin. Anyone can read, store, validate and mine. You can set up your miner, you can validate, you can do whatever you like in the Bitcoin network. There is no regulation. Everybody can join.

What we can do is also, that we say, well it’s a public network, but it has a permissioned access, which means that anyone can read, but only authorized persons are allowed to store, validate and mine. This would mean, that we run miners here, but only those who run a miner can store data. Only those are allowed to deploy a smart contract or execute a transaction. So the access control is somehow, for example, only with those people who run the miner. And who is not running a miner is not allowed to do that. Or we give him a particular access, we allow it to him. But we organize that as a community. It’s not just for free. So what you can do with Ethereum and with some other permissioned public blockchains, everybody can store data. You just have to pay for it.

Private blockchain network with permissionless access: What we can also do is that we have authorized persons are allowed to read, store, validate and mine. Only authorized persons can do this. This means we are running a network and then only authorized persons are allowed to read. Not everybody. So something that EtherScan would not work here. Because you need to have some kind of access allowance to do that. Not everybody could check our blockchain. It’s a hidden blockchain. We run it as a club more or less.

Or you a have complete private blockchain network with permissioned access. So only selected authorized entities are allowed to read, store, validate and mine. And this is something you can do, for example, with Hyperledger Fabric. This has been done by IBM for particular use cases.


Hyperledger Fabric, an open source project from the Linux® Foundation, is the modular blockchain framework and has become the unofficial standard for enterprise blockchain platforms.


So you can really operate your network in really different modes. So far we were talking about Ethereum, about Bitcoin, etc. But you can also run something in a very private way. You can actually download Hyperledger Fabric and start it on your PC and then you run the blockchain node on your PC. Whether that makes sense or not, I don’t know. But you could do it.

student: Where would you put Monero on that list? Because it’s a public blockchain that is encrypted and only readable by your bands. It’s only readable by your bands.

prof: So it’s somehow a public blockchain with permissioned access. So you have some kind of a permissioned access. You need permission to access it. You need to know the keys. I think Monero would be there.

That’s one thing. So that’s really something about the governance. How you organize the blockchain. And the governance for Bitcoin is for free. The governance of something like that here… You could also use Hyperledger Fabric to do something like that. It’s possible. But it’s just a decision how you organize the blockchain. It’s like how you organize your football club. Everybody can join. Everybody can play with you. I think that’s the same. They will be on Saturdays. You can go to some football pitch and say, can I play with you and they say, yes, come in. We are open. You’re welcome. Or they say, no, we are closed. We actually need some permission.

slide: “Blockchain Networks / Layers”

The next thing is then also to say, okay, what kind of layers do exist? And this is then often a mixture of these different chains.

The layer one chain, the red one, that’s a chain like Bitcoin, Ethereum. It’s a public chain. But it has the disadvantage like transaction fees are high. You see by just sending things around we lost ten cent. And they are not very fast.

And therefore, we say, let’s build another chain that is organized, for example, with proof of stake or even with a centralized node. And we anchor this particular chain in a public chain. And then we get to a layer two chain. Very often they are permissioned chains like Quorum, where the status information is anchored in a level one chain.

Why do we do that? Let’s imagine that we run a particular blockchain here and we all trust each other. But somehow we don’t trust each other that much. It could be that on a Saturday evening, we all decide to do some kind of modifications to the blockchain. To manipulate some data. And in order to avoid that, we do some kind of anchoring our blockchain. Let’s say every day at 12 o’clock, we keep the hash of our blockchain and store that particular hash in Ethereum. And by doing that, we somehow anchor our blockchain in Ethereum in such a way that if we would modify our blockchain, everybody could prove that. Because we hashed the status of our blockchain today at 2 o’clock in Ethereum. And if you would now make some modifications to a transaction that happened at 10 o’clock in the morning, everybody could check it because then the hash is no longer the same.

student1: Couldn’t you also have a similar effect if you take a level one chain and first select one random block and then say, okay, this is my genesis block and then from there, starting your own chain?

prof: You could do that, but this would mean that in block number 100, I start modifying it. Because this same level chain here is not really running under the same mechanisms as the level one chain. So it would be possible if this chain is just being operated by 10 people, they just need to agree on that they just wouldn’t make modifications to the transactions. But they would only be able then to make a change to the transaction history between the last checkpoints. So what we do is actually we create checkpoints.

student1: But then for a really significant action, I would need till the next 12 hours.

prof: Somehow you would need to do that. Really to be sure that nobody has been changed in the tree.

slide: “Polygon Anchor in Ethereum”

The next point is that if we have large amounts of data, let’s say we have a large database. So for example, the slides of this particular lecture, we wouldn’t put the slides of this lecture here into a blockchain because it’s much too large. Again, you just take the hash and you put the hash in here and then put it over there.

And you can see that actually, Polygon is such a chain and that’s quite interesting to see. So we have a user who is sending a transaction to the Polygon chain. The Polygon chain is now validating and finalizing the block using a Polygon validator. And then after some time, they submit a checkpoint, again, it’s a Merkle tree, to Ethereum level one to a particular smart contract, which is the checkpoint smart contract that is running on Ethereum. And then everybody somehow can use this one to verify the state.

And you see there is a link (on the slide). Let’s go there and let’s see. That’s the smart contract that is being used by Polygon, which is the second level chain on Ethereum. So we go to Etherscan and what we see now here is that about 23 minutes ago, they submitted a checkpoint. The method of this particular smart contract here is “submit checkpoint” and that was done 23 minutes ago, again, 44 minutes ago. So, about every 20 minutes, but every 20 minutes, Polygon is submitting a checkpoint to Ethereum. So you see, it’s quite not that much distance. You only need to wait 20 minutes until you’re sure that they can’t change anything. They still can change something, but it’s immediately detected. You still can change, obviously, but you check and you detect it. So if we go there, so for example, we go to the contract and then we go to the right contract. And then there should be something like, it’s using proxies, but there must be something like “submit”… “check bucket”. That’s the method. And this particular method is being called and this is on Ethereum. So on Ethereum, we have a smart contract and on Polygon, we have another one that is just every 20 minutes calculating the checksum of the Polygon blockchain and sending it to this particular function of that smart contract on Ethereum. And that’s how the two chains operate.

Okay, so,…

student: I was wondering about the energy consumption of Bitcoin because… does it correlate with the amount of transactions in the chain because, if you would simply increase the block size, you could save energy and compute more transactions.

prof: We would reduce the energy consumption per transaction, but the overall energy consumption would be the same because this is not much dependent, whether you hash 10,000 or 1 million, it’s not that much difference. Really, the computation of finding the random number, that’s what is taking the energy. But you could reduce the energy consumption per transaction.

student: So energy consumption reaches like a plateau and then it doesn’t matter anymore.

prof: Yeah.

org

Okay, so, I would like to discuss this now. We go to Ethereum staking the next time because I would like to associate with this also an exercise for you.

slide: “The concept is clear, how should the application look alike?”

The next point is now, how do we find a good blockchain use case? And, you see here, and I just took it from a database. That was the point about five years ago. Everybody wanted to have a blockchain application.

slide: “Do we need a Blockchain?”

And then the point was, when is a blockchain application a good application?

And then there was something by Wüst and Gervais, from the ETH Zurich, and they published a paper, it’s linked down there. And they made this decision diagram that allows you to check if your application requires a blockchain or not.

  • And the first thing is that you need to ask yourself, do you need to store a state?
    • If you don’t need to store a state, you don’t need a blockchain.
    • If you have a transaction, you need to store a state, which is the bank account, therefore you need a blockchain.
    • But if you don’t have anything to store, don’t use blockchain. That’s simple.
  • The second thing is, do we have multiple writers?
    • No, we have just a single writer. If we are not working in a group or something like that, if this is not relevant for more than one user, we don’t need a blockchain. Then you can just store it on your local PC.
  • The next question is, can you use an always online TTP, trusted transaction provider?
    • If you have something like that, like a trusted transaction provider, don’t use a blockchain.
    • That is something that has been criticized, this particular decision. Because somehow what we do is with a blockchain, we replace this particular trusted transaction provider. So that is something that I don’t,… I somehow disagree with them.
  • The next question is, we need to store a state, we have multiple writers, we don’t have an always online TTP, are all the writers known?
    • Known. Then we need a permissionless blockchain. So we have multiple writers, we don’t know who is writing, we don’t have someone who is doing it for us. We need a permissionless blockchain, which is, Bitcoin, Ethereum.
  • When all writers are known, which is,… our community here, imagine we run a blockchain and we have multiple writers, yes.
    • We don’t have someone we trust who can do it for us.
      • No, then we are here.
  • Then we say, are all writers known?
    • Yes, we are all known, we know each other.
      • Then we go down here, are all writers trusted, do we trust each other?
        • Yes, no blockchain. If we trust each other, we don’t need a blockchain. Because blockchain is for providing trust in an environment where you don’t trust everybody.
        • Obviously, we don’t trust each other.
          • Therefore, is public verifiability required? Do we need someone else to verify what we put on a blockchain?
            • No, then we make it a private permissioned blockchain.
              • So we just run a blockchain among ourselves, nobody is allowed to look into it. We don’t even tell anybody that we have a blockchain running, we just use it for our own purposes in order to secure the state that we have among ourselves. Imagine that we just run this blockchain, for example, for a Christmas party where we have our own token to buy the food. We just create this blockchain among ourselves, everybody is running a node on your mobile and that is what we use to create the currency for our Christmas party. It wouldn’t make much sense, but that would be this way.
            • Or if public verifiability is required, yes, so for example, if we need the ZPA to look into our blockchain because I gave tokens for good questions and good answers, I give tokens away and we run this on our particular blockchain, but the ZPA needs to look into that to check the grades that I give in the end, then we use a public permissioned blockchain. It’s public, but permissioned, ie. the ZPA can look into it.

So that’s their decision tree and you will find that in a lot of blockchain papers. So it’s very often it’s being checked whether an application is being a good blockchain application or not.

slide: “Looking for a use case?”

We modified it and we did it in the following way:

  1. So the first thing is that we said if you look for a use case on blockchain, the first thing that you need to look for is: can you remove the intermediate? Do we have someone here in our game that is our intermediate that you would like to remove? Do we have something like a notary? Do we have someone we pay money for that he provides trust to us. So somehow the ZPA is somehow a trust provider for us in some sense. They are keeping tracks of your records. Let’s try to remove it, put smart contracts on the blockchain.

  2. Or am I an intermediate? If I am the intermediate, then I should be careful because my job, my business can be replaced with a smart contract on a blockchain.

  3. Or we need to find a new intermediate. That we say okay, we have different stakeholders here, but we don’t really have a very high trust level. We would need to find someone who is trusted among us. For example, we would like to collect money for a Christmas party who is going to collect it. Do we trust anybody here to give him 100 euros from each of us? We probably say hold on, 100 euros, we have 20 people, well, it’s quite a lot, 2000 euros, no, we don’t trust someone. Let’s move it to a blockchain. Then we find the intermediary on the blockchain that we use as the trusted partner.

  4. Or am I partner in such a process? Am I partner in a supply chain network that is probably sometimes moving towards a blockchain solution that also has to be careful.

Questions to ask (orange boxes on slide):

  • Who costs money in that process and where am I a trust provider?
    • If you are a trust provider, be careful because the whole business model can be disrupted by a blockchain.
  • Or why can’t we cooperate because we lack a trust instance?
    • We would like to have a Christmas party, but we have nobody who is collecting the money. Then we could use a blockchain.
  • Or where am I involved in a process that will change soon?
    • Up to now, he was the big trusted guy and he’s now leaving, he’s taking his exam. We need someone else, we need to change the process, therefore we now need to become blockchain ready.

slide: “Looking for a use case? - From a process perspective”

Some other questions we need to ask from a process perspective.

  • Do we need a high level of data integrity?
    • So look very much for routine processes where you need a high percent of data integrity.
    • Grades in university: high data integrity, nobody should be able to change it.
    • Or look for documentation and proof intensive processes.
  • Avoid any legal or regulated processes because then you get in trouble with regulation.
    • So, as soon as you deal with money, this becomes a problem.

slide: “USE CASE IDENTIFICATION FRAMEWORK”

So what you will find in the slides is… this (slides: “USE CASE IDENTIFICATION FRAMEWORK”) is essentially the same questions, but you will also find this (slide: “USE CASE CANVAS”).

slide: “USE CASE CANVAS”

And, when we look for a use case, and you call it the “Use case canvas for Blockchain”, and let’s say we find something of the use case of storing the grades of the student. That’s our use case.

  • What are the unique characteristics?
    • So it’s storing grades of students and to make them immutable.
  • What is the data that you want to store?
    • It’s grades.
  • Do we need to store the data on-chain or off-chain?
    • We will store the grades probably on-chain, but the exams itself off-chain because they are so big.
  • Partners, who are the partners in there?
    • Students, ZPA, maybe the German Education Authority.
  • What are the values and rights that we store?
    • It’s grades.
  • And what is the automation?
    • The automation could be that as soon as you have all the grades of all the necessary courses, you automatically get flagged as ready for doing your master’s thesis. That could be automation.
    • So we could somehow automate the study guidelines with this.

Exercise

So your task for the exercise is now to think about possible use cases for Blockchain and then to fill in this particular form with the appropriate elements. You can use one or two of the use cases and just think about the use case by filling out this here. So what can you automate? What kind of values do we store?

And then also look up here (slides: “USE CASE IDENTIFICATION FRAMEWORK”) because here you find something like doing “replace”, “establish” some “intermediary”. And is the “data” that is being saved, is it very important that it becomes “immutable” or not?

You could also think about use cases where the immutability of the data is not that relevant but you would like to make it public. It’s not so important that nobody can change it, but you would like to make it public for someone else, like what you do with an NFT. I would like to publicize my nice picture as the form of an NFT. Not so important that nobody can change it and how much can be automated.

So your task is going… I will also formulate it tomorrow in our Moodle system. And then next time what we do is we just discuss some of the findings that you have to see what kind of use cases did you find. Maybe it’s a good idea for a new start-up that you find with running Blockchain. And then later on when we look at the implementation of smart contracts we can pick one or two of these to do this as an example for a smart contract implementation. Maybe we also find already smart contracts that are available for that because there is a large library of smart contracts.

org

I think that’s good. Okay, good. Thanks and next time we go back to staking on Ethereum, how this actually works, what they actually do there. Then we discuss this one and I think then it’s probably time to do some kind of smart contract programming and then Ivan will show you how to do that.

Okay, good. See you next week. Thank you. Thank you. Thank you.