SlideShare a Scribd company logo
Smart Contract ,these unknown
Definizioni Smart Contract
Nick Szabo
Nick Szabo negli anni
1994
“A smart contract is a computerized transaction protocol that executes the
terms of a contract. The general objectives of smart contract design are to
satisfy common contractual conditions (such as payment terms, liens,
confidentiality, and even enforcement), minimize exceptions both malicious and
accidental, and minimize the need for trusted intermediaries. Related economic
goals include lowering fraud loss, arbitration and enforcement costs, and
other transaction costs”
Nick Szabo negli anni
1995
“Smart contract: A set of promises, including protocols within which the parties
perform on the other promises. The protocols are usually implemented with
programs on a computer network, or in other forms of digital electronics,
thus these contracts are "smarter" than their paper-based ancestors. No use
of artificial intelligence is implied.”
Nick Szabo negli anni
1996
A smart contract is a set of promises, specified in digital form, including
protocols within which the parties perform on these promises”
Definizioni Smart Contract
Oltre Nick Szabo
Varie
Smart contracts are self-executing electronic instructions drafted in computer code (Reggie
O’Shields)
A smart contract is a piece of computer code that is capable of monitoring, executing and
enforcing an agreement (Tom Hingley)
A software, which computer code binds two, or a multitude, of parties in view of the execution
of predefined effects, and that is stored on a distributed ledger (Gabriel Jaccard)
Smart contracts are digital contracts allowing terms contingent on decentralized consensus
that are tamper-proof and typically self-enforcing through automated execution (Cong-He).
Arizona
“Smart contracts” means an event-driven program, with state, that runs on a
distributed, decentralized, shared and replicated ledger and that can take
custody over and instruct transfer of assets on that ledger
A contract relating to a transaction may not be denied legal effect, validity or
enforceability solely because that contract contains smart contract term
Senate Bill n. 69/2017
Tennessee
"Smart contract" means an event-driven computer program, that executes on an
electronic, distributed, decentralized, shared, and replicated ledger that is used
to automate transactions, including, but not limited to, transactions that:
- take custody over and instruct transfer of assets on that ledger;
- create and distribute electronic assets;
- synchronize information;
- manage identity and user access to software applications.
Smart contracts may exist in commerce. No contract relating to a transaction shall
be denied legal effect, validity, or enforceability solely because that contract
contains a smart contract term
Senate Bill 1662/2018
Malta (MDIA Act)
“Smart contract” means a form of innovative technology arrangement
consisting of:
(a) a computer protocol; and, or
(b) an agreement concluded wholly or partly in an electronic form which is
automatable and enforceable by execution of computer code, although some
parts may require human input and control and which may be also enforceable
by ordinary legal methods or by a mixture of both
Confronto tra Contratto Classico e Smart
Contract
Contratto Classico e Smart Contract
Smart Contract come
espressione integrale
dell’accordo che sostituisce il
Contratto Classico
Smart Contract come strumento
di esecuzione del Contratto
Classico
Diritto dei contratti
● Art. 1325 c.c.: elementi del contratto (accordo, causa, oggetto, forma)
● LdA applicabile a software (opera letteraria redatta con linguaggio
informatico)
● CPI applicabile se invenzione brevettabile (226 domande su Periscope)
● Art. 1 let. p) CAD: un documento informatico è “il documento elettronico
che contiene la rappresentazione informatica di atti, fatti o dati giuridicamente
rilevanti”
● Art. 20, c. 1-bis, CAD: documento informatico soddisfa forma scritta
● Linguaggio informatico non noto a tutti
● Applicabile disciplina su annullabilità del contratto per errore (artt. 1428 a
1433 c.c.)
● Blockchain non conforme a Regolamento eIDAS
Problemi giuridici: legge applicabile e foro competente
Uno smart contract risiede
sulla blockchain (borderless) e
può intervenire tra soggetti
residenti in Paesi diversi
Possibile soluzione: prevedere
legge applicabile e foro
competente nel contratto alla
base dello smart contract
Problemi Giuridici: legge sostanziale
Gli smart contracts sono programmi informatici che racchiudono
obbligazioni contrattuali
Quale legge si applica?
• diritto d’autore (tutela software e banche dati)
• brevetti
• diritto contrattuale (ma il diritto contrattuale positivo è adeguato?)


Problemi Giuridici: invalidità del contratto
Effetti Smart contracts irreversibili
Cosa succede in caso di invalidità
(nullità/annullabilità) del contratto ?
Problemi Giuridici: baco
Gli smart contracts sono software: chi è
responsabile in caso di malfunzionamento/
baco del software?
• lo sviluppatore?
• terzo esaminatore?
• committente?
Problemi Giuridici: errore Oracolo
Chi risponde in caso di errore dell’Oracolo?
• Oracle User: è responsabile l’Oracolo
stesso?
• Oracle Machine: è responsabile il
produttore del sensore?
Un po di codice…
Solidity
Solidity è un linguaggio di programmazione ad
alto livello per la costruzione di smart contract.
Il suo linguaggio è fortemente influenzato da
altri linguaggi di programmazione, quali C++,
Python, e JavaScript.
Solidity è un linguaggio tipizzato, supporta
l’ereditarietà e l’utilizzo di librerie.
Una volta compilato il codice scritto in Solidity
è possibile eseguirlo all’interno della Ethereum
Virtual Machine (EVM).
Ethereum Virtual Machine
La Ethereum Virtual Machine è l’ambiente di
esecuzione degli smart contract all’interno
della rete Ethereum.
L’ambiente è completamente isolato, questo
significa che il codice che viene eseguito
all’interno della EVM non ha accesso ne alla
rete, ne al sottosistema che lo esegue.
Gli smart contract possono interagire tra
loro, ma la loro visibilità è limitata tramite
alcune keyword presenti nel linguaggio di
programmazione.
Gli Account
Esistono in Ethereum due tipologie di account:
•Account Esterni: Sono gli account classici che
sono controllati da una coppia di chiavi pubblica e
privata. Sono tipicamente i wallet in possesso
degli esseri umani.

•Account dei contratti: Sono account che
possono essere controllati unicamente dal codice
dello smart contract inserito insieme all’account.

Gli indirizzi degli account esterni sono definiti dalla
chiave pubblica, mentre gli indirizzi degli account
dei contratti sono determinati all’atto della
creazione del contratto stesso, e sono derivati
dall’indirizzo del creatore dello smart contract e da
un nonce.
Aree di Memoria
Esistono in Ethereum due tipologie di account:
•Account Esterni: Sono gli account classici che
sono controllati da una coppia di chiavi pubblica e
privata. Sono tipicamente i wallet in possesso
degli esseri umani.

•Account dei contratti: Sono account che
possono essere controllati unicamente dal codice
dello smart contract inserito insieme all’account.

Gli indirizzi degli account esterni sono definiti dalla
chiave pubblica, mentre gli indirizzi degli account
dei contratti sono determinati all’atto della
creazione del contratto stesso, e sono derivati
dall’indirizzo del creatore dello smart contract e da
un nonce.
Cos’è un oracolo
Gli smart contract per loro natura sono in gradi
di eseguire algoritmi e di salvare e leggere dati.
Dato che i calcoli vengono eseguiti su ogni nodo
della rete, per un contratto sulla rete Ethereum è
impossibile effettuare chiamate esterne, in
quanto, tralasciando l’overload di risorse
necessarie, le risposte fornite da questa
chiamata potrebbero non essere uguali.
L’utilizzo degli oracoli introduce però problemi di
consenso, in quanto un sistema decentralizzato
si deve affidare ad una entità esterna per
ottenere i dati necessari per l’elaborazione.
Come funziona ?L’approccio “pre”
Una delle modalità di utilizzo degli oracoli è
effettuare la richiesta alla risorsa prima di
contattare lo smart contract.
In questo modo tutte le informazioni vengono
preventivamente reperite dalla rete e solo
successivamente vengono inviate allo smart
contract per l’elaborazione.
Questa soluzione è abbastanza “semplice”, in
quanto si tratta di costruire un layer lato client che
si interpone tra lo smart contract e il lato
applicativo.
Come funziona ?L’approccio a callback
Un altro possibile approccio è quello utilizzato
per esempio da Oraclize.
Consiste nel richiamare un’altro smart contract
su cui è posto in ascolto un demone che si
preoccuperà di effettuare la ricerca delle
informazioni necessarie.
Il demone poi si preoccuperà di richiamare lo
smart contract iniziale che, predisposto di una
particolare funzione di callback, provvederà a
proseguire l’esecuzione sulla base dei dati forniti.
In questo modo lo stato degli Smart Contract
rimane coerente su tutti i nodi della blockchain.
L’esecuzione della funzione di callback è
equivalente al funzionamento del sistema nella
slide precedente.
Chi siamo
Raffaele Battaglini
Avvocato/Attorney-at-law
battaglini@battaglinidesabato.com
Marco Roberti
Academy Lead & Coordinator
marco.roberti@synesthesia.it
Grazie ☺

More Related Content

What's hot

Smau Firenze 2016 - dirICTo
Smau Firenze 2016 - dirICToSmau Firenze 2016 - dirICTo
Smau Firenze 2016 - dirICTo
SMAU
 
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
 
Custodia unint
Custodia unintCustodia unint
Custodia unint
Giulia Aranguena
 
Blockchain e smart contract (Lorenzo Piatti, feb.2021)
Blockchain e smart contract (Lorenzo Piatti, feb.2021)Blockchain e smart contract (Lorenzo Piatti, feb.2021)
Blockchain e smart contract (Lorenzo Piatti, feb.2021)
Simone Aliprandi
 
Blockchain for Business Innova4_
Blockchain for Business Innova4_Blockchain for Business Innova4_
Blockchain for Business Innova4_
Massimo Formica
 
BlockChain e Token Digitali - Webinar gratuito
BlockChain e Token Digitali - Webinar gratuitoBlockChain e Token Digitali - Webinar gratuito
BlockChain e Token Digitali - Webinar gratuito
Ninja Academy
 
Tecnologia Blockchain E Governance Decentralizzata: Lo Stato È Ancora Necessa...
Tecnologia Blockchain E Governance Decentralizzata: Lo Stato È Ancora Necessa...Tecnologia Blockchain E Governance Decentralizzata: Lo Stato È Ancora Necessa...
Tecnologia Blockchain E Governance Decentralizzata: Lo Stato È Ancora Necessa...
eraser Juan José Calderón
 
Blockchain smart contracts
Blockchain  smart contracts Blockchain  smart contracts
Blockchain smart contracts
mobi-TECH
 
Blockchain e NFT
Blockchain e NFTBlockchain e NFT
Blockchain e NFT
RiccardoMori6
 
[SPS IPC DRIVES] - Internet of Food 2018
[SPS IPC DRIVES] - Internet of Food 2018[SPS IPC DRIVES] - Internet of Food 2018
[SPS IPC DRIVES] - Internet of Food 2018
CRU Agency
 
Blockchain e misurazione asset intangibili
Blockchain e misurazione asset intangibiliBlockchain e misurazione asset intangibili
Blockchain e misurazione asset intangibili
Michele Canalini
 
Bitcoin and blockchain
Bitcoin and blockchainBitcoin and blockchain
Bitcoin and blockchain
Sergio Shevchenko
 
Cryptoasset compliance blockchain month 2021
Cryptoasset compliance blockchain month 2021Cryptoasset compliance blockchain month 2021
Cryptoasset compliance blockchain month 2021
Giulia Aranguena
 
Il furto di identità nell'era digitale
Il furto di identità nell'era digitaleIl furto di identità nell'era digitale
Il furto di identità nell'era digitale
Emanuele Cisbani
 
Esplorando il concetto di Blockchain Exploring Blockchain Technology (Italian)
Esplorando il concetto di Blockchain Exploring Blockchain Technology (Italian)Esplorando il concetto di Blockchain Exploring Blockchain Technology (Italian)
Esplorando il concetto di Blockchain Exploring Blockchain Technology (Italian)
Pierluigi Paganini
 
Beyond #Bitocin: Blockchain and Food #IFPisa2018
Beyond #Bitocin: Blockchain and Food #IFPisa2018Beyond #Bitocin: Blockchain and Food #IFPisa2018
Beyond #Bitocin: Blockchain and Food #IFPisa2018
Giulia Aranguena
 
Antonio Iannaccone - SMAU Napoli 2017
Antonio Iannaccone - SMAU Napoli 2017Antonio Iannaccone - SMAU Napoli 2017
Antonio Iannaccone - SMAU Napoli 2017
SMAU
 
Luca Scotto - SMAU Napoli 2017
Luca Scotto - SMAU Napoli 2017Luca Scotto - SMAU Napoli 2017
Luca Scotto - SMAU Napoli 2017
SMAU
 
SignEAT - Evento AIFAG del 15 giugno 2017 - Intervento Luigi Foglia - terza t...
SignEAT - Evento AIFAG del 15 giugno 2017 - Intervento Luigi Foglia - terza t...SignEAT - Evento AIFAG del 15 giugno 2017 - Intervento Luigi Foglia - terza t...
SignEAT - Evento AIFAG del 15 giugno 2017 - Intervento Luigi Foglia - terza t...
Digital Law Communication
 
Slide Blockchain - Ing. Giorgio Angiolini
Slide Blockchain - Ing. Giorgio Angiolini            Slide Blockchain - Ing. Giorgio Angiolini
Slide Blockchain - Ing. Giorgio Angiolini
ZEPHIRPassivhausItal
 

What's hot (20)

Smau Firenze 2016 - dirICTo
Smau Firenze 2016 - dirICToSmau Firenze 2016 - dirICTo
Smau Firenze 2016 - dirICTo
 
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
 
Custodia unint
Custodia unintCustodia unint
Custodia unint
 
Blockchain e smart contract (Lorenzo Piatti, feb.2021)
Blockchain e smart contract (Lorenzo Piatti, feb.2021)Blockchain e smart contract (Lorenzo Piatti, feb.2021)
Blockchain e smart contract (Lorenzo Piatti, feb.2021)
 
Blockchain for Business Innova4_
Blockchain for Business Innova4_Blockchain for Business Innova4_
Blockchain for Business Innova4_
 
BlockChain e Token Digitali - Webinar gratuito
BlockChain e Token Digitali - Webinar gratuitoBlockChain e Token Digitali - Webinar gratuito
BlockChain e Token Digitali - Webinar gratuito
 
Tecnologia Blockchain E Governance Decentralizzata: Lo Stato È Ancora Necessa...
Tecnologia Blockchain E Governance Decentralizzata: Lo Stato È Ancora Necessa...Tecnologia Blockchain E Governance Decentralizzata: Lo Stato È Ancora Necessa...
Tecnologia Blockchain E Governance Decentralizzata: Lo Stato È Ancora Necessa...
 
Blockchain smart contracts
Blockchain  smart contracts Blockchain  smart contracts
Blockchain smart contracts
 
Blockchain e NFT
Blockchain e NFTBlockchain e NFT
Blockchain e NFT
 
[SPS IPC DRIVES] - Internet of Food 2018
[SPS IPC DRIVES] - Internet of Food 2018[SPS IPC DRIVES] - Internet of Food 2018
[SPS IPC DRIVES] - Internet of Food 2018
 
Blockchain e misurazione asset intangibili
Blockchain e misurazione asset intangibiliBlockchain e misurazione asset intangibili
Blockchain e misurazione asset intangibili
 
Bitcoin and blockchain
Bitcoin and blockchainBitcoin and blockchain
Bitcoin and blockchain
 
Cryptoasset compliance blockchain month 2021
Cryptoasset compliance blockchain month 2021Cryptoasset compliance blockchain month 2021
Cryptoasset compliance blockchain month 2021
 
Il furto di identità nell'era digitale
Il furto di identità nell'era digitaleIl furto di identità nell'era digitale
Il furto di identità nell'era digitale
 
Esplorando il concetto di Blockchain Exploring Blockchain Technology (Italian)
Esplorando il concetto di Blockchain Exploring Blockchain Technology (Italian)Esplorando il concetto di Blockchain Exploring Blockchain Technology (Italian)
Esplorando il concetto di Blockchain Exploring Blockchain Technology (Italian)
 
Beyond #Bitocin: Blockchain and Food #IFPisa2018
Beyond #Bitocin: Blockchain and Food #IFPisa2018Beyond #Bitocin: Blockchain and Food #IFPisa2018
Beyond #Bitocin: Blockchain and Food #IFPisa2018
 
Antonio Iannaccone - SMAU Napoli 2017
Antonio Iannaccone - SMAU Napoli 2017Antonio Iannaccone - SMAU Napoli 2017
Antonio Iannaccone - SMAU Napoli 2017
 
Luca Scotto - SMAU Napoli 2017
Luca Scotto - SMAU Napoli 2017Luca Scotto - SMAU Napoli 2017
Luca Scotto - SMAU Napoli 2017
 
SignEAT - Evento AIFAG del 15 giugno 2017 - Intervento Luigi Foglia - terza t...
SignEAT - Evento AIFAG del 15 giugno 2017 - Intervento Luigi Foglia - terza t...SignEAT - Evento AIFAG del 15 giugno 2017 - Intervento Luigi Foglia - terza t...
SignEAT - Evento AIFAG del 15 giugno 2017 - Intervento Luigi Foglia - terza t...
 
Slide Blockchain - Ing. Giorgio Angiolini
Slide Blockchain - Ing. Giorgio Angiolini            Slide Blockchain - Ing. Giorgio Angiolini
Slide Blockchain - Ing. Giorgio Angiolini
 

Similar to Blockchain Challenge - Raffaele Battaglini - Marco Roberti - 14/11/18

Smart contract
Smart contractSmart contract
Smart contract
Maria Giovanna Ruscito
 
iStrumentum premioforumpa2017_1
iStrumentum premioforumpa2017_1iStrumentum premioforumpa2017_1
iStrumentum premioforumpa2017_1
comunicazionenotartel
 
BLOCKCHAIN-CRIPTOVALUTE-E-DIRITTO-Validita-legale.pdf
BLOCKCHAIN-CRIPTOVALUTE-E-DIRITTO-Validita-legale.pdfBLOCKCHAIN-CRIPTOVALUTE-E-DIRITTO-Validita-legale.pdf
BLOCKCHAIN-CRIPTOVALUTE-E-DIRITTO-Validita-legale.pdf
MattiaFranzoni2
 
Smau Milano 2016 - sharedVISION parte 3
Smau Milano 2016 - sharedVISION parte 3Smau Milano 2016 - sharedVISION parte 3
Smau Milano 2016 - sharedVISION parte 3
SMAU
 
Firme elettroniche, grafometria e processi di conservazione
Firme elettroniche, grafometria e processi di conservazione Firme elettroniche, grafometria e processi di conservazione
Firme elettroniche, grafometria e processi di conservazione
Digital Law Communication
 
Progetto CASCO.pdf
Progetto CASCO.pdfProgetto CASCO.pdf
Progetto CASCO.pdf
Sardegna Ricerche
 
Smau Bologna 2011 Juri Monducci
Smau Bologna 2011 Juri MonducciSmau Bologna 2011 Juri Monducci
Smau Bologna 2011 Juri Monducci
SMAU
 
Handshake
HandshakeHandshake
Handshake
Nicola Mattina
 
Simone Bonavita - Contrattualistica e privacy nel cloud computer
Simone Bonavita - Contrattualistica e privacy nel cloud computerSimone Bonavita - Contrattualistica e privacy nel cloud computer
Simone Bonavita - Contrattualistica e privacy nel cloud computer
Simone Bonavita
 
Smau Bologna 2011 Juri Monducci
Smau Bologna 2011 Juri MonducciSmau Bologna 2011 Juri Monducci
Smau Bologna 2011 Juri Monducci
SMAU
 
Diritto tributario e nuove tecnologie aspetti di diritto sostanziale e di d...
Diritto tributario e nuove tecnologie   aspetti di diritto sostanziale e di d...Diritto tributario e nuove tecnologie   aspetti di diritto sostanziale e di d...
Diritto tributario e nuove tecnologie aspetti di diritto sostanziale e di d...
Giovanni Fiorino
 
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
 
Istituzioni, aziende, società: il valore della fiducia digitale - presentazio...
Istituzioni, aziende, società: il valore della fiducia digitale - presentazio...Istituzioni, aziende, società: il valore della fiducia digitale - presentazio...
Istituzioni, aziende, società: il valore della fiducia digitale - presentazio...
CSI Piemonte
 
Workshop 20092019 Lisi - Creazione di uno smart contract
Workshop 20092019 Lisi - Creazione di uno smart contractWorkshop 20092019 Lisi - Creazione di uno smart contract
Workshop 20092019 Lisi - Creazione di uno smart contract
Rocco Baccelliere
 
Firma digitale, validità legale marca temporale e formato PDF/A
Firma digitale, validità legale marca temporale e formato PDF/AFirma digitale, validità legale marca temporale e formato PDF/A
Firma digitale, validità legale marca temporale e formato PDF/A
matteo_gentile
 
Blockchain per la PA
Blockchain per la PABlockchain per la PA
Blockchain per la PA
Manuel Rafeli
 
Premio pa sostenibile_2019_agcom
Premio pa sostenibile_2019_agcomPremio pa sostenibile_2019_agcom
Premio pa sostenibile_2019_agcom
Enrico Maria Cotugno
 
Paolo Lessio, Processo Civile Telematico 2
Paolo Lessio, Processo Civile Telematico 2Paolo Lessio, Processo Civile Telematico 2
Paolo Lessio, Processo Civile Telematico 2
Andrea Rossetti
 
La sicurezza delle applicazioni di Mobile Payment_Paolo Di Rollo
La sicurezza delle applicazioni di Mobile Payment_Paolo Di RolloLa sicurezza delle applicazioni di Mobile Payment_Paolo Di Rollo
La sicurezza delle applicazioni di Mobile Payment_Paolo Di RolloCATTID "Sapienza"
 
02 - Paolo Lessio, Processo civile telematico
02 - Paolo Lessio, Processo civile telematico02 - Paolo Lessio, Processo civile telematico
02 - Paolo Lessio, Processo civile telematicoAndrea Rossetti
 

Similar to Blockchain Challenge - Raffaele Battaglini - Marco Roberti - 14/11/18 (20)

Smart contract
Smart contractSmart contract
Smart contract
 
iStrumentum premioforumpa2017_1
iStrumentum premioforumpa2017_1iStrumentum premioforumpa2017_1
iStrumentum premioforumpa2017_1
 
BLOCKCHAIN-CRIPTOVALUTE-E-DIRITTO-Validita-legale.pdf
BLOCKCHAIN-CRIPTOVALUTE-E-DIRITTO-Validita-legale.pdfBLOCKCHAIN-CRIPTOVALUTE-E-DIRITTO-Validita-legale.pdf
BLOCKCHAIN-CRIPTOVALUTE-E-DIRITTO-Validita-legale.pdf
 
Smau Milano 2016 - sharedVISION parte 3
Smau Milano 2016 - sharedVISION parte 3Smau Milano 2016 - sharedVISION parte 3
Smau Milano 2016 - sharedVISION parte 3
 
Firme elettroniche, grafometria e processi di conservazione
Firme elettroniche, grafometria e processi di conservazione Firme elettroniche, grafometria e processi di conservazione
Firme elettroniche, grafometria e processi di conservazione
 
Progetto CASCO.pdf
Progetto CASCO.pdfProgetto CASCO.pdf
Progetto CASCO.pdf
 
Smau Bologna 2011 Juri Monducci
Smau Bologna 2011 Juri MonducciSmau Bologna 2011 Juri Monducci
Smau Bologna 2011 Juri Monducci
 
Handshake
HandshakeHandshake
Handshake
 
Simone Bonavita - Contrattualistica e privacy nel cloud computer
Simone Bonavita - Contrattualistica e privacy nel cloud computerSimone Bonavita - Contrattualistica e privacy nel cloud computer
Simone Bonavita - Contrattualistica e privacy nel cloud computer
 
Smau Bologna 2011 Juri Monducci
Smau Bologna 2011 Juri MonducciSmau Bologna 2011 Juri Monducci
Smau Bologna 2011 Juri Monducci
 
Diritto tributario e nuove tecnologie aspetti di diritto sostanziale e di d...
Diritto tributario e nuove tecnologie   aspetti di diritto sostanziale e di d...Diritto tributario e nuove tecnologie   aspetti di diritto sostanziale e di d...
Diritto tributario e nuove tecnologie aspetti di diritto sostanziale e di d...
 
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
 
Istituzioni, aziende, società: il valore della fiducia digitale - presentazio...
Istituzioni, aziende, società: il valore della fiducia digitale - presentazio...Istituzioni, aziende, società: il valore della fiducia digitale - presentazio...
Istituzioni, aziende, società: il valore della fiducia digitale - presentazio...
 
Workshop 20092019 Lisi - Creazione di uno smart contract
Workshop 20092019 Lisi - Creazione di uno smart contractWorkshop 20092019 Lisi - Creazione di uno smart contract
Workshop 20092019 Lisi - Creazione di uno smart contract
 
Firma digitale, validità legale marca temporale e formato PDF/A
Firma digitale, validità legale marca temporale e formato PDF/AFirma digitale, validità legale marca temporale e formato PDF/A
Firma digitale, validità legale marca temporale e formato PDF/A
 
Blockchain per la PA
Blockchain per la PABlockchain per la PA
Blockchain per la PA
 
Premio pa sostenibile_2019_agcom
Premio pa sostenibile_2019_agcomPremio pa sostenibile_2019_agcom
Premio pa sostenibile_2019_agcom
 
Paolo Lessio, Processo Civile Telematico 2
Paolo Lessio, Processo Civile Telematico 2Paolo Lessio, Processo Civile Telematico 2
Paolo Lessio, Processo Civile Telematico 2
 
La sicurezza delle applicazioni di Mobile Payment_Paolo Di Rollo
La sicurezza delle applicazioni di Mobile Payment_Paolo Di RolloLa sicurezza delle applicazioni di Mobile Payment_Paolo Di Rollo
La sicurezza delle applicazioni di Mobile Payment_Paolo Di Rollo
 
02 - Paolo Lessio, Processo civile telematico
02 - Paolo Lessio, Processo civile telematico02 - Paolo Lessio, Processo civile telematico
02 - Paolo Lessio, Processo civile telematico
 

More from The Blockchain Council

Blockchain Challenge - Giacomo Bruno - 14/11/18
Blockchain Challenge - Giacomo Bruno - 14/11/18Blockchain Challenge - Giacomo Bruno - 14/11/18
Blockchain Challenge - Giacomo Bruno - 14/11/18
The Blockchain Council
 
Blockchain Challenge - Lorenzo Beliusse - 14/11/18
Blockchain Challenge - Lorenzo Beliusse - 14/11/18Blockchain Challenge - Lorenzo Beliusse - 14/11/18
Blockchain Challenge - Lorenzo Beliusse - 14/11/18
The Blockchain Council
 
Blockchain Challenge - Alessandro Montanari - 14/11/18
Blockchain Challenge - Alessandro Montanari - 14/11/18Blockchain Challenge - Alessandro Montanari - 14/11/18
Blockchain Challenge - Alessandro Montanari - 14/11/18
The Blockchain Council
 
Blockchain Challenge - Federica Mariani - 14/11/18
Blockchain Challenge - Federica Mariani - 14/11/18Blockchain Challenge - Federica Mariani - 14/11/18
Blockchain Challenge - Federica Mariani - 14/11/18
The Blockchain Council
 
Blockchain Challenge - Enrico Ferro - 14/11/18
Blockchain Challenge - Enrico Ferro - 14/11/18Blockchain Challenge - Enrico Ferro - 14/11/18
Blockchain Challenge - Enrico Ferro - 14/11/18
The Blockchain Council
 
Blockchain Challenge - Matteo Bedini - 14/11/18
Blockchain Challenge - Matteo Bedini - 14/11/18Blockchain Challenge - Matteo Bedini - 14/11/18
Blockchain Challenge - Matteo Bedini - 14/11/18
The Blockchain Council
 
Blockchain Challenge - Giulia Zaia - 14/11/18
Blockchain Challenge - Giulia Zaia - 14/11/18Blockchain Challenge - Giulia Zaia - 14/11/18
Blockchain Challenge - Giulia Zaia - 14/11/18
The Blockchain Council
 
Blockchain Challenge - Stefano Masullo - 14/11/18
Blockchain Challenge - Stefano Masullo - 14/11/18Blockchain Challenge - Stefano Masullo - 14/11/18
Blockchain Challenge - Stefano Masullo - 14/11/18
The Blockchain Council
 
Blockchain Challenge - Fabio Fiori - 14/11/18
Blockchain Challenge - Fabio Fiori - 14/11/18Blockchain Challenge - Fabio Fiori - 14/11/18
Blockchain Challenge - Fabio Fiori - 14/11/18
The Blockchain Council
 
Blockchain Challenge - Massimo Giordani - 14/11/18
Blockchain Challenge - Massimo Giordani - 14/11/18Blockchain Challenge - Massimo Giordani - 14/11/18
Blockchain Challenge - Massimo Giordani - 14/11/18
The Blockchain Council
 

More from The Blockchain Council (10)

Blockchain Challenge - Giacomo Bruno - 14/11/18
Blockchain Challenge - Giacomo Bruno - 14/11/18Blockchain Challenge - Giacomo Bruno - 14/11/18
Blockchain Challenge - Giacomo Bruno - 14/11/18
 
Blockchain Challenge - Lorenzo Beliusse - 14/11/18
Blockchain Challenge - Lorenzo Beliusse - 14/11/18Blockchain Challenge - Lorenzo Beliusse - 14/11/18
Blockchain Challenge - Lorenzo Beliusse - 14/11/18
 
Blockchain Challenge - Alessandro Montanari - 14/11/18
Blockchain Challenge - Alessandro Montanari - 14/11/18Blockchain Challenge - Alessandro Montanari - 14/11/18
Blockchain Challenge - Alessandro Montanari - 14/11/18
 
Blockchain Challenge - Federica Mariani - 14/11/18
Blockchain Challenge - Federica Mariani - 14/11/18Blockchain Challenge - Federica Mariani - 14/11/18
Blockchain Challenge - Federica Mariani - 14/11/18
 
Blockchain Challenge - Enrico Ferro - 14/11/18
Blockchain Challenge - Enrico Ferro - 14/11/18Blockchain Challenge - Enrico Ferro - 14/11/18
Blockchain Challenge - Enrico Ferro - 14/11/18
 
Blockchain Challenge - Matteo Bedini - 14/11/18
Blockchain Challenge - Matteo Bedini - 14/11/18Blockchain Challenge - Matteo Bedini - 14/11/18
Blockchain Challenge - Matteo Bedini - 14/11/18
 
Blockchain Challenge - Giulia Zaia - 14/11/18
Blockchain Challenge - Giulia Zaia - 14/11/18Blockchain Challenge - Giulia Zaia - 14/11/18
Blockchain Challenge - Giulia Zaia - 14/11/18
 
Blockchain Challenge - Stefano Masullo - 14/11/18
Blockchain Challenge - Stefano Masullo - 14/11/18Blockchain Challenge - Stefano Masullo - 14/11/18
Blockchain Challenge - Stefano Masullo - 14/11/18
 
Blockchain Challenge - Fabio Fiori - 14/11/18
Blockchain Challenge - Fabio Fiori - 14/11/18Blockchain Challenge - Fabio Fiori - 14/11/18
Blockchain Challenge - Fabio Fiori - 14/11/18
 
Blockchain Challenge - Massimo Giordani - 14/11/18
Blockchain Challenge - Massimo Giordani - 14/11/18Blockchain Challenge - Massimo Giordani - 14/11/18
Blockchain Challenge - Massimo Giordani - 14/11/18
 

Blockchain Challenge - Raffaele Battaglini - Marco Roberti - 14/11/18

  • 1.
  • 4. Nick Szabo negli anni 1994 “A smart contract is a computerized transaction protocol that executes the terms of a contract. The general objectives of smart contract design are to satisfy common contractual conditions (such as payment terms, liens, confidentiality, and even enforcement), minimize exceptions both malicious and accidental, and minimize the need for trusted intermediaries. Related economic goals include lowering fraud loss, arbitration and enforcement costs, and other transaction costs”
  • 5. Nick Szabo negli anni 1995 “Smart contract: A set of promises, including protocols within which the parties perform on the other promises. The protocols are usually implemented with programs on a computer network, or in other forms of digital electronics, thus these contracts are "smarter" than their paper-based ancestors. No use of artificial intelligence is implied.”
  • 6. Nick Szabo negli anni 1996 A smart contract is a set of promises, specified in digital form, including protocols within which the parties perform on these promises”
  • 8. Varie Smart contracts are self-executing electronic instructions drafted in computer code (Reggie O’Shields) A smart contract is a piece of computer code that is capable of monitoring, executing and enforcing an agreement (Tom Hingley) A software, which computer code binds two, or a multitude, of parties in view of the execution of predefined effects, and that is stored on a distributed ledger (Gabriel Jaccard) Smart contracts are digital contracts allowing terms contingent on decentralized consensus that are tamper-proof and typically self-enforcing through automated execution (Cong-He).
  • 9. Arizona “Smart contracts” means an event-driven program, with state, that runs on a distributed, decentralized, shared and replicated ledger and that can take custody over and instruct transfer of assets on that ledger A contract relating to a transaction may not be denied legal effect, validity or enforceability solely because that contract contains smart contract term Senate Bill n. 69/2017
  • 10. Tennessee "Smart contract" means an event-driven computer program, that executes on an electronic, distributed, decentralized, shared, and replicated ledger that is used to automate transactions, including, but not limited to, transactions that: - take custody over and instruct transfer of assets on that ledger; - create and distribute electronic assets; - synchronize information; - manage identity and user access to software applications. Smart contracts may exist in commerce. No contract relating to a transaction shall be denied legal effect, validity, or enforceability solely because that contract contains a smart contract term Senate Bill 1662/2018
  • 11. Malta (MDIA Act) “Smart contract” means a form of innovative technology arrangement consisting of: (a) a computer protocol; and, or (b) an agreement concluded wholly or partly in an electronic form which is automatable and enforceable by execution of computer code, although some parts may require human input and control and which may be also enforceable by ordinary legal methods or by a mixture of both
  • 12. Confronto tra Contratto Classico e Smart Contract
  • 13. Contratto Classico e Smart Contract Smart Contract come espressione integrale dell’accordo che sostituisce il Contratto Classico Smart Contract come strumento di esecuzione del Contratto Classico
  • 14. Diritto dei contratti ● Art. 1325 c.c.: elementi del contratto (accordo, causa, oggetto, forma) ● LdA applicabile a software (opera letteraria redatta con linguaggio informatico) ● CPI applicabile se invenzione brevettabile (226 domande su Periscope) ● Art. 1 let. p) CAD: un documento informatico è “il documento elettronico che contiene la rappresentazione informatica di atti, fatti o dati giuridicamente rilevanti” ● Art. 20, c. 1-bis, CAD: documento informatico soddisfa forma scritta ● Linguaggio informatico non noto a tutti ● Applicabile disciplina su annullabilità del contratto per errore (artt. 1428 a 1433 c.c.) ● Blockchain non conforme a Regolamento eIDAS
  • 15. Problemi giuridici: legge applicabile e foro competente Uno smart contract risiede sulla blockchain (borderless) e può intervenire tra soggetti residenti in Paesi diversi Possibile soluzione: prevedere legge applicabile e foro competente nel contratto alla base dello smart contract
  • 16. Problemi Giuridici: legge sostanziale Gli smart contracts sono programmi informatici che racchiudono obbligazioni contrattuali Quale legge si applica? • diritto d’autore (tutela software e banche dati) • brevetti • diritto contrattuale (ma il diritto contrattuale positivo è adeguato?) 

  • 17. Problemi Giuridici: invalidità del contratto Effetti Smart contracts irreversibili Cosa succede in caso di invalidità (nullità/annullabilità) del contratto ?
  • 18. Problemi Giuridici: baco Gli smart contracts sono software: chi è responsabile in caso di malfunzionamento/ baco del software? • lo sviluppatore? • terzo esaminatore? • committente?
  • 19. Problemi Giuridici: errore Oracolo Chi risponde in caso di errore dell’Oracolo? • Oracle User: è responsabile l’Oracolo stesso? • Oracle Machine: è responsabile il produttore del sensore?
  • 20. Un po di codice…
  • 21. Solidity Solidity è un linguaggio di programmazione ad alto livello per la costruzione di smart contract. Il suo linguaggio è fortemente influenzato da altri linguaggi di programmazione, quali C++, Python, e JavaScript. Solidity è un linguaggio tipizzato, supporta l’ereditarietà e l’utilizzo di librerie. Una volta compilato il codice scritto in Solidity è possibile eseguirlo all’interno della Ethereum Virtual Machine (EVM).
  • 22. Ethereum Virtual Machine La Ethereum Virtual Machine è l’ambiente di esecuzione degli smart contract all’interno della rete Ethereum. L’ambiente è completamente isolato, questo significa che il codice che viene eseguito all’interno della EVM non ha accesso ne alla rete, ne al sottosistema che lo esegue. Gli smart contract possono interagire tra loro, ma la loro visibilità è limitata tramite alcune keyword presenti nel linguaggio di programmazione.
  • 23. Gli Account Esistono in Ethereum due tipologie di account: •Account Esterni: Sono gli account classici che sono controllati da una coppia di chiavi pubblica e privata. Sono tipicamente i wallet in possesso degli esseri umani.
 •Account dei contratti: Sono account che possono essere controllati unicamente dal codice dello smart contract inserito insieme all’account.
 Gli indirizzi degli account esterni sono definiti dalla chiave pubblica, mentre gli indirizzi degli account dei contratti sono determinati all’atto della creazione del contratto stesso, e sono derivati dall’indirizzo del creatore dello smart contract e da un nonce.
  • 24. Aree di Memoria Esistono in Ethereum due tipologie di account: •Account Esterni: Sono gli account classici che sono controllati da una coppia di chiavi pubblica e privata. Sono tipicamente i wallet in possesso degli esseri umani.
 •Account dei contratti: Sono account che possono essere controllati unicamente dal codice dello smart contract inserito insieme all’account.
 Gli indirizzi degli account esterni sono definiti dalla chiave pubblica, mentre gli indirizzi degli account dei contratti sono determinati all’atto della creazione del contratto stesso, e sono derivati dall’indirizzo del creatore dello smart contract e da un nonce.
  • 25. Cos’è un oracolo Gli smart contract per loro natura sono in gradi di eseguire algoritmi e di salvare e leggere dati. Dato che i calcoli vengono eseguiti su ogni nodo della rete, per un contratto sulla rete Ethereum è impossibile effettuare chiamate esterne, in quanto, tralasciando l’overload di risorse necessarie, le risposte fornite da questa chiamata potrebbero non essere uguali. L’utilizzo degli oracoli introduce però problemi di consenso, in quanto un sistema decentralizzato si deve affidare ad una entità esterna per ottenere i dati necessari per l’elaborazione.
  • 26. Come funziona ?L’approccio “pre” Una delle modalità di utilizzo degli oracoli è effettuare la richiesta alla risorsa prima di contattare lo smart contract. In questo modo tutte le informazioni vengono preventivamente reperite dalla rete e solo successivamente vengono inviate allo smart contract per l’elaborazione. Questa soluzione è abbastanza “semplice”, in quanto si tratta di costruire un layer lato client che si interpone tra lo smart contract e il lato applicativo.
  • 27. Come funziona ?L’approccio a callback Un altro possibile approccio è quello utilizzato per esempio da Oraclize. Consiste nel richiamare un’altro smart contract su cui è posto in ascolto un demone che si preoccuperà di effettuare la ricerca delle informazioni necessarie. Il demone poi si preoccuperà di richiamare lo smart contract iniziale che, predisposto di una particolare funzione di callback, provvederà a proseguire l’esecuzione sulla base dei dati forniti. In questo modo lo stato degli Smart Contract rimane coerente su tutti i nodi della blockchain. L’esecuzione della funzione di callback è equivalente al funzionamento del sistema nella slide precedente.
  • 28. Chi siamo Raffaele Battaglini Avvocato/Attorney-at-law battaglini@battaglinidesabato.com Marco Roberti Academy Lead & Coordinator marco.roberti@synesthesia.it