*35c3 preroll music*
Herald: I'm very happy to be allowed to announce the following talk. It's called
"A Blockchain Picture Book" and it's held by Alex. Blockchain is a topic we hear
constantly everywhere in the media. It's sold as a solution for everybody and for
everything. Doesn't matter what. But how it really works and what it really is...
...most people don't really have an idea. So, today we got a beginner's introduction
with pictures. So, please welcome Alex on stage with a big round of applause.
*Applause*
Alex: Hi. Yeah. My name is Alex and I'm from the Technical University of
Brunswick. I'm working in the Institute of application security. I suppose you're
here to see my blockchain picture book, right? But right from the start, this talk
is not about the newest cryptocurrencies out there and it's also not about in which
ICO should invest in. I'm absolutely clueless about that topic. Sorry to
disappoint you, maybe. I'm here to give you a very rough introduction to the idea and
the basics of this blockchain thing out there. So, maybe you can judge by your own.
So. I hope there are no blockchain experts in the audience, maybe. So this is a
foundation talk. That means I do not expect any technical or mathematical
backgrounds at all. So, let's just give it a try. Imagine the following situation.
Once upon a time, there were two people. Let's call them "Mary", on the left, and "Alex",
on the right. They wanted to trade with each other. Mary she wants to buy a house
from Alex. Thus , she brings the agreed amount of money. And Alex – on the picture –
brings the keys for this house that should be sold to Mary. But, since Mary and
Alex do not know each other, they do not trust each other, as well. So, they set up a
contract for this trade. Just to be on the safe side. Here on the right, you can see a
typical contract for trade, and it consists of some important informations like a
description of the object that should be sold: The house of Alex, maybe the address,
what's inside and stuff. the agreed amount of money – let's say the house costs half a
million, whatever. The persons who are involved in this trade – in this case Mary
and Alex. And of course the signatures. As a final step, this contract must be
timestamp for being valid. So, nowadays those kind of contracts usually exist as
digital documents. But for both the digital and the analog document, if an evil
party gets hands on all copies of this contract, he can modify it in a malicious
way. Let's say, removing the timestamp. This can void the contract and thus make
the trade invalid. By the way, the evil party can also be one of the persons
involved in this trade. So, let's say our Alex – the evil one – he wants to take the
money from Marry but also keep the house. Okay? This is our initial situation. So in
1990 Haber and Stornetta proposed in a scientific paper a cryptographical
solution for binding a time stamp undevisably to a digital document. What does
it mean? They both – the timestamp and the digital document – are merged into a new
document and can't be separated from each other without being damaged. So, we'll see
later how this exactly works. For now, let's pretend this block, which you can see
here, contains our digital document and the timestamp. And both are binded by some
mystical fancy cryptographic technique which is represented by this blue frame.
Okay? So, unfortunately, we still face a problem: That's our evil party – remember
Alex is the evil party? – He can just make this contract and all copies disappear and
claim they never existed before. So, to tackle this problem, Haber and Stornetta
and their paper further proposes a chaining technique for those blocks. All
of which contains of course a different contracts. So, the result is a chain of
blocks: The blockchain. Here we are. Hey! And since this is a chain, it's not
possible to remove one of the blocks. Removing a block from the inside of the
chain, will just break it completely, in a way that you can't put it together anymore
without damaging it, as we will see later. Okay? So, this doesn't prevent that anyone can
just make this whole chain disappear. Maybe. So, but the longer the chain gets,
the more people are involved in this chain, the higher the risk for evil parties
malicious task is discovered. OK? Clear so far? Right. But the problem remains: This
chain has to be stored somewhere. You remember it's digital? So let's say
another trusted party gets this task. So, here we are. This is our trusted party
which is in charge for blockchain. But, the thing is this trusted party can also fail
or become untrusted. And it doesn't have to be malicious at all. It also may happen
that the storage for blockchain fails or crashes or any data may be destroyed due to
any hardware failure, maybe, or a trusted party just deleted accidentally. Maybe. So,
it's like with every centralized service you have to trust. So, imagine your e-mail
provider just disappears tomorrow. How many services are you using which depends
on the e-mail address? OK. So, for that reason, the paper suggests to distribute
copies of our blockchain to a lot of other parties. So, here we are. Here you see a
lot of other parties – whoever they are – who owns a copy, an exact copy, of a blockchain.
Remember, this blue color represents something cryptographical. OK. So, you can
see there is no centralized storage anymore. Instead we have a large number of
participants which we can rely on. So, let's call this a decentralized network.
Remember this term. It will get important later. So, for now, even if some of those
parties fail, as long as the majority stores are valid and of course the same
copy of a blockchain, we can keep going. OK. You're still with me? Right. OK. So, the
question remains: How does mystical cryptography thing, stuff, whatever works.
*laughs*
This is how such a block actually looks like. And in fact, this is the first
blockchain block ever created. But, I suppose you're not really interested in a
math lecture. OK. So, as I promised, let's keep the mathematical details and stay
visual. But just for information: This is a block. Okay. Let's pretend, we observe
another trade. Alice and Bob are doing a trade and we can see, Alice wants to sell her
smartphone or whatever to Bob. So, do you remember those polaroid cameras, where you
could take a picture and it was printed instantly? You know them? I think they're
back in fashion now. So, while we observe the situation, we take a polaroid picture of
it. It's printed, and this picture attests this trade. So, we take this picture and
put it on a blackboard. Like this here. So, let's say, this picture represents a block.
You remember these blue framed blocks like we saw them before? OK. Somewhat later,
we observe another trade. Here, Charlie wants to sell his car to Peter. And again,
we take a picture. But this time, we hold the picture from before – the one, which is
already on the blackboard – into the background of the situation. Like here. So,
now, we take the new Polaroid picture and put it back to our blackboard. OK? So, what
do we see now? The first picture, which is our first block, appears in the background
of the second picture, which is our second block. So, let's say the second block is
chained to the first block. So, if someone evil wants to change the content of the
first block, he must also change the content of the second block. Which means
more effort for this evil party. Ok? So, of course let's keep doing the same. And add
the third picture to the board. Here we can see Eve and Alex, another Alex, trading
some goods. And in addition again we can see the second picture. It's in the
background of this third picture, so it's the same thing. The third is chained to the
second. OK. You're with me? Nice. And of course for the sake of completeness we add
the fourth block where Armin and Ed are trading. And this house is more expensive
this time. So again, we'll see the content of the third block in the fourth block.
That's their chain. So now we can see the big picture here. So if our evil party now
wants to change something on this first trade on the first picture, that means he
must change the second and the third and the fourth picture as well. Else this
modification is detectable. You agree? OK. So one can say we created our very special
kind of blockchain here, consisting of polaroid pictures, which represents blocks
of course. OK, so this effort can bring us some fancy properties. And at this point
it's important to say that some of these properties are optional. There are
different kinds of blockchain systems out there and most of the properties depends
on what kind of blockchain is in use and of course the use case. But let's just take a
look on some of the important properties, in my opinion. So return to our blackboard
here, which we constructed earlier. So we already observed this chaining mechanism.
This picture in a picture thing. You remember. So this mechanism makes our
blocks immutable and thus the contracts inside these blocks are immutable as well,
of course. So they can only be modified if the complete chain is also modified. So
let's take our board and place it anywhere in the public. This gives all the people
walking around the possibility to keep an eye on everything happening on our chain
on the board, and maybe detect any anomalies. So we can say, well, blockchain
is the coolest open source software, maybe. Other parties who make up our
distributed network - you remember we talked about that before - creates an exact
copy of our blackboard, and the updates, they copy every time something new
is appended to the chain. So if the original blockchain on this board becomes invalid
or disappears, or whatever, we can ask our distributed network for the last valid
copy of this chain and put it back on the board. But even if some of those parties
becomes malicious, as long as the majority of all parties is honest and own valid
copy of our block chain we could prevent fraud in it. And at least it's possible to
ensure anonymity for all involved parties. Parties of our distributed network, as well
as the parties involved in the contracts inside the blocks. OK, so in summary we can
say the contracts in our blockchain are immutable. The control over the blockchain
is decentralized and it's really hard to get the majority of the network to the bad
side, I suppose. Our block, our board and thus the blockchain and side are exposed
to public scrutiny and it's not possible to remove one of the blocks from inside
the chain without breaking it completely. We can provide anonymity to our distributed
network and the parties involved in the transactions or the
contracts inside the chain and at least we don't have to be at the mercy of a single
institution, like a bank or government or whatever. Okay, so looks like some fancy
properties. This are just some of a lot of properties which we can achieve. So let's
take a closer look on a common blockchain application. I suppose most of you here
heard of the so-called cryptocurrency stuff, especially bitcoin. Maybe some of
you own some bitcoin. Of course there are many more cryptocurrencies out there:
Woppercoin, OneCoin(?)... stuff. But let's talk about financial transaction on
a blockchain in general. So this is a classic German bank transfer form. Before
the times of online banking, this form was used to transfer money from one bank
account to another. Maybe some of you still remembered, you had to write
extremely clear - it was horrible - and you filled out this form, gave it to your bank
and they take care of everything else. So you can see some fields here: These are
the names of the sender and receiver of the money. The sender is on the bottom.
Here you can see the account numbers. This is the bank ID, and in this case you can
see it's the same bank. Of course the amount of money and the signature of the
sender, as well as the date. So for financial transactions via
cryptocurrencies like Bitcoin whatever, we don't need that much information. The only
information we need here, are the sender's and receiver's public keys. They are used
the same way as the account numbers, but they're much longer, more cryptical.
Of course, still we need the amount of money and the sender signature, which
also contains the timestamp. Remember this stuff is digital. So back in the good old
days we just fill out this form, put it into a special letter box in the bank and
forget about it. In cryptocurrencies, very simply said, all commission transactions
like this here are collected by our distributed network. So let's say our
distributed network collected seven pending transactions. So, but these
transactions are not in our blockchain yet. Let's get back to our blockchain.
We have five blocks currently with any contracts or transactions inside. So now
we face the question which of those transactions shall form our sixth block in
this chain. OK, you agree on this question. Maybe some of you would say: Hey, we have
some timestamps in the transaction. Why can't we use them. The thing is that our
distributor network is in different time zones and, I don't know, network delays
and all this stuff. So we need another solution for this question. I suppose some
of you already have an idea how to use this. So if all involved parties follows a
rule on how to find an agreement on something, whatever, we can call this a
consensus protocol. So maybe some of you heard this term before. Okay, so remember
it. Let's replace transactions and contracts with something much simpler.
Let's say some fancy symbols have been proposed as candidates for our next block,
the red one in the chain. So our distributed network, consisting of some
participants, now face the question. Which of those symbols shall form the next
block. And there are different ways to achieve this goal. So let's talk about the
best known consensus protocols. Maybe one of the most popular used by the bitcoin
network, it's the proof of work protocol. I see some people laughing. OK. So what
does it got to do with competition. Back to our initial question, which of the
symbols shall form the next block. So very simply said each time a new block shall be
created. And this means as long as there are pending transactions we'll need new
blocks. Our network holds the public race and everyone can take part in this race.
So the winner of the race can decide which symbol gets into the new block. Looks
simply. And in this race we can see that the winner party selects the heart symbol
for the next block. So it appears there. So the outcome of this race is known to
our distributed network. So each of those parties in this network appends the new
block into their own local blockchain copy holding this heart symbol inside. OK?
Right. Unfortunately, as some of you may know, this protocol has some drawbacks and
the most serious of these is probably the negative impact on the environment. That
means holding such races consumes many resources. And of course in reality not
motorcycles, but a very large number of highly specialized, high performance
computers take part in these races. And of course they need of a huge amount of power
which is not really great for environment. So for last year it was estimated that the
bitcoin network needed, at annual rate, as much power as the whole country of Denmark,
which is a lot. OK, so you don't like this protocol. Let's take a look on another
one. So this protocol depends on the vote of participants in the group. We call it
the consortium vote. This is one of the names for this protocol. Back to our
initial question with the fancy symbols. Which of them shall form the next block in
our chain? So instead of a huge network of unknown participants driving motorcycles
and holding races, this time we invited some parties in a fixed group. We called
this group consortium. So each time a new block shall be created, the participants
of this consortium hold a vote. It's similar to a democratic election. So the
symbol most parties voted for wins. It' that simple. So in this round we can see
two parties voted for the circle two parties voted for the heart and three
parties voted for a star symbol. So the star is selected by the will of the people
and thus appears in the next block. You agree? OK, so the outcome of this vote is
visible again to our distributed network which holds copies of our blockchain. So
each party in a distributed network appends a new block into their own local
copy holding the star symbol inside. So, great, we see no environmental drawbacks
here. Maybe this is the best solution. OK, some of you disagree. Yeah. Well the
topic here is the formation of the consortium. This is one of the drawbacks.
We can't ensure that the invited parties or participants of our consortium are
unbiased. Here we see a very huge doorman and this doorman only allows participants
to our consortium party who promises to vote for this circle symbol and nothing
else. So we can say he's kind of a filter. So since there are only participants who
refers the circle symbol and a consortium they also vote for it eventually. As you
can see here. So among all the drawbacks, this protocol may be misused for
corruption or whatever. OK, you're still with me? Nice. Okay let's check the last
consensus protocol, may we have more success here. So this one depends on the
share or stake of the system that everyone owns. This consensus protocol will be
called Proof of Stake. But what does it have to do with randomness? Maybe you ask.
So one last time we repeat our question, which of the symbols shall form the next
block in our chain? So let's pretend we have any system, let's say all existing
symbols in this world form our system. We can see the system. This is the circle on
the right side. And the whole system belongs to five parties, which are on the
bottom left. This five color parties. So this colored circle represents the stake
of each party on the system. So each round these parties vote on which symbol shall
form the next block. But this time the decision for who is the winner is made
randomly, taking into account the stake of each party. So we can call this a weighted
randomness. OK, so how does this exactly work? Let's imagine this roulette wheel. I
hope some of you know this kind of game. OK. Usually you spin the wheel, you throw
a ball on it and some time the wheel stops turning and the ball lands on any number
on this wheel and this number is the winner then. But instead of numbers this
time we distribute the symbol candidates on the wheel according of the stake of its
holder. OK, so let's play the game. That's how our wheel looks like and we spin it
and throw a ball on it. It keeps rolling and rolling and it stops at some point on
a symbol. Here it landed on the triangle. So the triangle is the winner symbol for
our next block and appears there eventually as you can see on the top
right. Okay? You're with me. All right. So what happens when the stake of one of
these parties is significantly larger than the stake of others? Here, our red
stakeholder is a very rich man and holds the majority of the system, so as you can
imagine even if our system chooses randomly, since this randomness is
weighted, his chance to be chosen is significantly larger than the chance of
others. So, of course, there are even more consensus protocols out there and you can
spend a few hours talking about them. But to get to the point, every effort to reach
a fair consensus seems to come with drawbacks and depending on our use case
and the blockchain system which we are using those drawbacks can have negative
impacts. So why are we still putting all this effort into this blockchain science,
you may ask. Let's get back to our initial situation, where Mary and Alex traded and
Mary wanted to buy a house from Alex. You remember? So here Mary has to trust Alex,
that the house he sells to her is really his own property and that he won't revoke
the trade afterwards. On the other hand Alex has to trust Mary that she gives him
the promised amount of money for this house. So if a bank is involved in this
trade they both, Mary and Alex, have to trust this bank for transferring the money
safely from Mary to Alex, and of course the right amount of money and right
currency. And in big trades like house selling, usually a notary is involved.
Mary and Alex have to trust this notary to be impartial.
So we see, traditionally such trades involves a lot of trust and
trusting in such things as trades is not really popular as there has been a lot of
disappointments in the past. As you may know. And all this blockchain science is
the most promising approach for mitigating the need of this trust so far. But I think
we're still a long way from reaching this goal. So let's see what the future may
bring us. Thanks for attention. *applause*
Herald: Thank you very much for this nice introduction. If you have questions please
go to the mics. There's three simple rules to follow now. First, if you want to
ask a question, a question is normally one sentence ended by a question mark. Nothing
else. Second if you speak into mic keep it close to your mouth just like you would
like to bite into it. But please don't do so. And third for everybody who is leaving
now, please do this quietly. Thank you very much. So let's start with a question from
the Internet. Q: Hi. There is a question from IoC. So
you talked about how blockchains provide anonymity and could you explain what that
means in the context of a blockchain, because after all it's like real people
having a transaction. So what is the definition of anonymity in this context?
A: This is a very technical question, I suppose. For the technical people
anonymity means we don't have names like we've seen on the German bank transfer
form, where we can exactly see Mary and Alex are trading. So you have the names
and you exactly know who those people are. In the technical case, that means we use
public keys. And of course we can create public keys without seeing the person
behind it. So in this case it's possible to ensure anonymity, but as some of you may
know, comes some drawbacks. It's, yeah, technical.
Herald: Microphone number three. M3: You showed us different ways of
choosing which transaction is next. But I don't know if there is a possibility that
some transaction will be lost? Like, you know, it doesn't take -
A: You mean like one of the transactions just disappears from this cloud thing?
M3: Yeah, because all others are chosen before it.
Like - or how long does it take to do the vote?
A: Oh that really depends on the protocol as some of you may know in case of
blockchain which has this time minute stuff. That means I think every 10 minutes
we'll do a new round because of this cryptographical hash whatever, but it
absolutely depends on the protocol. As this voting protocol works completely
different. So that's the reason why I didn't want to go into details, because it
depends on the protocol. So we can talk about it later if you want to but I think
this is out of scope here. Herald: Microphone number two, please.
M2: Thanks for the talk. A lot of the examples I see on blockchain are
basically database owned by one company. So it doesn't really. So what is it for
you the most exciting usage of blockchain that you see today?
A: I cannot answer this question because I don't truly know what kind of solutions
are there. Of course I know the popular stuff like hyper legend whatever. For me
personally the current solution are not really cool, but because of technical
backgrounds. But I can imagine that the distributed computing protocols behind
this blockchain thing can lead us to some very cool stuff. But we need to put much
more science inside it and that means, really science.
*applause*
Herald: We have another question at microphone number two.
M2: Great talk. Yeah. For distributed computation, there was already a lot of
work. Herald: Sorry, can you go a bit closer to
the mic please? M2: Sorry. If one of the most interesting
usage is distributed computation, there was city at home there is a bunch of bla
bla bla at home so I'm not sure. Then again, what's the competitive advantage
let's say of blockchain to those previous distributed computation protocols?
A: I'm not sure if I understand your question but do you ask, what exactly is
new about all this thing?
M2: If the advantage is distributed computation, that was done before. And I'm
not sure what's the advantage of doing it by a blockchain.
A: Technically a blockchain is absolutely nothing new. So distributed computing is a
quite old topic it's nothing else than just a distributed database in fact with
some other properties which can be combined. So that means blockchain is a
combination, for me personally, of a lot of techniques. So I think we just should
use many more distributed computing solutions for stuff like financial
transactions or smart contract stuff whatever. So this blockchain term you must
be really careful with it. Herald: That's a very nice warning. So
please give a warm round of applause for Alex.
*Applause*
*35c3 music*
subtitles created by c3subtitles.de in the year 2020. Join, and help us!