Slide 1

Slide 1 text

www.neosperience.com | blog.neosperience.com | [email protected] Neosperience Empathy in Technology Introduction to Blockchain technologies May, 5th 2022

Slide 2

Slide 2 text

Luca Bianchi Who am I? github.com/aletheia https://it.linkedin.com/in/lucabianchipavia https://speakerdeck.com/aletheia Chief Technology Of fi cer @ Neosperience Chief Technology Of fi cer @ WizKey Serverless Meetup and ServerlessDays Italy co-organizer www.bianchiluca.com @bianchiluca

Slide 3

Slide 3 text

What is a Blockchain?

Slide 4

Slide 4 text

of course! Blockchain is…

Slide 5

Slide 5 text

✓ Something fancy to earn money ✓ A Buzzword ✓ A technology to ensure trusted transactions between untrusted actors without intermediaries

Slide 6

Slide 6 text

What is the Bitcoin? Keep it simple, the way you would explain it to my mother

Slide 7

Slide 7 text

First, it’s not a currency What is Bitcoin (BTC)? It’s an exchange medium, subject to high volatility, perfectly de fi ned by demand/o ff er mechanism Second, it’s not a FIAT money It has some important di ff erences: •decentralized - no Federal Reserve or BCE to control BTC value •no in fl action - the overall number of BTC is fi xed (21M) •no reversal - transactions cannot be reversed because become part of the trust • no real economy - BTC value is not constrained to any state economics Third, it does not require a bank Money transfers can be achieved between two peers

Slide 8

Slide 8 text

You can buy them — trade $ for BTC How to obtain Bitcoins (BTC)? Cryptocurrencies can be traded on markets: websites that handle conversions, deposits and retrieval of cryptocurrencies. To be purchased a crypto currency needs to be listed on a given markets. 
 Remember blockchain has never been hacked, but markets can be hacked (and have been).

Slide 9

Slide 9 text

A BTC account What do you need to trade BTCs? Every transaction has a source and a destination which are numeric equivalents to traditional bank account numbers. An user can have one or more addresses (since their creation is as easy as clicking a button) A private/public key pair Each account is paired to a couple of keys. The BTC account is the hash of a public key. To recover and claim ownership of an account, you need the private key counterpart. Remember your keys are the only way an account can be recovered. There is no bank in the middle to guarantee your identity. A Wallet Many addresses can receive/send cryptocurrencies, to safely store key pairs, some tools, named “wallets” have been created. There are many wallets around, some of them are online but not reliable while others are physical and more safe top hold signi fi cant amounts of money (hardware wallets, paper wallets)

Slide 10

Slide 10 text

BTC wallets

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

https://www.gdax.com/trade/BTC-EUR

Slide 13

Slide 13 text

Will I be rich trading BTC?

Slide 14

Slide 14 text

You can buy them — trade $ for BTC How to obtain Bitcoins (BTC)? Cryptocurrencies can be traded on markets: websites that handle conversions, deposits and retrieval of cryptocurrencies. To be purchased a crypto currency needs to be listed on a given markets. 
 Remember blockchain has never been hacked, but markets can be hacked (and have been). You can mine them… mining... WTF is Bitcoin mining? wait... we have to talk about the Blockchain!

Slide 15

Slide 15 text

Introducing Blockchain

Slide 16

Slide 16 text

Blockchain !== Bitcoin

Slide 17

Slide 17 text

Blockchain IS NOT Bitcoin Liberating blockchain technology from its application to cryptocurrencies is important in understanding the broader implications and applications of blockchain technology. The Disintermediation of Everything The revolutionary idea behind Bitcoin was to form a digital alternative to fi at currency, but free from the need for a central bank. Blockchain technology enables a ledger of information to be distributed among an “ecosystem” of interested participants. In the dominant form of the technology, no single participant controls the ledger and everyone has an identical copy of it. The ledger’s integrity is maintained by consensus of the participants and a method for encoding information into the ledger is based on axiomatic mathematical relationships The ledger’s transactions cannot be re-written in any way, shape or form; Transactions cannot be repudiated, meaning that party X and party Y can never deny that the transaction took place. Transactions in the ledger are forever, for always and for all time: they can not be undone once entered, only reversed with another negating transaction. The Ledger

Slide 18

Slide 18 text

Partial (wrong) de fi nition A de fi nition of Blockchain the blockchain is the technology running bitcoin A better de fi nition A blockchain is a distributed database that maintains a continuously-growing list of records called blocks secured from tampering and revision An even better de fi nition The blockchain is a secured protocol enabling peer-to-peer exchanges on a distributed network in a secured, public and non repudiable way.

Slide 19

Slide 19 text

Which problem does the blockchain solve?

Slide 20

Slide 20 text

An extension to Common Law Trust mechanism Trust Born as a fi duciary relation between two parties with a supervisor, it has been extended to almost every transaction that has to bee guaranteed by a third party. It borrows from Common Law the terminology: Settlor - is the part that wants to contribute something to a bene fi ciary 
 Bene fi ciary - is the part receiving something from a Settlor Protector - is an optional actor, that guarantees the trusted relation. If there is not a protector, the transaction is untrusted Transactions can be trusted or untrusted • Trusted transactions can be veri fi ed • Trusted transactions cannot be reversed once registered • Trusted transactions require a place where are stored, called general ledger • The Protector is a key actor in a trusted transaction (cannot occur without) Duty of a Protector A Protector maintains and guarantees the consistency of the ledger, that is the source of truth. The trust must be within the Protector: a malicious or faulty protector can break the trust. 


Slide 21

Slide 21 text

Peer to peer transaction (untrusted) Untrusted transactions • A good is exchanged between two actors 
 • The good end of the transaction relies on both actor consensus about such transaction • Any actor can contest transaction 
 • Even more di ff i cult when extending to n participants

Slide 22

Slide 22 text

Intermediated transactions (trusted) Trusted transactions • A good is sent to the Protector, that stores it, partial transaction recorded into the ledger 
 • The Protector sends the good to Bene fi ciary, transaction completion recorded into ledger 
 • At any time, ledger can be consulted 
 • Protector trustworthiness is given for granted need a hierarchy of Protectors to transfer trust)

Slide 23

Slide 23 text

Trust problems examples

Slide 24

Slide 24 text

Example - Bank Transactions

Slide 25

Slide 25 text

Real Estate Example - Others Each ownership transaction between a seller and a buyer of a real estate is executed by a third party that acts on government behalf to record and execute transfers Democracy When a proposal or a candidate is voted, a third party (a teller at a pool) is required to count and validate votes, then crediting scores to the corresponding competitor. Quality Assurance When a certi fi cation is required to establish a statement of quality for a given product or service, an external organization (a certi fi cation company) is required to validate quality and provide trust information

Slide 26

Slide 26 text

Example Bob is looking for a new suite Sally runs an online store and sells clothes

Slide 27

Slide 27 text

Example

Slide 28

Slide 28 text

Trustiness A protector must be certi fi ed itself as trustworthy, because it represents the source of truth of the transaction Issues with Protector Scalability A protector is required for each transaction that must occur, moreover some additional e ff ort is needed to guarantee ledger consistency across multiple Cost Since Protector is a key role within a transaction and brings a lot of responsibility (and often bureaucracy) its work has to be payed a considerable amount of money, often proportional to the value of exchanged good Censorship A protector can decide whether a transaction can occur or not

Slide 29

Slide 29 text

Blockchain Architecture

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

1. Node Application The four technologies of a blockchain the blockchain ecosystem constitutes a service overlay network (SON) and to be a node in the network your computer must be able to process application-speci fi c messages and a ff ect the shared state of the SON. Regardless of how one is quali fi ed, once one has a node application one can participate in the respective blockchain ecosystem. 2. Shared Ledger It is a logical component. The distributed ledger is a data structure managed inside the node application. Once you have the node application running, you can view the respective ledger (or blockchain) contents for that ecosystem. Regardless of how many ecosystems you are a participant in, there is only one shared ledger for each ecosystem.

Slide 32

Slide 32 text

3. Consensus Algorithm The four technologies of a blockchain The consensus algorithm is implemented as part of the node application, providing the ‘rules of the game’ for how the ecosystem will arrive at a single view of the ledger. Di ff erent ecosystems have di ff erent methods for attaining consensus depending on the desired features the ecosystem needs. There are di ff erent methods proof-of-work (PoW), proof-of-stake (PoS), etc. 4. Virtual Machine A virtual machine is a representation of a machine (real or imaginary) created by a computer program and operated with instructions embodied in a language. It is an abstraction of a machine, held inside a machine. The Virtual Machine o ff ers the abstraction layer of the blockchain instruction set in a distributed computing model.

Slide 33

Slide 33 text

How does Blockchain work?

Slide 34

Slide 34 text

A digital wallet Components of a simple transaction Originates or receives a transaction, in the form of a receipt, are expressed as digital number A Block within the blockchain Blocks hold batches of valid transactions that are hashed and encoded into a Merkle tree (an hashed tree). Each block includes the hash of the prior block in the blockchain, linking the two. The linked blocks form a chain. This iterative process con fi rms the integrity of the previous block, all the way back to the original genesis block. Consensus and proof of work Bitcoin’s blockchain achieves consensus through sequential cryptographic hashing of the transactions and the fi nal ‘proof- of-work’ validation. A cryptographic hash function takes a message (transaction value) and converts it into an alphanumeric value. Hash functions are nearly impossible to invert thus the input value of a hash function can never be determined from its output value. Also, a small change to the input dramatically changes the output. In a blockchain protocol, the header of the latest block is a combined hash value of the set of latest transactions. To this combined hash number is appended a random number called the nonce.

Slide 35

Slide 35 text

Block structure A Block is a data structure that collects the veri fi ed transactions to be included in the blockchain. A block consists of a header which contains various other metadata and collection of transactions. The block header is 80 bytes, and the average transaction is at least 250 bytes. Generally, a block contains more than 500 transactions, leading to the block size on average of 1 MB. The collected transactions are recorded in the block in the form of a Merkle tree

Slide 36

Slide 36 text

Merkle Tree It is a binary hash tree which uses SHA256 algorithm to encrypt the transactions and create a summary of all transactions in the block. It is possible to create a huge block of transactions using a Merkle tree, but it will eliminate participation of nodes with low computing resources. Let us assume there are transaction T1 and T2: 
 Then, Hash(T1) = SHA256(SHA256(T1)) Hash (T1 T2) = SHA256(SHA256 Hash(T1) + Hash(T2))

Slide 37

Slide 37 text

No content

Slide 38

Slide 38 text

Other terms Block time: It takes a certain amount of time for the miners to fi nd a solution to include transactions in a block, which is called as Block time. Transaction pool: Miners consider a transaction pool which contains all the transactions for block generation and mining. Block size: Block size determines the space reserved for each block which may depend on the number of transactions included in the block. For bitcoin, the block size is designed at 1MB. Con fi rmation: A transaction is con fi rmed only after it is veri fi ed by the participants in the network and collected into the block. Then it is appended to the blockchain, after which reversing of the transaction is not possible Di ffi culty: Blockchain di ff i culty is de fi ned as the complexity to generate a block or successfully validate a set of transactions to collect into a block. Hashrate: Number of hashes a miner can generate per second to while mining a block is hashrate

Slide 39

Slide 39 text

Double spending problem The transactions may be broadcasted to all the nodes in the distributed network, but the transactions may arrive at a di ff erent time. One party may be involved in a number of consecutive transactions in a short amount of time. Each transaction may be propagated as they were created, but they may not be received by the nodes in the order in which they are generated. As shown in fi gure 2.6, the 2nd transaction may be validated before the 1st transaction, thus creating a problem 11 of double spending

Slide 40

Slide 40 text

Consensus problems

Slide 41

Slide 41 text

The Sybil attack a reputation system is subverted by creating multiple identities.[4] A reputation system's vulnerability to a Sybil attack depends on how cheaply identities can be generated, the degree to which the reputation system accepts inputs from entities that do not have a chain of trust linking them to a trusted entity, and whether the reputation system treats all entities identically.

Slide 42

Slide 42 text

A fault tolerance problem Each division has its own commander/general who is backed by one or more lieutenants. Generals sends messages to liutenants and to other divisions. A message can be either “attack” or “retire” Coordinated Attack Leading to Victory Uncoordinated Attack Leading to Defeat

Slide 43

Slide 43 text

Mining and PoW

Slide 44

Slide 44 text

Proof-of-Work (PoW) The prover proves to others (the veri fi ers) that a certain amount of a speci fi c computational e ff ort has been expended. Veri fi ers can subsequently con fi rm this expenditure with minimal e ff ort on their part. A key feature of proof-of-work schemes is their asymmetry: the work – the computation – must be moderately hard (yet feasible) on the prover or requester side but easy to check for the veri fi er or service provider. This idea is also known as a CPU cost function, client puzzle, computational puzzle, or CPU pricing function. Advantages of PoW Proof of work has some powerful advantages, especially for a relatively simple but hugely valuable cryptocurrency like Bitcoin. It’s a proven, robust way of maintaining a secure decentralized blockchain. As the value of a cryptocurrency grows, more miners are incentivized to join the network, increasing its power and security. Because of the amount of processing power involved, it becomes impractical for any individual or group to meddle with a valuable cryptocurrency’s blockchain.

Slide 45

Slide 45 text

Trustiness Proof-of-work Introducing the hash function, which is a mathematical function f(x) —> y that: 1. for any length of x it produces always an y of a given length 
 2. function cannot be inverted (i.e. does not exist a g(y) —> x function) 
 3. a slightly change of x values produces a signi fi cant change of y 4. there is no an x’ ≠ x that has the same y value consider having an x made of a fi xed number (obtained to previous block) and a variable number (called nonce), so x = fi xed + nonce nonce is a random value, we de fi ne a valid POW when nonce value produces a given y that has a value smaller than a given number. Miners try di ff erent nonces ‘till they match the required output, once this is done, it represents the POW of the block. Once a POW has been found, the corresponding block is added to the chain. The blockchain adjust the required maximum value of the output y and this is called di ffi culty. Di ffi culty is needed to guarantee blockchain reliability and fi xed mining throughput.

Slide 46

Slide 46 text

Proof-of-work (energy)

Slide 47

Slide 47 text

Security through time

Slide 48

Slide 48 text

Thank you.

Slide 49

Slide 49 text

bit.ly/blockchain-2022-01

Slide 50

Slide 50 text

Empathy in Technology

Slide 51

Slide 51 text

www.neosperience.com | blog.neosperience.com | [email protected]