create account

Cryptography - Security basics for blockchain users by jefpatat

View this thread on: hive.blogpeakd.comecency.com
· @jefpatat ·
$17.77
Cryptography - Security basics for blockchain users
Explain blockchain security so that a 10 year old could understand it. No math. That is the goal of this article. I actually think it's everyone should be able to grasp the basis.

![](https://i.imgsafe.org/c5/c50f34df74.png)

# Cryptography 

The blockchain is built with the idea of decentralization in mind. (Check [this article](https://decentralize.today/what-blockchain-actually-means-for-the-future-of-banking-4dd868d020cf) for a good introduction) This means there is no central instance to guarantee safety. So how is safety guaranteed if there is no-one you can trust? Say hello to cryptography. 

Cryptography is a method of handling data in a particular form so that only the intended recipient can read and process it. Although this is a complex matter in detail the basics can be easily understood. I'm amazed how little blockchain users, even experienced ones, and even some developers, have no basic understanding how this works.

# Symmetric cryptography
In cryptography a lot of examples use Bob and Alice so I will as well. (There’s actuatlly a Wikipedia article about them: https://en.wikipedia.org/wiki/Alice_and_Bob) Now let’s start simple. Bob wants to send a box to Alice and only Alice should be able to open it. Bob uses a box with a padlock. As all padlocks this lock has a key that can lock and unlock the box. If Bob wants to protect something, he puts it in the box and locks it. Obviously, only he or someone else with a copy of his key can open the box.
That’s how simple symmetric cryptography is. You have one key. You use it to lock or encrypt the data and you use it to unlock or decrypt the data.
This won’t work for the blockchain though. I would mean Bob has give his key to Alice. Maybe he doesn't trust her with his key. What if she gives the key to the mailman? Or maybe he trusts her today but changes his mind tomorrow. He could only prevent this issue by using new locks and he would end up with a nightmare of locks and keys to handle.

# Asymmetric cryptography
In an asymmetric system Bob and Alice have separate padlocks. Bob asks Alice to share with him her opened lock. Alice has no problem doing this. After all, what can Bob do with this opened lock, he can only close it. She is the only one who has the key, so only she can open it. So in fact Alice can (and does) share here lock with everybody. In cryptography the lock is called the public key and the key is called the private key. When Bob wants to send something he uses the padlock he received previously to protect the contents. When he now sends the closed box only Alice can open the box, no-one else.
The big advantage in an asymmetric key system is that Alice and Bob never need to share a copy of their keys. None of the concerns with symmetric cryptography apply here. 
This example has one shortcoming for the blockchain. Alice doesn’t know for sure Bob send her the box. She shared her locks so it could have come from anyone. If Bob were to sign the content Alice can be sure it is Bob’s message. So let’s introduce another example.

# Digital signature
A normal padlock has two states. Now imagine a special lock, one with a slider switch. The lock has three positions and two keys. In two positions (A and C) the lock is closed. Only in position B the lock is open. 

![](https://i.imgsafe.org/c5/c50f330c83.png)

One key, let’s call this the private key, can move the lock from left to right. The other one, which we call the public key, can move the lock from right to left. If you carefully look at the image you can see how the lock can be unlocked. Now imagine the same as before: Bob wants to send his box to Alice. Alice again freely distributed her public key to anyone who might want to use it. Bob takes closes the box using the public key from right to left and puts the lock in position A. The box passes the not so trustworthy mailman. He can’t open the box since he can’t possible have a key to move the lock to the right. Alice is the only one with the private key that can move the lock back to the right, to the open position B. We now have the same situation as with the previous example. The shortcoming of that example was that Alice and Bob have no certainty that they received a message from the other person. With this lock this is possible.

Suppose Alice wants to send something to Bob. She puts it in a box and closes that box with her private key, moving the lock to the C position. When Bob receives the box the mail man says it is from Alice. But who trusts the mail man in cryptography, no-one right? Bob uses Alice’s public key he has previously obtained and the lock moves from C to B, the lock opens. Since Alice is the only one who could have put the lock in position C, Alice is the only one with a key that can move the lock to that position, Bob is now sure the box came from Alice. This is an analogy for what is called a digital signature.

Combine both techniques allows to send a box that can only be opened by the correct recipient and that recipient can be sure it was sent by a particular sender. That is the very basic security the blockchain uses.

I wrote this article because I'm exploring Gridcoin and started to receive some questions. I have some background in cryptography and decided to write this short explanation. Gridcoin is a lovely initiative and if you would like to get involved: @dutch made [the total and utter noobie guide to successfully mining the cryptocurrency gridcoin](https://steemit.com/gridcoin/@dutch/the-total-and-utter-noobie-guide-to-successfully-mining-the-cryptocurrency-gridcoin) on Steemit a while ago. I also shared my first experiences here on Steemit.
👍  , , , , , , , , , , , , , , , , , , , , , ,
properties (23)
authorjefpatat
permlinkcryptography-security-basics-for-blockchain-users
categorybeyondbitcoin
json_metadata{"tags":["beyondbitcoin","cryptography","bitcoin","gridcoin","cryptocurrency"],"users":["dutch"],"image":["https://i.imgsafe.org/c5/c50f34df74.png","https://i.imgsafe.org/c5/c50f330c83.png"],"links":["https://decentralize.today/what-blockchain-actually-means-for-the-future-of-banking-4dd868d020cf","https://en.wikipedia.org/wiki/Alice_and_Bob","https://steemit.com/gridcoin/@dutch/the-total-and-utter-noobie-guide-to-successfully-mining-the-cryptocurrency-gridcoin"],"app":"steemit/0.1","format":"markdown"}
created2017-09-03 19:15:39
last_update2017-09-03 19:15:39
depth0
children5
last_payout2017-09-10 19:15:39
cashout_time1969-12-31 23:59:59
total_payout_value13.452 HBD
curator_payout_value4.315 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length5,659
author_reputation26,609,526,234,408
root_title"Cryptography - Security basics for blockchain users"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id13,772,648
net_rshares4,887,455,348,727
author_curate_reward""
vote details (23)
@drotto ·
<p>This post has received a 1.56 % upvote from @drotto thanks to: @banjo.</p>
properties (22)
authordrotto
permlinkre-jefpatat-cryptography-security-basics-for-blockchain-users-20170908t091112488z
categorybeyondbitcoin
json_metadata{"tags":["beyondbitcoin"],"app":"drotto/0.0.1"}
created2017-09-08 09:11:24
last_update2017-09-08 09:11:24
depth1
children0
last_payout2017-09-15 09:11:24
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length78
author_reputation419,916,705,599
root_title"Cryptography - Security basics for blockchain users"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id14,233,610
net_rshares0
@grider123 ·
Very well explained, thank you!
properties (22)
authorgrider123
permlinkre-jefpatat-cryptography-security-basics-for-blockchain-users-20170904t045313635z
categorybeyondbitcoin
json_metadata{"tags":["beyondbitcoin"],"app":"steemit/0.1"}
created2017-09-04 04:53:15
last_update2017-09-04 04:53:15
depth1
children0
last_payout2017-09-11 04:53:15
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length31
author_reputation107,965,352,035,530
root_title"Cryptography - Security basics for blockchain users"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id13,810,180
net_rshares0
@macka ·
Good explanation, again a little closer to fully understanding cryptocurrencies,Thx.
properties (22)
authormacka
permlinkre-jefpatat-cryptography-security-basics-for-blockchain-users-20170904t050342860z
categorybeyondbitcoin
json_metadata{"tags":["beyondbitcoin"],"app":"steemit/0.1"}
created2017-09-04 05:03:42
last_update2017-09-04 05:03:42
depth1
children0
last_payout2017-09-11 05:03:42
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length84
author_reputation39,943,735,414
root_title"Cryptography - Security basics for blockchain users"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id13,810,849
net_rshares0
@minnowbooster ·
@minnowbooster upvoted this post!
![@jefpatat got you a $3.08 @minnowbooster upgoat, nice!](http://minnowshares.net/upgoat/?user=jefpatat&receiver=jefpatat&value=3.08&hash=161)
*@jefpatat got you a $3.08 @minnowbooster upgoat, nice! (Image: pixabay.com)*
---
[Want a boost? Click here to read more!](https://steemit.com/minnowbooster/@minnowbooster/6rt2mn-introducing-minnowbooster-beta)
properties (22)
authorminnowbooster
permlinkcomment-1504530636272
categorybeyondbitcoin
json_metadata""
created2017-09-04 13:10:36
last_update2017-09-04 13:10:36
depth1
children0
last_payout2017-09-11 13:10:36
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length353
author_reputation230,546,282,483,083
root_title"Cryptography - Security basics for blockchain users"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id13,843,765
net_rshares0
@minnowsupport ·
<p>Congratulations!  This post has been upvoted from the communal account, @minnowsupport, by Jef Patat from the Minnow Support Project.  It's a witness project run by aggroed, ausbitbank, teamsteem, theprophet0, someguy123, neoxian, followbtcnews/crimsonclad, and netuoso.  The goal is to help Steemit grow by supporting Minnows and creating a social network.  Please find us in the <a href="https://discord.gg/HYj4yvw">Peace, Abundance, and Liberty Network (PALnet) Discord Channel</a>.  It's a completely public and open space to all members of the Steemit community who voluntarily choose to be there.</p>
properties (22)
authorminnowsupport
permlinkre-jefpatat-cryptography-security-basics-for-blockchain-users-20170909t100809703z
categorybeyondbitcoin
json_metadata{"tags":["beyondbitcoin"],"app":"cosgrove/0.0.1rc9"}
created2017-09-09 10:08:09
last_update2017-09-09 10:08:09
depth1
children0
last_payout2017-09-16 10:08:09
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length610
author_reputation148,902,805,319,183
root_title"Cryptography - Security basics for blockchain users"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id14,342,652
net_rshares0