A technical introduction to Blockchain
for not (so) technical people
Stefano Paluello @21.co/palutz
Definition(s) ( from Wikipedia )
Everything (physical or virtual) that we own and could be exchanged.
The action of changing assets ownership
Set of rules and conditions used with transactions
Book-keeping track of everything happening in our system
A, eventually, third party facilitating or witnessing the transaction
The effort to collect transactions is distributed across different trusted parties
(credit: MIT Technology Review)
(Centralized, Distributed, Decentralized)
this is the tricky part
Hash function is a mathematical function with 3 properties:
A Cryptographic Hash function has 3 additional feature:
It's INFEASIBLE to find two values with the same hash
with SHA-256 we need to try 2^130 random inputs to achieve a 99.8% chance that at least 2 items will collide
Application: message digest
There is no FEASIBLE way to understand the input (x) of a hash function H from its output (or cypher Y)
Application: commitment. Committing to a value or a message.
This is the most complicated one. Simple explanation: if someone wants to target our hash function to “force” an output, or to produce a predetermined value, there is no other way than trying all the possible inputs.
Application: Search puzzle.
How we store data using our cryptohash functions
A hash pointer is simply a pointer to where some information is stored together with a cryptographic hash of the information
A block chain is “simply” a linked list using hash pointers
A binary tree with hash pointer is called Merkle Tree
Merkle Tree and block chain. Remember anything?