SlideShare a Scribd company logo
1
Blockchain
everyone talks about it, nobody really knows how to do it,
everyone thinks everyone else is doing it,
so everyone claims they are doing it...
blockchain
miti, realtà, limiti, opportunità


Sandro Fontana

sandro.fontana@gt50.org
Convegno SGI Bevagna (PG)
Convegno SGI Bevagna 8 luglio 2018 01
blockckain
le tecniche che
permettono l’esistenza
delle blockchain crittografia a chiave Simmetrica
crittografia a chiave Asimmetrica
message digest (hash)
come funziona una
blockchain
il caso più semplice: bitcoin
blockchain

vs

DLT
criptovalute & ICO
aree di applicazione
teoria e realtà
costi - PoW
tutto ciò che avreste voluto fare
helicopter overview
smart contracts
Convegno SGI Bevagna 8 luglio 2018 01
helicopter overview (1) 

un linguaggio di scripting: permette di scrivere
programmi memorizzati ed eseguiti nella blockchain
una lista ordinata di blocchi di dati
contenente transazioni applicative
una struttura dati pubblica e decentralizzata:
condivisa tramite una rete P2P
non modificabile;

dimostra autenticità, integrità e non ripudio
un sistema di consenso distribuito che permette
di validare e confermare ogni transazione
Convegno SGI Bevagna 8 luglio 2018 01
helicopter overview (2) 

Quello che ha dato notorietà alla tecnologia blockchain

è la sua implementazione nei protocolli alla base delle criptovalute: 

Bitcoin, Ethereum, Ripple e circa altre 1.600(*)
* fonte: https://coinmarketcap.com/all/views/all/
Ciò che rende la (tecnologia) blockchain interessante

è che risolve il problema della manipolazione dati ed è censor-proof
Sono le sue particolari caratteristche di libro mastro distribuito, totalmente digitale,
aggiornato in tempi quasi reali, con sequenze temporalmente certe, irreversibile e
verificabile, aperto ed affidabile, resistente agli attacchi, la cui sicurezza è basata su
crittografia forte, ad accesso libero e trasparente e può consentire l’anonimato
Blockchain è solo nella sua fase iniziale.
Ci sono molte cose che la blockchain potrebbe cambiare.
È plausibile che la blockchain possa

forse rendere i processi più democratici, sicuri, trasparenti ed efficienti,

trasformando o forse disgregando intere aree di business ed aziende
Convegno SGI Bevagna 8 luglio 2018 01
helicopter overview (2) 

WILD PUBLIC CONSORTIUM PRIVATE
(by courtesy of Giuseppe Bianchi University of Roma Tor Vergata / CNIT)
Main interest for industrial applications
known/controlled set of untrusted
parties which «build» the chain:
many protocols
anyone can add a block: unknown/
uncontrolled set of miners!

very hard
consensus protocol
Convegno SGI Bevagna 8 luglio 2018 01
Detto tutto ciò cosa capita di frequente?
Se i vostri requisiti sono soddisfatti
dalle attuali basi di dati relazionali,
sarebbe folle utilizzare una blockchain

(da Gideon Greenspan, fondatore di Multichain)
Convegno SGI Bevagna 8 luglio 2018 01
crittografia (a chiave) Simmetrica: cosa è 

Algoritmo di crittografia simmetrica
(Symmetric Encryption Algorithm)
Key
Londra dicembre 1964

Caro Babbo Natale,

quest’anno sono stato particolarmente
buono. Sono riuscito a spiare tutte le
riunioni del Console ed a registrare
tutte le sue conversazioni. Inoltre ho
distribuito infor mazioni false e
fuorvianti a tutti i governi alleati.

Ti prego di portarmi una nuova
macchina per la codifica dei miei
messaggi: ho paura che quella che uso
ora non sia tanto valida; potrebbero
scoprirmi !

Tuo

John Profumo

Testo in chiaro
Testo in cifrato
/cjj7iTGpHaAYx3KYVPIaq/
IuCXQ7OwvzoTlvB6k4B9fqXzVYvfhcsxkChQQ02a
RIeJYqDIT9+Gr
PJ2v34xtrHwJ8JW2gMtXNeeQfigoTg16pMHp1gU
1d1Isa0wzB0PH4e+1WfZ3lSEz7P7isozCMhgK
MtUoBU8oKizH/
2aa89hox23S39ZIl2udig55gFdiqSkbfeVwwpxiNr/
Op4F88w3s1+JTXikQuNTZ
qMl7rCgEmYWCajCKVkQpTYMXicqjJzkMurRhxc
S+L7BTwHPHo5EnY4jsn0y9cWjrOT8XS3Vz5rUA
enpDDOeOrbGBrlXvSovC9e1nc3jzFv4jHzev5mYp
qKs+KDsOy2o1RjVe/qxvD0X/L7RkDrHu0X0i
GpQvhEj9aMLwn3bbtNAbYrIaFC4fwja5Y0P1s6sE
my9oFU1JHuCYmd6Lt5+rIwTQQ69o2PbeEiI6
9E48MjLKipEfVarqBKnsB3C9+k9F2X73hc9n77ojIl
8vT6XlSSSMY1hhGU5sNIwLWcXrmIciKjBB
pqVeskRbGe4UeiLUaV28LIM5uwDAajOyMmkEde
0GrZN9+d0G544FIQHeg2gndvyfOZNKn287wPyL
YQN43vRoUoIW8DIXRBr7lq1xvQNuA8hS=1MmZ
Key
Londra dicembre 1964

Caro Babbo Natale,

quest’anno sono stato particolarmente
buono. Sono riuscito a spiare tutte le
riunioni del Console ed a registrare
tutte le sue conversazioni. Inoltre ho
distribuito infor mazioni false e
fuorvianti a tutti i governi alleati.

Ti prego di portarmi una nuova
macchina per la codifica dei miei
messaggi: ho paura che quella che uso
ora non sia tanto valida; potrebbero
scoprirmi !

Tuo

John Profumo

Nella crittografia simmetrica, ogni coppia che deve comunicare, possiede
una chiave condivisa, che tiene riservata (chiave segreta).
Un algoritmo di crittogrfia simmetrica, prende in ingresso (input) dei dati
-ad esempio un testo- e la chiave condivisa tra le parti comunicanti.
Produce dei dati codificati (output), che possono nuovamente essere
trasformati nei dati originali, solo utilizzando la stessa chiave condivisa
Da qui l’attributo “simmetrica”
Convegno SGI Bevagna 8 luglio 2018 01
crittografia (a chiave) Asimmetrica: cosa è (1) 

Londra dicembre 1964

Caro Babbo Natale,

quest’anno sono stato particolarmente
buono. Sono riuscito a spiare tutte le
riunioni del Console ed a registrare
tutte le sue conversazioni. Inoltre ho
distribuito infor mazioni false e
fuorvianti a tutti i governi alleati.

Ti prego di portarmi una nuova
macchina per la codifica dei miei
messaggi: ho paura che quella che uso
ora non sia tanto valida; potrebbero
scoprirmi !

Tuo

John Profumo

Testo in chiaro
Testo in cifrato
/cjj7iTGpHaAYx3KYVPIaq/
IuCXQ7OwvzoTlvB6k4B9fqXzVYvfhcsxkChQQ02a
RIeJYqDIT9+Gr
PJ2v34xtrHwJ8JW2gMtXNeeQfigoTg16pMHp1gU
1d1Isa0wzB0PH4e+1WfZ3lSEz7P7isozCMhgK
MtUoBU8oKizH/
2aa89hox23S39ZIl2udig55gFdiqSkbfeVwwpxiNr/
Op4F88w3s1+JTXikQuNTZ
qMl7rCgEmYWCajCKVkQpTYMXicqjJzkMurRhxc
S+L7BTwHPHo5EnY4jsn0y9cWjrOT8XS3Vz5rUA
enpDDOeOrbGBrlXvSovC9e1nc3jzFv4jHzev5mYp
qKs+KDsOy2o1RjVe/qxvD0X/L7RkDrHu0X0i
GpQvhEj9aMLwn3bbtNAbYrIaFC4fwja5Y0P1s6sE
my9oFU1JHuCYmd6Lt5+rIwTQQ69o2PbeEiI6
9E48MjLKipEfVarqBKnsB3C9+k9F2X73hc9n77ojIl
8vT6XlSSSMY1hhGU5sNIwLWcXrmIciKjBB
pqVeskRbGe4UeiLUaV28LIM5uwDAajOyMmkEde
0GrZN9+d0G544FIQHeg2gndvyfOZNKn287wPyL
YQN43vRoUoIW8DIXRBr7lq1xvQNuA8hS=1MmZ
Nella crittografia asimmetrica, ogni partecipante possiede una coppia di chiavi
matematicamente collegate: una pubblica ed una privata.
Un algoritmo di crittografia asimmetrica, prende in ingresso (input) dei dati -
ad esempio un testo- e la chiave pubblica del destinatario.
Produce dei dati codificati (output), che possono nuovamente essere
trasformati nei dati originali, solo utilizzando la chiave privata corrispondente
Ciò che codifica una chiave, può essere decodificato solo dall’altra chiave.
Algoritmo di crittografia asimmetrica
(Asymmetric Encryption Algorithm)
Public Key
Private Key
Londra dicembre 1964

Caro Babbo Natale,

quest’anno sono stato particolarmente
buono. Sono riuscito a spiare tutte le
riunioni del Console ed a registrare
tutte le sue conversazioni. Inoltre ho
distribuito infor mazioni false e
fuorvianti a tutti i governi alleati.

Ti prego di portarmi una nuova
macchina per la codifica dei miei
messaggi: ho paura che quella che uso
ora non sia tanto valida; potrebbero
scoprirmi !

Tuo

John Profumo
Convegno SGI Bevagna 8 luglio 2018 01
crittografia (a chiave) Asimmetrica: cosa è (2)

C’è un secondo effetto nella crittografia asimmetrica, importante quanto e forse più del primo.
Se Bob codifica un proprio messaggio utilizzando la propria chiave Privata quindi pubblica
questo messaggio, chiunque potrà decodificarlo, ma solo ed esclusivamente utilizzando la
chiave pubblica di Bob…
… questo significa con certezza che il messaggio proviene da Bob, l’unico
che ha a disposizione la corrispondente chiave Privata:
Bob’s
Private key
Bob’s
Public key
Ciò che codifica una chiave, può essere decodificato solo dall’altra chiave.
nasce così la Firma Digitale
Convegno SGI Bevagna 8 luglio 2018 01
message digest (hash): cosa è (1)

Il valore di hash di un messaggio, di un
testo, di dati in genere viene considerato
come l’impronta univoca di quei dati
… e non è prevedibile
(*) 256bit = 2256 = 1,16*1077
il numero (stimato) di atomi nell’universo è 1080
il numero di secondi, nella vita di una persona che compie 100 anni, è di 3*109
Un algoritmo di hash crittografico (da qui in poi hash) è una elaborazione
che accetta in ingresso una informazione di lunghezza qualsiasi:
da pochi caratteri, all’intero contenuto della Biblioteca Nazionale



Genera in uscita un sequenza univoca di bit, detto appunto hash del
messaggio in input: tipicamente di lunghezza pari a 128, 160 o 256 bit(*)
Dove si applica un algoritmo di hash?
Nella verifica dell’integrità dei dati & firma digitale … e in qualsiasi protocollo di sicurezza
Convegno SGI Bevagna 8 luglio 2018 01
message digest (hash): cosa è (2)

prendiamo lo stesso testo, con una piccola modifica:
Caro Babbo Natale,
quest’anno sono stato particolarmente buono. Sono riuscito a spiare tutte le riunioni del Console ed a registrare tutte
le sue conversazioni. inoltre ho distribuito informazioni false e fuorvianti a tutti i governi alleati.
Ti prego di portarmi una nuova macchina per la codifica dei miei messaggi: ho paura che quella che uso ora non sia
tanto valida; potrebbero scoprirmi !
prendiamo ad esempio il seguente testo:
Caro Babbo Natale,
quest’anno sono stato particolarmente buono. Sono riuscito a spiare tutte le riunioni del Console ed a registrare tutte
le sue conversazioni. Inoltre ho distribuito informazioni false e fuorvianti a tutti i governi alleati.
Ti prego di portarmi una nuova macchina per la codifica dei miei messaggi: ho paura che quella che uso ora non sia
tanto valida; potrebbero scoprirmi !
Algoritmo di hash utilizzato: SHA256
hash calcolato: 0aab561cf5053babbbac83deda77b014fa9f8b7805376ae45ac4e44bc2f67023
Algoritmo di hash utilizzato: SHA256
hash calcolato: ccfc590ff2be3e0686198f29cbf1098ad248b2572b2a1ae944aa0c59f245738d
la verifica dell’integrità dei dati:
piccoli cambiamenti in input, totali cambiamenti in output
Convegno SGI Bevagna 8 luglio 2018 01
il caso più semplice: Bitcoin 

bitcoin (BTC)
It was invented by the pseudonym Satoshi Nakamoto in 2008, and released as
open-source software in 2009.
World payment system;
Peer-to-peer and no third parties involved (no Queen);
Usability;
Transactions pseudo-anonymous and irreversible;
Low (or no) fees (until end 2015);
All the users that exchange bitcoins represent

the Bitcoin network, and they are called nodes.

To become a node, each user needs:
✦ an Internet connection;
✦ a Bitcoin wallet (one or more then one)
✦ [a “full node/full client”, “is a client that stores the entire history of bitcoin transactions”]
A Bitcoin wallet can be compared to the user's bank account and it is thus necessary for sending
and receiving bitcoins. It is identied by two mathematically-connected keys:
✦ a private key
✦ a public key
wallet category:
desktop, mobile, Web,
Hardware, Paper
degree of autonomy:
full node/full client,
lightweight client, API client
sign every transaction you perform with private key
your identity/address = hash(your publick key)
Convegno SGI Bevagna 8 luglio 2018 01
bitcoin: transactions/payments 

14
Bob buys a cofee at Alice's café: how does Alice get paid?
Assumption :
✦ Both Alice and Bob have to possess a Bitcoin wallet.
✦ Alice communicates Bob her address and the bill.
✦ Bob creates a Bitcoin transaction of the due amount, from his wallet to Alice's
one; then Bob is the sender and Alice the recipient of the transaction.
Bitcoin transactions are the means by which each user:
✦ transfers a certain amount of his bitcoins to one or more users;
✦ demonstrates to be the owner of a certain amount of bitcoins:

signing the transaction with private key
note: Bob’s bitcoins, are not in Bob’s wallet; they stay in blockchain
wallet
Convegno SGI Bevagna 8 luglio 2018 01
bitcoin: Miners

15
bitcoin miner = gold rusher
They are part of the Bitcoin network and connected to other nodes
Their job:
✦ listen for transactions
✦ checking transactions by
checking the signatures;
checking that bitcoins have not been spent before ! no double-spending!
✦ maintain the blockchain and listen for new blocks
✦ assemble a new block:group transactions into a new block

(extends the latest block you know about)
✦ reach the mining target (initial #0’s in block hash [block ID]) (*)
✦ hope your block is accepted
✦ If all the other miners accept your block, then you make a profit (today 12,5 BTC)
(*) Bitcoin network runs at an estimated 20,000 gigawatt/y (like Ireland) 
fonte: https://www.worlddata.info/europe
Convegno SGI Bevagna 8 luglio 2018 01
bitcoin: the blockchain 

Block 875
Block 874 Block 876
hash
hash
Block n
…
… … …
Block 1 Genesis block
Block 2
hash
hash
hash
hash
hash
Hash (NONCE +
hash prev. block +
transactions-rootHash)
= 00000007C96A72BBC4
Proof of work
Convegno SGI Bevagna 8 luglio 2018 01
bitcoin: characters 

17
Block 863
Miners
Users
ID Management (nicknames)
no central register
(cryptocurrencies) Exchange
Trust Virtual
computing platform

P2P
full nodes
users/miners
wallet
(cold/hot)
Asymmetric Cryptography (ECC);
Hash functions;
Digital signature;
Block 864
Block 865
Block 866
Block 867
Block 868
Block 869
Block 870
Block 871
Block 872
Block 873
Block 874
Block 875
blockchain
transactions
(in MemPool)
Convegno SGI Bevagna 8 luglio 2018 01
… e molti altri elementi 

18
Pay-to-script-hash
M-of-N addresses (multi-signature address)
Escrow transactions
Bitcoin software
BIP (Bitcoin Improvement Proposal)
Double Spending⟶ slow block confirmation (1h = 6 block)
Wallet (hot&cold storage)
Bitcoin exchange
Mining Pool
so, why not use the blockchain to create a contract that is automatically
enforced, between two [or more] people, in a decentralized fashion?
blockchain, n. An open-source technology that supports
trusted, immutable records of transactions stored in publicly
accessible, decentralized, distributed, automated ledgers.
[ISO TC 307] Terminology for Blockchain v1.0
Convegno SGI Bevagna 8 luglio 2018 01
smart contract 

19
The key idea is that the decentralized transaction ledger
functionality of the blockchain could be used to register, confirm,
and transfer all manner of contracts and property.
Contracts
Application Class Examples
General Escrow transactions, bonded contracts, third-party arbitration,
multiparty signature transactions
Financial transactions Stock, private equity, crowdfunding, bonds, mutual funds,
derivatives, annuities, pensions
Public records Land and property titles, vehicle registrations, business licenses,
marriage certificates, death certificates
Identification Driver’s licenses, identity cards, passports, voter registrations
Private records IOUs, loans, contracts, bets, signatures, wills, trusts, escrows
Attestation Proof of insurance, proof of ownership, notarized documents
Physical asset keys Home, hotel rooms, rental cars, automobile access
Intangible assets Patents, trademarks, copyrights, reservations, domain names
Convegno SGI Bevagna 8 luglio 2018 01
20
(ISO-TC307_N0180 SG5 TS Smart Contracts PreDraft)
Convegno SGI Bevagna 8 luglio 2018 01
Bitcoin: script 

21
The bitcoin transaction script language, called Script, is a
Forth-like reverse-polish notation stack-based execution
language.
Designed to be limited in scope and executable on a range of hardware:
there are no loops or complex flow control.
The language is not Turing Complete, meaning that scripts have:
limited complexity and predictable execution times.
e.g.:
Locking Script: specifies the condiction that must be met, to spend the output
Unlocking Script: satisfied the conditions and allow the output to be spent
Convegno SGI Bevagna 8 luglio 2018 01
Ethereum virtual machine code 

22
Ethereum was designed to create, develop and spread smart contracts and has
become the most popular blockchain for creating smart contracts and
decentralised applications.
Uses a proprietary ledger, different from the Bitcoin blockchain
Solidity is a contract-oriented, high-level language for implementing smart
contracts. It was influenced by C++, Python and JavaScript and is designed to
target the Ethereum Virtual Machine (EVM)
other language: Serpent (outdated), Viper (still sperimental)
but it has had 4
hard fork
Implements a built-in powerful fully fledged Turing-complete
programming language that can be used to create "contracts"
that can be used to encode arbitrary state transition functions
Convegno SGI Bevagna 8 luglio 2018 01
Ethereum Philosophy /1
A computer distribuited across the entire Internet
Any node keep in its memory the whole RAM of Ethereum Computer
The state is made up of objects called "accounts"
• externally owned accounts, controlled by private keys
• contract accounts, controlled by their contract code
Ethereum Messages (like “transactions” in Bitcoin)
• a message can be created either by an external entity or a contract
• there is an explicit option to contain data
• if the recipient is a contract account, it has the option to return a
response; (encompass the concept of functions)
Convegno SGI Bevagna 8 luglio 2018 01
Ethereum Philosophy /2
contracts (account) have equivalent
powers to external accounts,
including the ability to send message
and create other contracts
one can send messages from an
externally owned account by
creating and signing a transaction
work as autonomous agents

every time the contract account receives a message its code
activates, allowing it to read and write to internal storage and
send other messages or create contracts in turn
The
computational
effort is payed in
gas
o
r
a
c
l
e
s
Convegno SGI Bevagna 8 luglio 2018 01
Ethereum Philosophy /3
Ether(ETH) [$1.156,09]

is the cryptocurrency associated to Ethereum
Market Cap
$111.964.181.038 USD 

7,209,603 BTC 

Volume (24h)
$7.182.950.000 USD 

462,524 BTC

Circulating Supply
96,847,288 ETH

08/01/2018
Ether is the fuel for operating the distributed application platform Ethereum.
Clients pay the machines executing the requested operations.
Ensuring that developers write quality applications
Ethereum smart contracts are softwares written in a Turing-complete language.
Loops are possible and it is difficult to estimate the difficulty of a computation,
depending on the input.
In Ethereum, the fee for the execution depends on the operations performed
and each operation has its cost.
Convegno SGI Bevagna 8 luglio 2018 01
Instead of a smart contract initiating the retrieval of external data, one or more
trusted parties ("oracles") creates a transaction which embeds that data in the
chain.
Contacting external services?
Not so simple
if a smart contract retrieves some information from an external source, this
retrieval is performed repeatedly and separately by each node
Think about a use case where a
smart contract changes its behavior
in response to some external event.
Can we use Smart Contracts?
Smart contracts cannot fetch external data on their own.
Oraclize acts as a data carrier, a reliable connection
between Web APIs and your Dapp.
Convegno SGI Bevagna 8 luglio 2018 01
smart is not so smart
we have to remember The DAO hack
writing solid smart contracts can
be extremely difficult in practice
There is ongoing research on how to use
formal verification to express and prove
non-trivial properties.
The DAO was a decentralized autonomous organization
that exists as a set of  contracts  among people that
resides on the Ethereum blockchain
In June 2016, users exploited a vulnerability in The DAO
code to enable them to siphon off one third of The DAO's
funds to a subsidiary account (about 54M$ in Ether)
Convegno SGI Bevagna 8 luglio 2018 01
blockchain VS Distribuited Ledger Technology 

(permissionless vs permissioned)
Quando scriviamo “blockchain”,

facciamo riferimento ad una

tecnologia di registrazione dati decentralizzata,

sicura, affidabile e priva di meccanismi di autorizzazione all’accesso.
Tutto ciò è molto bello,
ma guardando da vicino dobbiamo valutare alcune caratteristiche

che (molto) spesso rendono non logico o impossibile il suo utilizzo.
La blockchain potrebbe […] forse rendere i processi più democratici, sicuri, trasparenti ed efficienti
Convegno SGI Bevagna 8 luglio 2018 01
(by courtesy of myself https://www.linkedin.com/pulse/1001-reasons-start-blockchain-project-maybe-dlt-sandro-fontana/
1001 Reasons NOT to Start a blockchain project
… maybe a DLT project?


0001) difficoltà ad adeguare la tecnologia ai combiamenti (business, compliance …)
0010) completa trasparenza VS necessità di riservatezza
0011) incapacità di scalare e spreco energetico: PoW
0100) dove mettiamo i dati?
0101) nulla è gratis … ed in alcuni casi costa molto
0110) che succederà nel futuro di alcune (tutte) le blockchain
0111) i rischio per gli utilizzatori, in particolare per gli utenti finali
1000) nel business la mancanza di una autorità garante non sembra accettabile
1001) siamo certi di voler unire A.I. con un sistema che nessuno può bloccare?
la gran parte di questi spunti di riflessione, sono sicuramente gestibili in una
DLT (blockchain permissioned); sarà comunque necessario ripensare a come
disegnare le applicazioni e per questo, sviluppare/imparare altri strumenti.
Convegno SGI Bevagna 8 luglio 2018 01
la tecnologia blockchain, per come è costruita,

non ha la possibilità di evolvere e cambiare velocemente:
è necessario ricorrere al consenso di una ampia maggioranza dei nodi
Come può un’azienda basare il suo business, su una tecnologia che non è in
grado di evolversi rapidamente o che non è in sintonia con l'azienda stessa?
Pensate alla difficoltà di gestire l'aggiornamento del software (contratti intelligenti),
di risolvere i bug in modo tempestivo ... 

dovremo definire un nuovo modo di progettare le nostre soluzioni software -come
contratti intelligenti- per gestire il loro ciclo di vita e la loro evoluzione.
e.g. GDPR:

con il nuovo regolamento, un cittadino europeo può richiedere ad una azienda

di cancellare i suoi dati personali;

utilizzando una blockchain

la cancellazione completa potrebbe non essere possibile
Convegno SGI Bevagna 8 luglio 2018 01
Una delle pietre angolari della catena di blocchi è la completa trasparenza dei dati,
delle transazioni e dei contratti intelligenti (con le loro variabili, il loro stato, ecc…)
Ma la (pseudo)anonimità non sarebbe d'aiuto in un contesto aziendale;

la trasparenza totale non sarebbe più accettabile

per la maggior parte delle applicazioni o per gli utenti.
Poiché le applicazioni (DApps) e i dati sarebbero presenti su tutti i nodi,

dovrebbero essere crittografati (multi-party, crittografia zero-knowledge)

con un conseguente aumento della complessità.
Probabilmente avremo bisogno di implementare nuove funzionalità nel wallet,

con l'obiettivo di gestire la decodifica (e la privacy) dei dati offline.
Convegno SGI Bevagna 8 luglio 2018 01
Che ci piaccia o meno, almeno nelle forme che conosciamo meglio,

la blockchain può essere utilizzata per le prove di concetto, non di più.
Anche Ethereum in termini di transazioni

non sembra adatto per applicazioni grandi e reali

… e se un'applicazione non è grande e reale,
perché dovremmo usare una blockchain?
Senza raggiungere le decine di migliaia di transazioni al secondo

(es. VISA/Mastercard),

anche la semplice fatturazione in Italia è un processo di diversi miliardi di fatture
all'anno: significa superare le 500 transazioni al secondo.
E oggi siamo tra 7tr/sec e 20tr/sec, quindi …
Convegno SGI Bevagna 8 luglio 2018 01
La blockchain non è un database,

per sua natura non è adatta a contenere megabyte di dati per transazione
In alcune tecnologie ìin realtà si può memorizzare dati,

ma in molte applicazioni potrebbe diventare molto costoso

gestire file/dati all'interno di una catena di blocchi.
Quindi è plausibile utilizzare la blockchain

come un registro distribuito, sicuro, affidabile di identificativi dei dati (hash)

integrato con una piattaforma esterna di archiviazione

che, deve avere caratteristiche di integrità e autenticità

almeno pari a quelle della blockchain con cui è stata integrata.
Convegno SGI Bevagna 8 luglio 2018 01
Spesso sentiamo dire che l’utilizzo della blockchain non costa nulla.

In alcuni contesti era vero qualche tempo fa (le fee di una transazione
bitcoin potevano essere zero)
Al di là di questo, oggi ci rendiamo conto che la Proof-of-Work (PoW) è
insostenibile (ma non sembra esserci di meglio)
La rete bitcoin sta iniziando a preoccuparci per inquinamento

e spreco energetico (PoW = Proof-of-waste?).
Altri meccanismo come la Proof-of-Stake (PoS),

al momento non sembrano all'orizzonte.
Ricordiamoci che

ogni esecuzione di un contratto intelligente ha un costo:

dovremo progettare e vendere le nostre soluzioni software in altro modo.
Convegno SGI Bevagna 8 luglio 2018 01
Cosa succederà quando tutti i Bitcoins saranno stati estratti?
Le entrate dei minatori dovranno basarsi unicamente sulle spese di
transazione, che aumenteranno sempre più.
Il costo di un'operazione potrebbe diventare proibitivo.

Forse alcuni minatori smetteranno di lavorare e l'intera infrastruttura inizierà
a scricchiolare (dal punto di vista della sicurezza).
Ethereum, nato con l’obiettivo di essere un grande computer distribuito,
andrà meglio ... probabilmente.
Convegno SGI Bevagna 8 luglio 2018 01
Dando per certo la sicurezza intrinseca

dei protocolli utilizzati nella tecnologia blockchain 

(robustezza delle curve ellittiche scelte e futuro calcolo quantistico a parte),

ricordiamo che le credenziali di accesso -i meccanismi di firma elettronica-

sono la pietra angolare della sicurezza dei dati

e della dimostrazione di "proprietà" dell'utente in ambiente blockchain.
La corretta gestione delle credenziali per l’accesso e controllo delle proprietà, da
parte degli utenti, sono di esclusiva responsabilità degli utenti stessi.
I paradigmi permissionless e trustless -pilastri fondamentali di una blockchain-
lasciano l'utente ad affrontare ogni singolo incidente da solo
Sappiamo molto bene che la "consapevolezza" e il "rispetto" delle politiche di
sicurezza non fanno parte del patrimonio genetico dell'utente medio.
Di conseguenza, i rischi per la sicurezza - lato utente, il lato più vulnerabile - sono in
realtà amplificati nel contesto blockchain.

Convegno SGI Bevagna 8 luglio 2018 01
Permissionless: è uno dei pilastri di una blockchain canonica.
La mancanza di un garante e di un elemento di riferimento

è un punto di forza di questo nuovo approccio tecnologico.
Questa caratteristica, trasportata nel mondo delle imprese, 

diventa una delle principali debolezze: non c'è certezza, non c'è legge.
La capacità di gestire una funzionalità di "transaction RollBack",

senza violare le caratteristiche di permissionless della tecnologia
blockchain, sarà un incubo.
Convegno SGI Bevagna 8 luglio 2018 01
Alla fine di tutto ciò, non dimentichiamo che

se tutto è stato progettato

nel rispetto delle fantastiche caratteristiche di una tecnologia blockchain,

nessuno sarà in grado di fermare uno smart contract ben progettato.
Questo, unito all'intelligenza artificiale, all’Internet-of-Things,

al prossimo universo di auto a guida autonoma 

e di robot nella nostra vita ...
potrebbe portarci qui …
Convegno SGI Bevagna 8 luglio 2018 01
39
Don’t smart contract me, bro!
Convegno SGI Bevagna 8 luglio 2018 01
tutto ciò che avreste voluto fare 

… è chissà perché state pensando di farlo tramite le blockchain
shared, public & transparent
i concetti base in una blockchain
own, private & secret
il modello base nel business
+
1001 Reasons NOT to Start a blockchain project
… maybe a DLT project?


Convegno SGI Bevagna 8 luglio 2018 01
tracciare la proprietà/proveninenza/esistenza di un documento
gestire asset virtuali
fornire servizi finanziari
gestione del diritto di voto
identità digitale
vendita di propri dati sensibili (DNA) in modo anonimo ma controllato
in teoria … 

Convegno SGI Bevagna 8 luglio 2018 01
come va avanti … 

PC will produce around 1 - 100 Mh/s,
based on CPU or GPU mining stats
(ASIC machine)
AntMiner S9
13.5 Th/s
$1,987.95
Convegno SGI Bevagna 8 luglio 2018 01
criptovalute & ICO 

ICO è l’acronimo di Initial Coin Offering

significa che qualcuno sta offrendo al mercato

alcune unità di una nuova cripto-moneta.
Sempre più spesso,

una ICO serve per finanziare una nuova idea e/o un’azienda.

La raccolta di fondi è più facile e senza molti vincoli dei
controlli amministrativi, legali e documentali di una IPO (Initial Public Offerting);

inoltre non cede nulla della proprietà della nuova azienda.
Chiunque può lanciare una ICO:

basta preparare un white-paper che spiega come funziona la vostra ICO,

un sito web credibile sul quale raccontate la vostra nuova grande idea.

Quindi richiedere il finanziamento, utilizzando bitcoin o Ether, 

in cambio dei quali voi invierete alcuni “token” della vostra nuova moneta
Convegno SGI Bevagna 8 luglio 2018 01
criptovalute & ICO 

1.NEO (formerly Antshares) Cina, Microsoft: smart contracts, ID

token value from $0.03 to $88.20 ⟶ 294,000% ROI
2.Ethereum token, smart contracts

token value from $0.31 to $713 ⟶ 230,000% ROI
3.Spectrecoin token, total anonymity(TOR)

token value from $0.004 to $0.64 ⟶ 64,000% ROI
4.Stratis C# & .Net development compatible platform (blockchain4dummy)

token value from $0.01 to $2,64 ⟶ 56,000% ROI
Convegno SGI Bevagna 8 luglio 2018 01
ref: https://uetoken.com
[…] posso garantire qui e ora che il valore di UET non si ridurrà […] dal momento che
questi gettoni non valgono nulla, quindi non possono perdere valore.
contributi raccolti (US$) 144.872,00
la prima ICO completamente onesta
46
SAY BLOCKCHAIN ONE MORE TIME
I DARE YOU!
Sandro Fontana, sandro.fontana@gt50.org
CISSP, ISO27001 L.A., CISM, CISA, C|CISO
skype/twitter: sinetqnlap
http://sandrofontana.com
Convegno SGI Bevagna 8 luglio 2018 01
P2PKH: Pay to Public Key Hash
Convegno SGI Bevagna 8 luglio 2018 01
<now+3months> CHECKLOCKTIMEVERIFY DROP
Convegno SGI Bevagna 8 luglio 2018 01
Constants
OP_0, OP_FALSE
OP_PUSHDATA1
OP_PUSHDATA2
OP_PUSHDATA4
OP_1NEGATE
OP_1, OP_TRUE
OP_2-OP_16
Flow control
OP_NOP
OP_IF
OP_NOTIF
OP_ELSE
OP_ENDIF
OP_VERIFY
OP_RETURN
Bitwise logic
OP_EQUAL
OP_EQUALVERIFY
Stack
OP_TOALTSTACK
OP_FROMALTSTACK
OP_IFDUP
OP_DEPTH
OP_DROP
OP_DUP
OP_NIP
OP_OVER
OP_PICK
OP_ROLL
OP_ROT
OP_SWAP
OP_TUCK
OP_2DROP
OP_2DUP
OP_3DUP
OP_2OVER
OP_2ROT
OP_2SWAP
Arithmetic
OP_1ADD
OP_1SUB
OP_NEGATE
OP_ABS
OP_NOT
OP_0NOTEQUAL
OP_ADD
OP_SUB
OP_BOOLAND
OP_BOOLOR
OP_NUMEQUAL
OP_NUMEQUALVERIFY
OP_NUMNOTEQUAL
OP_LESSTHAN
OP_GREATERTHAN
OP_LESSTHANOREQUAL
OP_GREATERTHANOREQUAL
OP_MIN
OP_MAX
OP_WITHIN
Crypto
OP_RIPEMD160
OP_SHA1
OP_SHA256
OP_HASH160
OP_HASH256
OP_CODESEPARATOR
OP_CHECKSIG
OP_CHECKSIGVERIFY
OP_CHECKMULTISIG
OP_CHECKMULTISIGV
Locktime
OP_CHECKLOCKTIMEVERIFY
OP_CHECKSEQUENCEVERIFY
Script: bitcoin scripting system
Convegno SGI Bevagna 8 luglio 2018 01
Bitcoin timestamping: Coloured Coin
RETURN <dataHash>
Locking Script
(burning bitcoins)
By “extrinsic” we mean assets that are not
stored directly on the bitcoin blockchain, as
opposed to bitcoin itself, which is an asset
intrinsic to the blockchain.
80 byte available after OP_Return
As the Bitcoin protocol has evolved, it has gained support for smart contracts.
using features added to Bitcoin, certain smart contract functionality can be
achieved through Bitcoin scripting.
“Colored coins refers to a set of similar technologies that use
bitcoin transactions to record (by metadata) the creation,
ownership, and transfer of extrinsic assets other than bitcoin.”

More Related Content

Similar to Blockchain! - Luglio 2018 Convegno SGI a Bevagna

Blockchain: fuffa, innovazione o metà e metà?
Blockchain: fuffa, innovazione o metà e metà?Blockchain: fuffa, innovazione o metà e metà?
Blockchain: fuffa, innovazione o metà e metà?
Gabriele Guizzardi
 
LinuxBeach 2006 - Criptografia e firma digitale con GnuPG - trascrizione
LinuxBeach 2006 - Criptografia e firma digitale con GnuPG - trascrizioneLinuxBeach 2006 - Criptografia e firma digitale con GnuPG - trascrizione
LinuxBeach 2006 - Criptografia e firma digitale con GnuPG - trascrizioneMaurizio Antonelli
 
Marco Casario - Blockchain, Bitcoin, Ethereum e Javascript Mining: Monetizzar...
Marco Casario - Blockchain, Bitcoin, Ethereum e Javascript Mining: Monetizzar...Marco Casario - Blockchain, Bitcoin, Ethereum e Javascript Mining: Monetizzar...
Marco Casario - Blockchain, Bitcoin, Ethereum e Javascript Mining: Monetizzar...
Codemotion
 
Blockchain, Bitcoin, Ethereum e Javascript Mining: Monetizzare le proprie Ski...
Blockchain, Bitcoin, Ethereum e Javascript Mining: Monetizzare le proprie Ski...Blockchain, Bitcoin, Ethereum e Javascript Mining: Monetizzare le proprie Ski...
Blockchain, Bitcoin, Ethereum e Javascript Mining: Monetizzare le proprie Ski...
Codemotion
 
Bitcoin and blockchain
Bitcoin and blockchainBitcoin and blockchain
Bitcoin and blockchain
Sergio Shevchenko
 
Cristina Baldi - Chi ha detto Blockchain? - Rinascita Digitale | DAY #4
Cristina Baldi - Chi ha detto Blockchain? - Rinascita Digitale | DAY #4Cristina Baldi - Chi ha detto Blockchain? - Rinascita Digitale | DAY #4
Cristina Baldi - Chi ha detto Blockchain? - Rinascita Digitale | DAY #4
Stefano Saladino
 
Blockchain il travolgente futuro della sicurezza distribuita
Blockchain il travolgente futuro della sicurezza distribuitaBlockchain il travolgente futuro della sicurezza distribuita
Blockchain il travolgente futuro della sicurezza distribuita
Mario Gentili
 
Smart Contracts - Introduzione
Smart Contracts - IntroduzioneSmart Contracts - Introduzione
Smart Contracts - Introduzione
FedericaMariani6
 
Incontro con Ernesto Hofmann sulla BlockChain
Incontro con Ernesto Hofmann sulla BlockChainIncontro con Ernesto Hofmann sulla BlockChain
Incontro con Ernesto Hofmann sulla BlockChain
mobi-TECH
 
Professor Ernesto Hofmann - Blockchain
Professor Ernesto Hofmann - BlockchainProfessor Ernesto Hofmann - Blockchain
Professor Ernesto Hofmann - Blockchain
Marco Turolla
 
Paper E Sign La Firma Digitale Su Carta Seminario Epa
Paper E Sign  La Firma Digitale Su Carta   Seminario EpaPaper E Sign  La Firma Digitale Su Carta   Seminario Epa
Paper E Sign La Firma Digitale Su Carta Seminario Epa
Sandro Fontana
 
Rivoluzione blockchain: il futuro della collaborazione?
Rivoluzione blockchain: il futuro della collaborazione?Rivoluzione blockchain: il futuro della collaborazione?
Rivoluzione blockchain: il futuro della collaborazione?
📈 Enrico L. Barazzoni
 
Marco Spada, Maria Perugini DirICTo - SMAU Milano 2017
Marco Spada, Maria Perugini DirICTo - SMAU Milano 2017Marco Spada, Maria Perugini DirICTo - SMAU Milano 2017
Marco Spada, Maria Perugini DirICTo - SMAU Milano 2017
SMAU
 
Internet-of-things, sicurezza, privacy, trust
Internet-of-things, sicurezza, privacy, trustInternet-of-things, sicurezza, privacy, trust
Internet-of-things, sicurezza, privacy, trust
Davide Carboni
 
Data Hiding
Data HidingData Hiding
Data Hiding
NaLUG
 
Bitcoin Revolution
Bitcoin RevolutionBitcoin Revolution
Bitcoin Revolution
CloudMiningBiz
 
Linux, sicurezza & social hacking
Linux, sicurezza & social hackingLinux, sicurezza & social hacking
Linux, sicurezza & social hacking
Fabio Mora
 
Data hiding - metodologie e strumenti open source
Data hiding - metodologie e strumenti open sourceData hiding - metodologie e strumenti open source
Data hiding - metodologie e strumenti open sourceMarco Ferrigno
 
Bitcoin e le Criptovalute come nuova frontiera della libertà digitale
Bitcoin e le Criptovalute come nuova frontiera della libertà digitaleBitcoin e le Criptovalute come nuova frontiera della libertà digitale
Bitcoin e le Criptovalute come nuova frontiera della libertà digitale
midimarcus
 
Blockchainvis Backend
Blockchainvis BackendBlockchainvis Backend
Blockchainvis Backend
Francesco Franz Moca
 

Similar to Blockchain! - Luglio 2018 Convegno SGI a Bevagna (20)

Blockchain: fuffa, innovazione o metà e metà?
Blockchain: fuffa, innovazione o metà e metà?Blockchain: fuffa, innovazione o metà e metà?
Blockchain: fuffa, innovazione o metà e metà?
 
LinuxBeach 2006 - Criptografia e firma digitale con GnuPG - trascrizione
LinuxBeach 2006 - Criptografia e firma digitale con GnuPG - trascrizioneLinuxBeach 2006 - Criptografia e firma digitale con GnuPG - trascrizione
LinuxBeach 2006 - Criptografia e firma digitale con GnuPG - trascrizione
 
Marco Casario - Blockchain, Bitcoin, Ethereum e Javascript Mining: Monetizzar...
Marco Casario - Blockchain, Bitcoin, Ethereum e Javascript Mining: Monetizzar...Marco Casario - Blockchain, Bitcoin, Ethereum e Javascript Mining: Monetizzar...
Marco Casario - Blockchain, Bitcoin, Ethereum e Javascript Mining: Monetizzar...
 
Blockchain, Bitcoin, Ethereum e Javascript Mining: Monetizzare le proprie Ski...
Blockchain, Bitcoin, Ethereum e Javascript Mining: Monetizzare le proprie Ski...Blockchain, Bitcoin, Ethereum e Javascript Mining: Monetizzare le proprie Ski...
Blockchain, Bitcoin, Ethereum e Javascript Mining: Monetizzare le proprie Ski...
 
Bitcoin and blockchain
Bitcoin and blockchainBitcoin and blockchain
Bitcoin and blockchain
 
Cristina Baldi - Chi ha detto Blockchain? - Rinascita Digitale | DAY #4
Cristina Baldi - Chi ha detto Blockchain? - Rinascita Digitale | DAY #4Cristina Baldi - Chi ha detto Blockchain? - Rinascita Digitale | DAY #4
Cristina Baldi - Chi ha detto Blockchain? - Rinascita Digitale | DAY #4
 
Blockchain il travolgente futuro della sicurezza distribuita
Blockchain il travolgente futuro della sicurezza distribuitaBlockchain il travolgente futuro della sicurezza distribuita
Blockchain il travolgente futuro della sicurezza distribuita
 
Smart Contracts - Introduzione
Smart Contracts - IntroduzioneSmart Contracts - Introduzione
Smart Contracts - Introduzione
 
Incontro con Ernesto Hofmann sulla BlockChain
Incontro con Ernesto Hofmann sulla BlockChainIncontro con Ernesto Hofmann sulla BlockChain
Incontro con Ernesto Hofmann sulla BlockChain
 
Professor Ernesto Hofmann - Blockchain
Professor Ernesto Hofmann - BlockchainProfessor Ernesto Hofmann - Blockchain
Professor Ernesto Hofmann - Blockchain
 
Paper E Sign La Firma Digitale Su Carta Seminario Epa
Paper E Sign  La Firma Digitale Su Carta   Seminario EpaPaper E Sign  La Firma Digitale Su Carta   Seminario Epa
Paper E Sign La Firma Digitale Su Carta Seminario Epa
 
Rivoluzione blockchain: il futuro della collaborazione?
Rivoluzione blockchain: il futuro della collaborazione?Rivoluzione blockchain: il futuro della collaborazione?
Rivoluzione blockchain: il futuro della collaborazione?
 
Marco Spada, Maria Perugini DirICTo - SMAU Milano 2017
Marco Spada, Maria Perugini DirICTo - SMAU Milano 2017Marco Spada, Maria Perugini DirICTo - SMAU Milano 2017
Marco Spada, Maria Perugini DirICTo - SMAU Milano 2017
 
Internet-of-things, sicurezza, privacy, trust
Internet-of-things, sicurezza, privacy, trustInternet-of-things, sicurezza, privacy, trust
Internet-of-things, sicurezza, privacy, trust
 
Data Hiding
Data HidingData Hiding
Data Hiding
 
Bitcoin Revolution
Bitcoin RevolutionBitcoin Revolution
Bitcoin Revolution
 
Linux, sicurezza & social hacking
Linux, sicurezza & social hackingLinux, sicurezza & social hacking
Linux, sicurezza & social hacking
 
Data hiding - metodologie e strumenti open source
Data hiding - metodologie e strumenti open sourceData hiding - metodologie e strumenti open source
Data hiding - metodologie e strumenti open source
 
Bitcoin e le Criptovalute come nuova frontiera della libertà digitale
Bitcoin e le Criptovalute come nuova frontiera della libertà digitaleBitcoin e le Criptovalute come nuova frontiera della libertà digitale
Bitcoin e le Criptovalute come nuova frontiera della libertà digitale
 
Blockchainvis Backend
Blockchainvis BackendBlockchainvis Backend
Blockchainvis Backend
 

More from Sandro Fontana

SGI sandro fontana breve storia della crittografia Ep I
SGI   sandro fontana  breve storia della crittografia Ep ISGI   sandro fontana  breve storia della crittografia Ep I
SGI sandro fontana breve storia della crittografia Ep I
Sandro Fontana
 
la firma grafometrica ed i (nuovi) falsari
la firma grafometrica ed i (nuovi) falsarila firma grafometrica ed i (nuovi) falsari
la firma grafometrica ed i (nuovi) falsariSandro Fontana
 
Iged s fontana-quando-la-firma-digitale-incontra-la-carta
Iged s fontana-quando-la-firma-digitale-incontra-la-cartaIged s fontana-quando-la-firma-digitale-incontra-la-carta
Iged s fontana-quando-la-firma-digitale-incontra-la-carta
Sandro Fontana
 
Wiress Lan Pros And Cons.Pdf
Wiress Lan   Pros And Cons.PdfWiress Lan   Pros And Cons.Pdf
Wiress Lan Pros And Cons.Pdf
Sandro Fontana
 
The Missing Link
The Missing LinkThe Missing Link
The Missing Link
Sandro Fontana
 
[Se T 05 0044] T I Prs Secure Log Appliance [2
[Se T 05 0044] T I Prs Secure Log Appliance [2[Se T 05 0044] T I Prs Secure Log Appliance [2
[Se T 05 0044] T I Prs Secure Log Appliance [2
Sandro Fontana
 
Paper E Sign Aica Xxxix Annual Conference
Paper E Sign   Aica  Xxxix Annual ConferencePaper E Sign   Aica  Xxxix Annual Conference
Paper E Sign Aica Xxxix Annual Conference
Sandro Fontana
 
Minaccie Vere Vulnerabilita Evitabili
Minaccie Vere Vulnerabilita EvitabiliMinaccie Vere Vulnerabilita Evitabili
Minaccie Vere Vulnerabilita Evitabili
Sandro Fontana
 
La Firma Digitale Come Mezzo Per L’Autenticazione Dei Documenti Stampati In...
La Firma Digitale Come Mezzo Per L’Autenticazione Dei Documenti Stampati   In...La Firma Digitale Come Mezzo Per L’Autenticazione Dei Documenti Stampati   In...
La Firma Digitale Come Mezzo Per L’Autenticazione Dei Documenti Stampati In...
Sandro Fontana
 
Che Bel Progresso Abbiamo Fatto! Iged
Che Bel Progresso Abbiamo Fatto!  IgedChe Bel Progresso Abbiamo Fatto!  Iged
Che Bel Progresso Abbiamo Fatto! Iged
Sandro Fontana
 
Critical Infrastructure Security Ict Security Anno Vi N
Critical Infrastructure Security   Ict Security Anno Vi NCritical Infrastructure Security   Ict Security Anno Vi N
Critical Infrastructure Security Ict Security Anno Vi N
Sandro Fontana
 
Security Certification Vs Marketing Hype
Security Certification Vs Marketing HypeSecurity Certification Vs Marketing Hype
Security Certification Vs Marketing Hype
Sandro Fontana
 
Paper E Sign
Paper E SignPaper E Sign
Paper E Sign
Sandro Fontana
 

More from Sandro Fontana (13)

SGI sandro fontana breve storia della crittografia Ep I
SGI   sandro fontana  breve storia della crittografia Ep ISGI   sandro fontana  breve storia della crittografia Ep I
SGI sandro fontana breve storia della crittografia Ep I
 
la firma grafometrica ed i (nuovi) falsari
la firma grafometrica ed i (nuovi) falsarila firma grafometrica ed i (nuovi) falsari
la firma grafometrica ed i (nuovi) falsari
 
Iged s fontana-quando-la-firma-digitale-incontra-la-carta
Iged s fontana-quando-la-firma-digitale-incontra-la-cartaIged s fontana-quando-la-firma-digitale-incontra-la-carta
Iged s fontana-quando-la-firma-digitale-incontra-la-carta
 
Wiress Lan Pros And Cons.Pdf
Wiress Lan   Pros And Cons.PdfWiress Lan   Pros And Cons.Pdf
Wiress Lan Pros And Cons.Pdf
 
The Missing Link
The Missing LinkThe Missing Link
The Missing Link
 
[Se T 05 0044] T I Prs Secure Log Appliance [2
[Se T 05 0044] T I Prs Secure Log Appliance [2[Se T 05 0044] T I Prs Secure Log Appliance [2
[Se T 05 0044] T I Prs Secure Log Appliance [2
 
Paper E Sign Aica Xxxix Annual Conference
Paper E Sign   Aica  Xxxix Annual ConferencePaper E Sign   Aica  Xxxix Annual Conference
Paper E Sign Aica Xxxix Annual Conference
 
Minaccie Vere Vulnerabilita Evitabili
Minaccie Vere Vulnerabilita EvitabiliMinaccie Vere Vulnerabilita Evitabili
Minaccie Vere Vulnerabilita Evitabili
 
La Firma Digitale Come Mezzo Per L’Autenticazione Dei Documenti Stampati In...
La Firma Digitale Come Mezzo Per L’Autenticazione Dei Documenti Stampati   In...La Firma Digitale Come Mezzo Per L’Autenticazione Dei Documenti Stampati   In...
La Firma Digitale Come Mezzo Per L’Autenticazione Dei Documenti Stampati In...
 
Che Bel Progresso Abbiamo Fatto! Iged
Che Bel Progresso Abbiamo Fatto!  IgedChe Bel Progresso Abbiamo Fatto!  Iged
Che Bel Progresso Abbiamo Fatto! Iged
 
Critical Infrastructure Security Ict Security Anno Vi N
Critical Infrastructure Security   Ict Security Anno Vi NCritical Infrastructure Security   Ict Security Anno Vi N
Critical Infrastructure Security Ict Security Anno Vi N
 
Security Certification Vs Marketing Hype
Security Certification Vs Marketing HypeSecurity Certification Vs Marketing Hype
Security Certification Vs Marketing Hype
 
Paper E Sign
Paper E SignPaper E Sign
Paper E Sign
 

Blockchain! - Luglio 2018 Convegno SGI a Bevagna

  • 1. 1 Blockchain everyone talks about it, nobody really knows how to do it, everyone thinks everyone else is doing it, so everyone claims they are doing it...
  • 2. blockchain miti, realtà, limiti, opportunità 
 Sandro Fontana
 sandro.fontana@gt50.org Convegno SGI Bevagna (PG)
  • 3. Convegno SGI Bevagna 8 luglio 2018 01 blockckain le tecniche che permettono l’esistenza delle blockchain crittografia a chiave Simmetrica crittografia a chiave Asimmetrica message digest (hash) come funziona una blockchain il caso più semplice: bitcoin blockchain
 vs
 DLT criptovalute & ICO aree di applicazione teoria e realtà costi - PoW tutto ciò che avreste voluto fare helicopter overview smart contracts
  • 4. Convegno SGI Bevagna 8 luglio 2018 01 helicopter overview (1) 
 un linguaggio di scripting: permette di scrivere programmi memorizzati ed eseguiti nella blockchain una lista ordinata di blocchi di dati contenente transazioni applicative una struttura dati pubblica e decentralizzata: condivisa tramite una rete P2P non modificabile;
 dimostra autenticità, integrità e non ripudio un sistema di consenso distribuito che permette di validare e confermare ogni transazione
  • 5. Convegno SGI Bevagna 8 luglio 2018 01 helicopter overview (2) 
 Quello che ha dato notorietà alla tecnologia blockchain
 è la sua implementazione nei protocolli alla base delle criptovalute: 
 Bitcoin, Ethereum, Ripple e circa altre 1.600(*) * fonte: https://coinmarketcap.com/all/views/all/ Ciò che rende la (tecnologia) blockchain interessante
 è che risolve il problema della manipolazione dati ed è censor-proof Sono le sue particolari caratteristche di libro mastro distribuito, totalmente digitale, aggiornato in tempi quasi reali, con sequenze temporalmente certe, irreversibile e verificabile, aperto ed affidabile, resistente agli attacchi, la cui sicurezza è basata su crittografia forte, ad accesso libero e trasparente e può consentire l’anonimato Blockchain è solo nella sua fase iniziale. Ci sono molte cose che la blockchain potrebbe cambiare. È plausibile che la blockchain possa
 forse rendere i processi più democratici, sicuri, trasparenti ed efficienti,
 trasformando o forse disgregando intere aree di business ed aziende
  • 6. Convegno SGI Bevagna 8 luglio 2018 01 helicopter overview (2) 
 WILD PUBLIC CONSORTIUM PRIVATE (by courtesy of Giuseppe Bianchi University of Roma Tor Vergata / CNIT) Main interest for industrial applications known/controlled set of untrusted parties which «build» the chain: many protocols anyone can add a block: unknown/ uncontrolled set of miners!
 very hard consensus protocol
  • 7. Convegno SGI Bevagna 8 luglio 2018 01 Detto tutto ciò cosa capita di frequente? Se i vostri requisiti sono soddisfatti dalle attuali basi di dati relazionali, sarebbe folle utilizzare una blockchain
 (da Gideon Greenspan, fondatore di Multichain)
  • 8. Convegno SGI Bevagna 8 luglio 2018 01 crittografia (a chiave) Simmetrica: cosa è 
 Algoritmo di crittografia simmetrica (Symmetric Encryption Algorithm) Key Londra dicembre 1964 Caro Babbo Natale, quest’anno sono stato particolarmente buono. Sono riuscito a spiare tutte le riunioni del Console ed a registrare tutte le sue conversazioni. Inoltre ho distribuito infor mazioni false e fuorvianti a tutti i governi alleati. Ti prego di portarmi una nuova macchina per la codifica dei miei messaggi: ho paura che quella che uso ora non sia tanto valida; potrebbero scoprirmi ! Tuo John Profumo Testo in chiaro Testo in cifrato /cjj7iTGpHaAYx3KYVPIaq/ IuCXQ7OwvzoTlvB6k4B9fqXzVYvfhcsxkChQQ02a RIeJYqDIT9+Gr PJ2v34xtrHwJ8JW2gMtXNeeQfigoTg16pMHp1gU 1d1Isa0wzB0PH4e+1WfZ3lSEz7P7isozCMhgK MtUoBU8oKizH/ 2aa89hox23S39ZIl2udig55gFdiqSkbfeVwwpxiNr/ Op4F88w3s1+JTXikQuNTZ qMl7rCgEmYWCajCKVkQpTYMXicqjJzkMurRhxc S+L7BTwHPHo5EnY4jsn0y9cWjrOT8XS3Vz5rUA enpDDOeOrbGBrlXvSovC9e1nc3jzFv4jHzev5mYp qKs+KDsOy2o1RjVe/qxvD0X/L7RkDrHu0X0i GpQvhEj9aMLwn3bbtNAbYrIaFC4fwja5Y0P1s6sE my9oFU1JHuCYmd6Lt5+rIwTQQ69o2PbeEiI6 9E48MjLKipEfVarqBKnsB3C9+k9F2X73hc9n77ojIl 8vT6XlSSSMY1hhGU5sNIwLWcXrmIciKjBB pqVeskRbGe4UeiLUaV28LIM5uwDAajOyMmkEde 0GrZN9+d0G544FIQHeg2gndvyfOZNKn287wPyL YQN43vRoUoIW8DIXRBr7lq1xvQNuA8hS=1MmZ Key Londra dicembre 1964 Caro Babbo Natale, quest’anno sono stato particolarmente buono. Sono riuscito a spiare tutte le riunioni del Console ed a registrare tutte le sue conversazioni. Inoltre ho distribuito infor mazioni false e fuorvianti a tutti i governi alleati. Ti prego di portarmi una nuova macchina per la codifica dei miei messaggi: ho paura che quella che uso ora non sia tanto valida; potrebbero scoprirmi ! Tuo John Profumo Nella crittografia simmetrica, ogni coppia che deve comunicare, possiede una chiave condivisa, che tiene riservata (chiave segreta). Un algoritmo di crittogrfia simmetrica, prende in ingresso (input) dei dati -ad esempio un testo- e la chiave condivisa tra le parti comunicanti. Produce dei dati codificati (output), che possono nuovamente essere trasformati nei dati originali, solo utilizzando la stessa chiave condivisa Da qui l’attributo “simmetrica”
  • 9. Convegno SGI Bevagna 8 luglio 2018 01 crittografia (a chiave) Asimmetrica: cosa è (1) 
 Londra dicembre 1964 Caro Babbo Natale, quest’anno sono stato particolarmente buono. Sono riuscito a spiare tutte le riunioni del Console ed a registrare tutte le sue conversazioni. Inoltre ho distribuito infor mazioni false e fuorvianti a tutti i governi alleati. Ti prego di portarmi una nuova macchina per la codifica dei miei messaggi: ho paura che quella che uso ora non sia tanto valida; potrebbero scoprirmi ! Tuo John Profumo Testo in chiaro Testo in cifrato /cjj7iTGpHaAYx3KYVPIaq/ IuCXQ7OwvzoTlvB6k4B9fqXzVYvfhcsxkChQQ02a RIeJYqDIT9+Gr PJ2v34xtrHwJ8JW2gMtXNeeQfigoTg16pMHp1gU 1d1Isa0wzB0PH4e+1WfZ3lSEz7P7isozCMhgK MtUoBU8oKizH/ 2aa89hox23S39ZIl2udig55gFdiqSkbfeVwwpxiNr/ Op4F88w3s1+JTXikQuNTZ qMl7rCgEmYWCajCKVkQpTYMXicqjJzkMurRhxc S+L7BTwHPHo5EnY4jsn0y9cWjrOT8XS3Vz5rUA enpDDOeOrbGBrlXvSovC9e1nc3jzFv4jHzev5mYp qKs+KDsOy2o1RjVe/qxvD0X/L7RkDrHu0X0i GpQvhEj9aMLwn3bbtNAbYrIaFC4fwja5Y0P1s6sE my9oFU1JHuCYmd6Lt5+rIwTQQ69o2PbeEiI6 9E48MjLKipEfVarqBKnsB3C9+k9F2X73hc9n77ojIl 8vT6XlSSSMY1hhGU5sNIwLWcXrmIciKjBB pqVeskRbGe4UeiLUaV28LIM5uwDAajOyMmkEde 0GrZN9+d0G544FIQHeg2gndvyfOZNKn287wPyL YQN43vRoUoIW8DIXRBr7lq1xvQNuA8hS=1MmZ Nella crittografia asimmetrica, ogni partecipante possiede una coppia di chiavi matematicamente collegate: una pubblica ed una privata. Un algoritmo di crittografia asimmetrica, prende in ingresso (input) dei dati - ad esempio un testo- e la chiave pubblica del destinatario. Produce dei dati codificati (output), che possono nuovamente essere trasformati nei dati originali, solo utilizzando la chiave privata corrispondente Ciò che codifica una chiave, può essere decodificato solo dall’altra chiave. Algoritmo di crittografia asimmetrica (Asymmetric Encryption Algorithm) Public Key Private Key Londra dicembre 1964 Caro Babbo Natale, quest’anno sono stato particolarmente buono. Sono riuscito a spiare tutte le riunioni del Console ed a registrare tutte le sue conversazioni. Inoltre ho distribuito infor mazioni false e fuorvianti a tutti i governi alleati. Ti prego di portarmi una nuova macchina per la codifica dei miei messaggi: ho paura che quella che uso ora non sia tanto valida; potrebbero scoprirmi ! Tuo John Profumo
  • 10. Convegno SGI Bevagna 8 luglio 2018 01 crittografia (a chiave) Asimmetrica: cosa è (2)
 C’è un secondo effetto nella crittografia asimmetrica, importante quanto e forse più del primo. Se Bob codifica un proprio messaggio utilizzando la propria chiave Privata quindi pubblica questo messaggio, chiunque potrà decodificarlo, ma solo ed esclusivamente utilizzando la chiave pubblica di Bob… … questo significa con certezza che il messaggio proviene da Bob, l’unico che ha a disposizione la corrispondente chiave Privata: Bob’s Private key Bob’s Public key Ciò che codifica una chiave, può essere decodificato solo dall’altra chiave. nasce così la Firma Digitale
  • 11. Convegno SGI Bevagna 8 luglio 2018 01 message digest (hash): cosa è (1)
 Il valore di hash di un messaggio, di un testo, di dati in genere viene considerato come l’impronta univoca di quei dati … e non è prevedibile (*) 256bit = 2256 = 1,16*1077 il numero (stimato) di atomi nell’universo è 1080 il numero di secondi, nella vita di una persona che compie 100 anni, è di 3*109 Un algoritmo di hash crittografico (da qui in poi hash) è una elaborazione che accetta in ingresso una informazione di lunghezza qualsiasi: da pochi caratteri, all’intero contenuto della Biblioteca Nazionale
 
 Genera in uscita un sequenza univoca di bit, detto appunto hash del messaggio in input: tipicamente di lunghezza pari a 128, 160 o 256 bit(*) Dove si applica un algoritmo di hash? Nella verifica dell’integrità dei dati & firma digitale … e in qualsiasi protocollo di sicurezza
  • 12. Convegno SGI Bevagna 8 luglio 2018 01 message digest (hash): cosa è (2)
 prendiamo lo stesso testo, con una piccola modifica: Caro Babbo Natale, quest’anno sono stato particolarmente buono. Sono riuscito a spiare tutte le riunioni del Console ed a registrare tutte le sue conversazioni. inoltre ho distribuito informazioni false e fuorvianti a tutti i governi alleati. Ti prego di portarmi una nuova macchina per la codifica dei miei messaggi: ho paura che quella che uso ora non sia tanto valida; potrebbero scoprirmi ! prendiamo ad esempio il seguente testo: Caro Babbo Natale, quest’anno sono stato particolarmente buono. Sono riuscito a spiare tutte le riunioni del Console ed a registrare tutte le sue conversazioni. Inoltre ho distribuito informazioni false e fuorvianti a tutti i governi alleati. Ti prego di portarmi una nuova macchina per la codifica dei miei messaggi: ho paura che quella che uso ora non sia tanto valida; potrebbero scoprirmi ! Algoritmo di hash utilizzato: SHA256 hash calcolato: 0aab561cf5053babbbac83deda77b014fa9f8b7805376ae45ac4e44bc2f67023 Algoritmo di hash utilizzato: SHA256 hash calcolato: ccfc590ff2be3e0686198f29cbf1098ad248b2572b2a1ae944aa0c59f245738d la verifica dell’integrità dei dati: piccoli cambiamenti in input, totali cambiamenti in output
  • 13. Convegno SGI Bevagna 8 luglio 2018 01 il caso più semplice: Bitcoin 
 bitcoin (BTC) It was invented by the pseudonym Satoshi Nakamoto in 2008, and released as open-source software in 2009. World payment system; Peer-to-peer and no third parties involved (no Queen); Usability; Transactions pseudo-anonymous and irreversible; Low (or no) fees (until end 2015); All the users that exchange bitcoins represent
 the Bitcoin network, and they are called nodes.
 To become a node, each user needs: ✦ an Internet connection; ✦ a Bitcoin wallet (one or more then one) ✦ [a “full node/full client”, “is a client that stores the entire history of bitcoin transactions”] A Bitcoin wallet can be compared to the user's bank account and it is thus necessary for sending and receiving bitcoins. It is identied by two mathematically-connected keys: ✦ a private key ✦ a public key wallet category: desktop, mobile, Web, Hardware, Paper degree of autonomy: full node/full client, lightweight client, API client sign every transaction you perform with private key your identity/address = hash(your publick key)
  • 14. Convegno SGI Bevagna 8 luglio 2018 01 bitcoin: transactions/payments 
 14 Bob buys a cofee at Alice's café: how does Alice get paid? Assumption : ✦ Both Alice and Bob have to possess a Bitcoin wallet. ✦ Alice communicates Bob her address and the bill. ✦ Bob creates a Bitcoin transaction of the due amount, from his wallet to Alice's one; then Bob is the sender and Alice the recipient of the transaction. Bitcoin transactions are the means by which each user: ✦ transfers a certain amount of his bitcoins to one or more users; ✦ demonstrates to be the owner of a certain amount of bitcoins:
 signing the transaction with private key note: Bob’s bitcoins, are not in Bob’s wallet; they stay in blockchain wallet
  • 15. Convegno SGI Bevagna 8 luglio 2018 01 bitcoin: Miners
 15 bitcoin miner = gold rusher They are part of the Bitcoin network and connected to other nodes Their job: ✦ listen for transactions ✦ checking transactions by checking the signatures; checking that bitcoins have not been spent before ! no double-spending! ✦ maintain the blockchain and listen for new blocks ✦ assemble a new block:group transactions into a new block
 (extends the latest block you know about) ✦ reach the mining target (initial #0’s in block hash [block ID]) (*) ✦ hope your block is accepted ✦ If all the other miners accept your block, then you make a profit (today 12,5 BTC) (*) Bitcoin network runs at an estimated 20,000 gigawatt/y (like Ireland)  fonte: https://www.worlddata.info/europe
  • 16. Convegno SGI Bevagna 8 luglio 2018 01 bitcoin: the blockchain 
 Block 875 Block 874 Block 876 hash hash Block n … … … … Block 1 Genesis block Block 2 hash hash hash hash hash Hash (NONCE + hash prev. block + transactions-rootHash) = 00000007C96A72BBC4 Proof of work
  • 17. Convegno SGI Bevagna 8 luglio 2018 01 bitcoin: characters 
 17 Block 863 Miners Users ID Management (nicknames) no central register (cryptocurrencies) Exchange Trust Virtual computing platform
 P2P full nodes users/miners wallet (cold/hot) Asymmetric Cryptography (ECC); Hash functions; Digital signature; Block 864 Block 865 Block 866 Block 867 Block 868 Block 869 Block 870 Block 871 Block 872 Block 873 Block 874 Block 875 blockchain transactions (in MemPool)
  • 18. Convegno SGI Bevagna 8 luglio 2018 01 … e molti altri elementi 
 18 Pay-to-script-hash M-of-N addresses (multi-signature address) Escrow transactions Bitcoin software BIP (Bitcoin Improvement Proposal) Double Spending⟶ slow block confirmation (1h = 6 block) Wallet (hot&cold storage) Bitcoin exchange Mining Pool so, why not use the blockchain to create a contract that is automatically enforced, between two [or more] people, in a decentralized fashion? blockchain, n. An open-source technology that supports trusted, immutable records of transactions stored in publicly accessible, decentralized, distributed, automated ledgers. [ISO TC 307] Terminology for Blockchain v1.0
  • 19. Convegno SGI Bevagna 8 luglio 2018 01 smart contract 
 19 The key idea is that the decentralized transaction ledger functionality of the blockchain could be used to register, confirm, and transfer all manner of contracts and property. Contracts Application Class Examples General Escrow transactions, bonded contracts, third-party arbitration, multiparty signature transactions Financial transactions Stock, private equity, crowdfunding, bonds, mutual funds, derivatives, annuities, pensions Public records Land and property titles, vehicle registrations, business licenses, marriage certificates, death certificates Identification Driver’s licenses, identity cards, passports, voter registrations Private records IOUs, loans, contracts, bets, signatures, wills, trusts, escrows Attestation Proof of insurance, proof of ownership, notarized documents Physical asset keys Home, hotel rooms, rental cars, automobile access Intangible assets Patents, trademarks, copyrights, reservations, domain names
  • 20. Convegno SGI Bevagna 8 luglio 2018 01 20 (ISO-TC307_N0180 SG5 TS Smart Contracts PreDraft)
  • 21. Convegno SGI Bevagna 8 luglio 2018 01 Bitcoin: script 
 21 The bitcoin transaction script language, called Script, is a Forth-like reverse-polish notation stack-based execution language. Designed to be limited in scope and executable on a range of hardware: there are no loops or complex flow control. The language is not Turing Complete, meaning that scripts have: limited complexity and predictable execution times. e.g.: Locking Script: specifies the condiction that must be met, to spend the output Unlocking Script: satisfied the conditions and allow the output to be spent
  • 22. Convegno SGI Bevagna 8 luglio 2018 01 Ethereum virtual machine code 
 22 Ethereum was designed to create, develop and spread smart contracts and has become the most popular blockchain for creating smart contracts and decentralised applications. Uses a proprietary ledger, different from the Bitcoin blockchain Solidity is a contract-oriented, high-level language for implementing smart contracts. It was influenced by C++, Python and JavaScript and is designed to target the Ethereum Virtual Machine (EVM) other language: Serpent (outdated), Viper (still sperimental) but it has had 4 hard fork Implements a built-in powerful fully fledged Turing-complete programming language that can be used to create "contracts" that can be used to encode arbitrary state transition functions
  • 23. Convegno SGI Bevagna 8 luglio 2018 01 Ethereum Philosophy /1 A computer distribuited across the entire Internet Any node keep in its memory the whole RAM of Ethereum Computer The state is made up of objects called "accounts" • externally owned accounts, controlled by private keys • contract accounts, controlled by their contract code Ethereum Messages (like “transactions” in Bitcoin) • a message can be created either by an external entity or a contract • there is an explicit option to contain data • if the recipient is a contract account, it has the option to return a response; (encompass the concept of functions)
  • 24. Convegno SGI Bevagna 8 luglio 2018 01 Ethereum Philosophy /2 contracts (account) have equivalent powers to external accounts, including the ability to send message and create other contracts one can send messages from an externally owned account by creating and signing a transaction work as autonomous agents
 every time the contract account receives a message its code activates, allowing it to read and write to internal storage and send other messages or create contracts in turn The computational effort is payed in gas o r a c l e s
  • 25. Convegno SGI Bevagna 8 luglio 2018 01 Ethereum Philosophy /3 Ether(ETH) [$1.156,09]
 is the cryptocurrency associated to Ethereum Market Cap $111.964.181.038 USD  7,209,603 BTC  Volume (24h) $7.182.950.000 USD  462,524 BTC Circulating Supply 96,847,288 ETH 08/01/2018 Ether is the fuel for operating the distributed application platform Ethereum. Clients pay the machines executing the requested operations. Ensuring that developers write quality applications Ethereum smart contracts are softwares written in a Turing-complete language. Loops are possible and it is difficult to estimate the difficulty of a computation, depending on the input. In Ethereum, the fee for the execution depends on the operations performed and each operation has its cost.
  • 26. Convegno SGI Bevagna 8 luglio 2018 01 Instead of a smart contract initiating the retrieval of external data, one or more trusted parties ("oracles") creates a transaction which embeds that data in the chain. Contacting external services? Not so simple if a smart contract retrieves some information from an external source, this retrieval is performed repeatedly and separately by each node Think about a use case where a smart contract changes its behavior in response to some external event. Can we use Smart Contracts? Smart contracts cannot fetch external data on their own. Oraclize acts as a data carrier, a reliable connection between Web APIs and your Dapp.
  • 27. Convegno SGI Bevagna 8 luglio 2018 01 smart is not so smart we have to remember The DAO hack writing solid smart contracts can be extremely difficult in practice There is ongoing research on how to use formal verification to express and prove non-trivial properties. The DAO was a decentralized autonomous organization that exists as a set of  contracts  among people that resides on the Ethereum blockchain In June 2016, users exploited a vulnerability in The DAO code to enable them to siphon off one third of The DAO's funds to a subsidiary account (about 54M$ in Ether)
  • 28. Convegno SGI Bevagna 8 luglio 2018 01 blockchain VS Distribuited Ledger Technology 
 (permissionless vs permissioned) Quando scriviamo “blockchain”,
 facciamo riferimento ad una
 tecnologia di registrazione dati decentralizzata,
 sicura, affidabile e priva di meccanismi di autorizzazione all’accesso. Tutto ciò è molto bello, ma guardando da vicino dobbiamo valutare alcune caratteristiche
 che (molto) spesso rendono non logico o impossibile il suo utilizzo. La blockchain potrebbe […] forse rendere i processi più democratici, sicuri, trasparenti ed efficienti
  • 29. Convegno SGI Bevagna 8 luglio 2018 01 (by courtesy of myself https://www.linkedin.com/pulse/1001-reasons-start-blockchain-project-maybe-dlt-sandro-fontana/ 1001 Reasons NOT to Start a blockchain project … maybe a DLT project? 
 0001) difficoltà ad adeguare la tecnologia ai combiamenti (business, compliance …) 0010) completa trasparenza VS necessità di riservatezza 0011) incapacità di scalare e spreco energetico: PoW 0100) dove mettiamo i dati? 0101) nulla è gratis … ed in alcuni casi costa molto 0110) che succederà nel futuro di alcune (tutte) le blockchain 0111) i rischio per gli utilizzatori, in particolare per gli utenti finali 1000) nel business la mancanza di una autorità garante non sembra accettabile 1001) siamo certi di voler unire A.I. con un sistema che nessuno può bloccare? la gran parte di questi spunti di riflessione, sono sicuramente gestibili in una DLT (blockchain permissioned); sarà comunque necessario ripensare a come disegnare le applicazioni e per questo, sviluppare/imparare altri strumenti.
  • 30. Convegno SGI Bevagna 8 luglio 2018 01 la tecnologia blockchain, per come è costruita,
 non ha la possibilità di evolvere e cambiare velocemente: è necessario ricorrere al consenso di una ampia maggioranza dei nodi Come può un’azienda basare il suo business, su una tecnologia che non è in grado di evolversi rapidamente o che non è in sintonia con l'azienda stessa? Pensate alla difficoltà di gestire l'aggiornamento del software (contratti intelligenti), di risolvere i bug in modo tempestivo ... 
 dovremo definire un nuovo modo di progettare le nostre soluzioni software -come contratti intelligenti- per gestire il loro ciclo di vita e la loro evoluzione. e.g. GDPR:
 con il nuovo regolamento, un cittadino europeo può richiedere ad una azienda
 di cancellare i suoi dati personali;
 utilizzando una blockchain
 la cancellazione completa potrebbe non essere possibile
  • 31. Convegno SGI Bevagna 8 luglio 2018 01 Una delle pietre angolari della catena di blocchi è la completa trasparenza dei dati, delle transazioni e dei contratti intelligenti (con le loro variabili, il loro stato, ecc…) Ma la (pseudo)anonimità non sarebbe d'aiuto in un contesto aziendale;
 la trasparenza totale non sarebbe più accettabile
 per la maggior parte delle applicazioni o per gli utenti. Poiché le applicazioni (DApps) e i dati sarebbero presenti su tutti i nodi,
 dovrebbero essere crittografati (multi-party, crittografia zero-knowledge)
 con un conseguente aumento della complessità. Probabilmente avremo bisogno di implementare nuove funzionalità nel wallet,
 con l'obiettivo di gestire la decodifica (e la privacy) dei dati offline.
  • 32. Convegno SGI Bevagna 8 luglio 2018 01 Che ci piaccia o meno, almeno nelle forme che conosciamo meglio,
 la blockchain può essere utilizzata per le prove di concetto, non di più. Anche Ethereum in termini di transazioni
 non sembra adatto per applicazioni grandi e reali
 … e se un'applicazione non è grande e reale, perché dovremmo usare una blockchain? Senza raggiungere le decine di migliaia di transazioni al secondo
 (es. VISA/Mastercard),
 anche la semplice fatturazione in Italia è un processo di diversi miliardi di fatture all'anno: significa superare le 500 transazioni al secondo. E oggi siamo tra 7tr/sec e 20tr/sec, quindi …
  • 33. Convegno SGI Bevagna 8 luglio 2018 01 La blockchain non è un database,
 per sua natura non è adatta a contenere megabyte di dati per transazione In alcune tecnologie ìin realtà si può memorizzare dati,
 ma in molte applicazioni potrebbe diventare molto costoso
 gestire file/dati all'interno di una catena di blocchi. Quindi è plausibile utilizzare la blockchain
 come un registro distribuito, sicuro, affidabile di identificativi dei dati (hash)
 integrato con una piattaforma esterna di archiviazione
 che, deve avere caratteristiche di integrità e autenticità
 almeno pari a quelle della blockchain con cui è stata integrata.
  • 34. Convegno SGI Bevagna 8 luglio 2018 01 Spesso sentiamo dire che l’utilizzo della blockchain non costa nulla.
 In alcuni contesti era vero qualche tempo fa (le fee di una transazione bitcoin potevano essere zero) Al di là di questo, oggi ci rendiamo conto che la Proof-of-Work (PoW) è insostenibile (ma non sembra esserci di meglio) La rete bitcoin sta iniziando a preoccuparci per inquinamento
 e spreco energetico (PoW = Proof-of-waste?). Altri meccanismo come la Proof-of-Stake (PoS),
 al momento non sembrano all'orizzonte. Ricordiamoci che
 ogni esecuzione di un contratto intelligente ha un costo:
 dovremo progettare e vendere le nostre soluzioni software in altro modo.
  • 35. Convegno SGI Bevagna 8 luglio 2018 01 Cosa succederà quando tutti i Bitcoins saranno stati estratti? Le entrate dei minatori dovranno basarsi unicamente sulle spese di transazione, che aumenteranno sempre più. Il costo di un'operazione potrebbe diventare proibitivo.
 Forse alcuni minatori smetteranno di lavorare e l'intera infrastruttura inizierà a scricchiolare (dal punto di vista della sicurezza). Ethereum, nato con l’obiettivo di essere un grande computer distribuito, andrà meglio ... probabilmente.
  • 36. Convegno SGI Bevagna 8 luglio 2018 01 Dando per certo la sicurezza intrinseca
 dei protocolli utilizzati nella tecnologia blockchain 
 (robustezza delle curve ellittiche scelte e futuro calcolo quantistico a parte),
 ricordiamo che le credenziali di accesso -i meccanismi di firma elettronica-
 sono la pietra angolare della sicurezza dei dati
 e della dimostrazione di "proprietà" dell'utente in ambiente blockchain. La corretta gestione delle credenziali per l’accesso e controllo delle proprietà, da parte degli utenti, sono di esclusiva responsabilità degli utenti stessi. I paradigmi permissionless e trustless -pilastri fondamentali di una blockchain- lasciano l'utente ad affrontare ogni singolo incidente da solo Sappiamo molto bene che la "consapevolezza" e il "rispetto" delle politiche di sicurezza non fanno parte del patrimonio genetico dell'utente medio. Di conseguenza, i rischi per la sicurezza - lato utente, il lato più vulnerabile - sono in realtà amplificati nel contesto blockchain.

  • 37. Convegno SGI Bevagna 8 luglio 2018 01 Permissionless: è uno dei pilastri di una blockchain canonica. La mancanza di un garante e di un elemento di riferimento
 è un punto di forza di questo nuovo approccio tecnologico. Questa caratteristica, trasportata nel mondo delle imprese, 
 diventa una delle principali debolezze: non c'è certezza, non c'è legge. La capacità di gestire una funzionalità di "transaction RollBack",
 senza violare le caratteristiche di permissionless della tecnologia blockchain, sarà un incubo.
  • 38. Convegno SGI Bevagna 8 luglio 2018 01 Alla fine di tutto ciò, non dimentichiamo che
 se tutto è stato progettato
 nel rispetto delle fantastiche caratteristiche di una tecnologia blockchain,
 nessuno sarà in grado di fermare uno smart contract ben progettato. Questo, unito all'intelligenza artificiale, all’Internet-of-Things,
 al prossimo universo di auto a guida autonoma 
 e di robot nella nostra vita ... potrebbe portarci qui …
  • 39. Convegno SGI Bevagna 8 luglio 2018 01 39 Don’t smart contract me, bro!
  • 40. Convegno SGI Bevagna 8 luglio 2018 01 tutto ciò che avreste voluto fare 
 … è chissà perché state pensando di farlo tramite le blockchain shared, public & transparent i concetti base in una blockchain own, private & secret il modello base nel business + 1001 Reasons NOT to Start a blockchain project … maybe a DLT project? 

  • 41. Convegno SGI Bevagna 8 luglio 2018 01 tracciare la proprietà/proveninenza/esistenza di un documento gestire asset virtuali fornire servizi finanziari gestione del diritto di voto identità digitale vendita di propri dati sensibili (DNA) in modo anonimo ma controllato in teoria … 

  • 42. Convegno SGI Bevagna 8 luglio 2018 01 come va avanti … 
 PC will produce around 1 - 100 Mh/s, based on CPU or GPU mining stats (ASIC machine) AntMiner S9 13.5 Th/s $1,987.95
  • 43. Convegno SGI Bevagna 8 luglio 2018 01 criptovalute & ICO 
 ICO è l’acronimo di Initial Coin Offering
 significa che qualcuno sta offrendo al mercato
 alcune unità di una nuova cripto-moneta. Sempre più spesso,
 una ICO serve per finanziare una nuova idea e/o un’azienda.
 La raccolta di fondi è più facile e senza molti vincoli dei controlli amministrativi, legali e documentali di una IPO (Initial Public Offerting);
 inoltre non cede nulla della proprietà della nuova azienda. Chiunque può lanciare una ICO:
 basta preparare un white-paper che spiega come funziona la vostra ICO,
 un sito web credibile sul quale raccontate la vostra nuova grande idea.
 Quindi richiedere il finanziamento, utilizzando bitcoin o Ether, 
 in cambio dei quali voi invierete alcuni “token” della vostra nuova moneta
  • 44. Convegno SGI Bevagna 8 luglio 2018 01 criptovalute & ICO 
 1.NEO (formerly Antshares) Cina, Microsoft: smart contracts, ID
 token value from $0.03 to $88.20 ⟶ 294,000% ROI 2.Ethereum token, smart contracts
 token value from $0.31 to $713 ⟶ 230,000% ROI 3.Spectrecoin token, total anonymity(TOR)
 token value from $0.004 to $0.64 ⟶ 64,000% ROI 4.Stratis C# & .Net development compatible platform (blockchain4dummy)
 token value from $0.01 to $2,64 ⟶ 56,000% ROI
  • 45. Convegno SGI Bevagna 8 luglio 2018 01 ref: https://uetoken.com […] posso garantire qui e ora che il valore di UET non si ridurrà […] dal momento che questi gettoni non valgono nulla, quindi non possono perdere valore. contributi raccolti (US$) 144.872,00 la prima ICO completamente onesta
  • 46. 46 SAY BLOCKCHAIN ONE MORE TIME I DARE YOU!
  • 47. Sandro Fontana, sandro.fontana@gt50.org CISSP, ISO27001 L.A., CISM, CISA, C|CISO skype/twitter: sinetqnlap http://sandrofontana.com
  • 48. Convegno SGI Bevagna 8 luglio 2018 01 P2PKH: Pay to Public Key Hash
  • 49. Convegno SGI Bevagna 8 luglio 2018 01 <now+3months> CHECKLOCKTIMEVERIFY DROP
  • 50. Convegno SGI Bevagna 8 luglio 2018 01 Constants OP_0, OP_FALSE OP_PUSHDATA1 OP_PUSHDATA2 OP_PUSHDATA4 OP_1NEGATE OP_1, OP_TRUE OP_2-OP_16 Flow control OP_NOP OP_IF OP_NOTIF OP_ELSE OP_ENDIF OP_VERIFY OP_RETURN Bitwise logic OP_EQUAL OP_EQUALVERIFY Stack OP_TOALTSTACK OP_FROMALTSTACK OP_IFDUP OP_DEPTH OP_DROP OP_DUP OP_NIP OP_OVER OP_PICK OP_ROLL OP_ROT OP_SWAP OP_TUCK OP_2DROP OP_2DUP OP_3DUP OP_2OVER OP_2ROT OP_2SWAP Arithmetic OP_1ADD OP_1SUB OP_NEGATE OP_ABS OP_NOT OP_0NOTEQUAL OP_ADD OP_SUB OP_BOOLAND OP_BOOLOR OP_NUMEQUAL OP_NUMEQUALVERIFY OP_NUMNOTEQUAL OP_LESSTHAN OP_GREATERTHAN OP_LESSTHANOREQUAL OP_GREATERTHANOREQUAL OP_MIN OP_MAX OP_WITHIN Crypto OP_RIPEMD160 OP_SHA1 OP_SHA256 OP_HASH160 OP_HASH256 OP_CODESEPARATOR OP_CHECKSIG OP_CHECKSIGVERIFY OP_CHECKMULTISIG OP_CHECKMULTISIGV Locktime OP_CHECKLOCKTIMEVERIFY OP_CHECKSEQUENCEVERIFY Script: bitcoin scripting system
  • 51. Convegno SGI Bevagna 8 luglio 2018 01 Bitcoin timestamping: Coloured Coin RETURN <dataHash> Locking Script (burning bitcoins) By “extrinsic” we mean assets that are not stored directly on the bitcoin blockchain, as opposed to bitcoin itself, which is an asset intrinsic to the blockchain. 80 byte available after OP_Return As the Bitcoin protocol has evolved, it has gained support for smart contracts. using features added to Bitcoin, certain smart contract functionality can be achieved through Bitcoin scripting. “Colored coins refers to a set of similar technologies that use bitcoin transactions to record (by metadata) the creation, ownership, and transfer of extrinsic assets other than bitcoin.”