SlideShare a Scribd company logo
1 of 24
Download to read offline
Smart Contracts are more than Objects:
Pro-activeness on the Blockchain
Giovanni Ciatto1 Alfredo Maffi1 Stefano Mariani2
Andrea Omicini1
giovanni.ciatto@unibo.it alfredo.maffi@studio.unibo.it
stefano.mariani@unimore.it andrea.omicini@unibo.it
1Dipartimento di Informatica – Scienza e Ingegneria—Universit`a di Bologna
2Dipartimento di Scienze e Metodi dell’Ingegneria, Universit`a di Modena e Reggio Emilia
1st International Congress on Blockchain and Applications
´Avila, Spain – June 27, 2019
Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 1 / 20
Outline
1 The Problem with Blockchain Smart Contracts
2 Towards Pro-activity & Asynchrony
3 The Tenderfone Language & Interpreter
4 Tenderfone Internals: Overview
Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 2 / 20
The Problem with Blockchain Smart Contracts
Next in Line. . .
1 The Problem with Blockchain Smart Contracts
2 Towards Pro-activity & Asynchrony
3 The Tenderfone Language & Interpreter
4 Tenderfone Internals: Overview
Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 3 / 20
The Problem with Blockchain Smart Contracts
Context
Most recent and interesting BCT come with Smart Contracts (SC)
i.e., trusted, autonomous intermediaries for users transacting on BCT
inspired to Szabo’s idea of self-enforcing contracts [Szabo, 1997]
an idea which is interesting even beyond financial applications
e.g. for enforcing interaction protocols in multi agent systems
computationally interpreted through object orientated programming
Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 4 / 20
The Problem with Blockchain Smart Contracts
Motivation
Our claim
The mainstream interpretation of SC as objects is inherently flawed
the method call semantics for SC comm. is subtle and bug-prone
e.g. Ethereum’s unexpected recursion [Luu et al., 2016, Atzei et al., 2017]
as objects, SC are constrained in the sorts of things they can do
e.g. they are purely user-reative =⇒ no user invocation means no action
e.g. lack of time-reactiveness =⇒ no time-dependent behaviour
e.g. lack of pro-activeness =⇒ no initiative in rule enforcement
Main research questions
is OOP the best programming paradigm for SC?
is it possible to implement different paradigms? How?
Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 5 / 20
The Problem with Blockchain Smart Contracts
Motivation
Our claim
The mainstream interpretation of SC as objects is inherently flawed
the method call semantics for SC comm. is subtle and bug-prone
e.g. Ethereum’s unexpected recursion [Luu et al., 2016, Atzei et al., 2017]
as objects, SC are constrained in the sorts of things they can do
e.g. they are purely user-reative =⇒ no user invocation means no action
e.g. lack of time-reactiveness =⇒ no time-dependent behaviour
e.g. lack of pro-activeness =⇒ no initiative in rule enforcement
Main research questions
is OOP the best programming paradigm for SC?
is it possible to implement different paradigms? How?
Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 5 / 20
Towards Pro-activity & Asynchrony
Next in Line. . .
1 The Problem with Blockchain Smart Contracts
2 Towards Pro-activity & Asynchrony
3 The Tenderfone Language & Interpreter
4 Tenderfone Internals: Overview
Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 6 / 20
Towards Pro-activity & Asynchrony
Our Proposal
Endowing SC with pro-activity and asynchronous communication support
In this work we
model a minimal language for SC, supporting such features
develop a proof-of-concept SC interpreter (or VM) for it
Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 7 / 20
Towards Pro-activity & Asynchrony
Our Proposal
Endowing SC with pro-activity and asynchronous communication support
In this work we
model a minimal language for SC, supporting such features
develop a proof-of-concept SC interpreter (or VM) for it
Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 7 / 20
The Tenderfone Language & Interpreter
Next in Line. . .
1 The Problem with Blockchain Smart Contracts
2 Towards Pro-activity & Asynchrony
3 The Tenderfone Language & Interpreter
4 Tenderfone Internals: Overview
Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 8 / 20
The Tenderfone Language & Interpreter
Tenderfone in a Nutshell
Layered perspective
Pro-active, logic SC
Tenderfone
Tendermint + tuProlog
Network
Our prototype for a SC interpreter
consists of a language for pro-active,
asynchronous, and logic-based smart
contracts
plus its operational semantics & an
interpreter implementing it
based on the Tendermint [Kwon, 2014]
consensus engine and the tuProlog
framework [Denti et al., 2001]
Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 9 / 20
The Tenderfone Language & Interpreter
Execution Model – Toy Program Example
§
init([Delay | OtherArgs]) :-
now(Time),
Next is Time + Delay,
when(Next, foo).
receive(foo, Me) :-
self(Me),
periodically(10 min, bar).
receive(bar, Me) :-
/* does something
once every 10 min */.
receive(Message, Sender) :-
Answer = /* compute answer */,
send(Answer, Sender).
¦ ¥
U A B
deploy(Delay)
init([Delay])
when(Now + Delay, foo)
after Delay seconds
receive(foo, A)
periodically(10 min, bar)
once every 10 minutes
receive(bar, A)
do something periodic
in any moment
Message
receive(Message, B)
compute Answer
send(Answer, B)
Answer
Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 10 / 20
The Tenderfone Language  Interpreter
How to Support the Desired Features
asynchronous communication
achieved by changing the semantics of the send/2 primitive
asynchronous computation
achieved by sending messages to self
time-awareness
provided by the now/1 predicate
time-reactiveness
provided by the delay/2 and periodically/2 primitives
pro-activeness
achieved through (delay/2 | periodically/2 | send/2) + init/1
Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 11 / 20
Tenderfone Internals: Overview
Next in Line. . .
1 The Problem with Blockchain Smart Contracts
2 Towards Pro-activity  Asynchrony
3 The Tenderfone Language  Interpreter
4 Tenderfone Internals: Overview
Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 12 / 20
Tenderfone Internals: Overview
Tenderfone System Architecture (coarse-grained) I
a number of clients, issuing transactions, served by a number of cores
which engage consensus, update the blockchain, and execute SC
Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 13 / 20
Tenderfone Internals: Overview
Tenderfone System Architecture (coarse-grained) II
each core is actually composed by a validator and an interpreter
validators handle transactions, blocks, cryptography, etc
interpreters execute smart contracts
Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 14 / 20
Tenderfone Internals: Overview
Asynchronous  Pro-Active SC through Spontaneous TX
beginBlock(Index, Time)
Scheduled := get_scheduled(Time)
to_tx(Scheduled) spontaneous!
for each Tx in current block
deliverTx(Tx)
State := execute(Tx, State)
Outbox += get_outgoing(State)
commitBlock()
to_tx(Outbox) spontaneous!
Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 15 / 20
Tenderfone Internals: Overview
About Spontaneous TX
conceptually, they carry the messages / scheduled tasks of SC
in practice, they are produced by interpreters
technically, interpreters act as clients
for each message / scheduled task, n TX are actually produced
where n is the total amount of interpreters
Problem
Corrupt interpreters may forge spurious TX, thus faking SC triggers
→ spontaneous TX are valid only if n copies exist
signed by as many interpreters
Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 16 / 20
Tenderfone Internals: Overview
About Spontaneous TX
conceptually, they carry the messages / scheduled tasks of SC
in practice, they are produced by interpreters
technically, interpreters act as clients
for each message / scheduled task, n TX are actually produced
where n is the total amount of interpreters
Problem
Corrupt interpreters may forge spurious TX, thus faking SC triggers
→ spontaneous TX are valid only if n copies exist
signed by as many interpreters
Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 16 / 20
Conclusions and Future Work
Conclusion
Summarising, we
discuss how SC need pro-activity, time-reactiveness and asynchrony
define a language for SC with such features
describe how an interpreter for such SC should work
provide a prototype implementation
In the future, we plan to
provide a formal operational semantics for Tenderfone
endow SC with higher-level coordination/synchronisation mechanisms
extend Tenderfone to support HyperLedger Fabric’s architecture
Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 17 / 20
Conclusions and Future Work
Conclusion
Summarising, we
discuss how SC need pro-activity, time-reactiveness and asynchrony
define a language for SC with such features
describe how an interpreter for such SC should work
provide a prototype implementation
In the future, we plan to
provide a formal operational semantics for Tenderfone
endow SC with higher-level coordination/synchronisation mechanisms
extend Tenderfone to support HyperLedger Fabric’s architecture
Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 17 / 20
Smart Contracts are more than Objects:
Pro-activeness on the Blockchain
Giovanni Ciatto1 Alfredo Maffi1 Stefano Mariani2
Andrea Omicini1
giovanni.ciatto@unibo.it alfredo.maffi@studio.unibo.it
stefano.mariani@unimore.it andrea.omicini@unibo.it
1Dipartimento di Informatica – Scienza e Ingegneria—Universit`a di Bologna
2Dipartimento di Scienze e Metodi dell’Ingegneria, Universit`a di Modena e Reggio Emilia
1st International Congress on Blockchain and Applications
´Avila, Spain – June 27, 2019
Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 18 / 20
References
References I
Atzei, N., Bartoletti, M., and Cimoli, T. (2017).
A survey of attacks on Ethereum smart contracts (SoK).
In Principles of Security and Trust, volume 10204 of LNCS, pages 164–186.
Springer.
Denti, E., Omicini, A., and Ricci, A. (2001).
tuProlog: A light-weight Prolog for Internet applications and infrastructures.
In Practical Aspects of Declarative Languages, volume 1990 of LNCS, pages
184–198. Springer.
Kwon, J. (2014).
Tendermint: Consensus without mining.
Luu, L., Chu, D.-H., Olickel, H., Saxena, P., and Hobor, A. (2016).
Making smart contracts smarter.
In 2016 ACM SIGSAC Conference on Computer and Communications Security
(CCS’16), pages 254–269, New York, NY, USA. ACM Press.
Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 19 / 20
References
References II
Szabo, N. (1997).
Formalizing and securing relationships on public networks.
First Monday, 2(9).
Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 20 / 20

More Related Content

What's hot

Blockchain Use Cases In Business
Blockchain Use Cases In BusinessBlockchain Use Cases In Business
Blockchain Use Cases In BusinessJohan Zammit
 
Blockchain Use Cases: Think of a "Public" Pub/Sub Queue
Blockchain Use Cases: Think of a "Public" Pub/Sub QueueBlockchain Use Cases: Think of a "Public" Pub/Sub Queue
Blockchain Use Cases: Think of a "Public" Pub/Sub QueueAltoros
 
Blockchain and io t in carbon credit management
Blockchain and io t in carbon credit managementBlockchain and io t in carbon credit management
Blockchain and io t in carbon credit managementYuri Anisimov
 
BONIK : A Blockchain Empowered Chatbot for Financial Transactions
BONIK : A Blockchain Empowered Chatbot for Financial TransactionsBONIK : A Blockchain Empowered Chatbot for Financial Transactions
BONIK : A Blockchain Empowered Chatbot for Financial TransactionsMdSaifulIslamBhuiyan4
 
Making Lemonade out of Lemons: Squeezing utility from a proof-of-work experiment
Making Lemonade out of Lemons: Squeezing utility from a proof-of-work experimentMaking Lemonade out of Lemons: Squeezing utility from a proof-of-work experiment
Making Lemonade out of Lemons: Squeezing utility from a proof-of-work experimentTim Swanson
 
Future of money
Future of moneyFuture of money
Future of moneyMike Hearn
 
The Nuances of Tokenization: A brief explanation on attempts from this past d...
The Nuances of Tokenization: A brief explanation on attempts from this past d...The Nuances of Tokenization: A brief explanation on attempts from this past d...
The Nuances of Tokenization: A brief explanation on attempts from this past d...Tim Swanson
 
13 chromaway or perelman future of house sales
13 chromaway or perelman future of house sales13 chromaway or perelman future of house sales
13 chromaway or perelman future of house salesWalter Strametz
 
The Continued Existence of Altcoins, Appcoins and Commodity coins
The Continued Existence of Altcoins, Appcoins and Commodity coinsThe Continued Existence of Altcoins, Appcoins and Commodity coins
The Continued Existence of Altcoins, Appcoins and Commodity coinsTim Swanson
 
What Is A Smart Contract, And How Does It Work
What Is A Smart Contract, And How Does It Work What Is A Smart Contract, And How Does It Work
What Is A Smart Contract, And How Does It Work Blockchain Council
 
The best smart contract platforms in 2021
The best smart contract platforms in 2021The best smart contract platforms in 2021
The best smart contract platforms in 2021OliviaJune1
 
Moving Beyond BINO Beta
Moving Beyond BINO BetaMoving Beyond BINO Beta
Moving Beyond BINO BetaTim Swanson
 
9 BUILDING BLOCKS FOR A SUCCESSFUL BLOCKCHAIN INDUSTRY | BLOCKSTARS.IO
9 BUILDING BLOCKS FOR A SUCCESSFUL BLOCKCHAIN INDUSTRY | BLOCKSTARS.IO9 BUILDING BLOCKS FOR A SUCCESSFUL BLOCKCHAIN INDUSTRY | BLOCKSTARS.IO
9 BUILDING BLOCKS FOR A SUCCESSFUL BLOCKCHAIN INDUSTRY | BLOCKSTARS.IOBlockStars.io
 
Blockchain @ ArenA Live (Knight Moves - 26 October)
Blockchain @ ArenA Live (Knight Moves - 26 October)Blockchain @ ArenA Live (Knight Moves - 26 October)
Blockchain @ ArenA Live (Knight Moves - 26 October)Koen Vingerhoets
 
Blockchain @ Capitant FinTech Day Antwerp
Blockchain @ Capitant FinTech Day AntwerpBlockchain @ Capitant FinTech Day Antwerp
Blockchain @ Capitant FinTech Day AntwerpKoen Vingerhoets
 
State of Digital Assets May 2019 - Blockshine Singapore
State of Digital Assets May 2019 - Blockshine SingaporeState of Digital Assets May 2019 - Blockshine Singapore
State of Digital Assets May 2019 - Blockshine SingaporeRandeep Melhi
 
Columbia Law School - Decentralized Ledgers Presentation on 4/7/2014
Columbia Law School - Decentralized Ledgers Presentation on 4/7/2014Columbia Law School - Decentralized Ledgers Presentation on 4/7/2014
Columbia Law School - Decentralized Ledgers Presentation on 4/7/2014Ldger, Inc
 

What's hot (20)

Blockchain Use Cases In Business
Blockchain Use Cases In BusinessBlockchain Use Cases In Business
Blockchain Use Cases In Business
 
Blockchain Use Cases: Think of a "Public" Pub/Sub Queue
Blockchain Use Cases: Think of a "Public" Pub/Sub QueueBlockchain Use Cases: Think of a "Public" Pub/Sub Queue
Blockchain Use Cases: Think of a "Public" Pub/Sub Queue
 
Blockchain and io t in carbon credit management
Blockchain and io t in carbon credit managementBlockchain and io t in carbon credit management
Blockchain and io t in carbon credit management
 
BONIK : A Blockchain Empowered Chatbot for Financial Transactions
BONIK : A Blockchain Empowered Chatbot for Financial TransactionsBONIK : A Blockchain Empowered Chatbot for Financial Transactions
BONIK : A Blockchain Empowered Chatbot for Financial Transactions
 
Blockchain in Commercial Insurance
Blockchain in Commercial InsuranceBlockchain in Commercial Insurance
Blockchain in Commercial Insurance
 
Making Lemonade out of Lemons: Squeezing utility from a proof-of-work experiment
Making Lemonade out of Lemons: Squeezing utility from a proof-of-work experimentMaking Lemonade out of Lemons: Squeezing utility from a proof-of-work experiment
Making Lemonade out of Lemons: Squeezing utility from a proof-of-work experiment
 
Future of money
Future of moneyFuture of money
Future of money
 
The Nuances of Tokenization: A brief explanation on attempts from this past d...
The Nuances of Tokenization: A brief explanation on attempts from this past d...The Nuances of Tokenization: A brief explanation on attempts from this past d...
The Nuances of Tokenization: A brief explanation on attempts from this past d...
 
Blockchain Organiseren
Blockchain OrganiserenBlockchain Organiseren
Blockchain Organiseren
 
13 chromaway or perelman future of house sales
13 chromaway or perelman future of house sales13 chromaway or perelman future of house sales
13 chromaway or perelman future of house sales
 
The Continued Existence of Altcoins, Appcoins and Commodity coins
The Continued Existence of Altcoins, Appcoins and Commodity coinsThe Continued Existence of Altcoins, Appcoins and Commodity coins
The Continued Existence of Altcoins, Appcoins and Commodity coins
 
What Is A Smart Contract, And How Does It Work
What Is A Smart Contract, And How Does It Work What Is A Smart Contract, And How Does It Work
What Is A Smart Contract, And How Does It Work
 
The best smart contract platforms in 2021
The best smart contract platforms in 2021The best smart contract platforms in 2021
The best smart contract platforms in 2021
 
Moving Beyond BINO Beta
Moving Beyond BINO BetaMoving Beyond BINO Beta
Moving Beyond BINO Beta
 
9 BUILDING BLOCKS FOR A SUCCESSFUL BLOCKCHAIN INDUSTRY | BLOCKSTARS.IO
9 BUILDING BLOCKS FOR A SUCCESSFUL BLOCKCHAIN INDUSTRY | BLOCKSTARS.IO9 BUILDING BLOCKS FOR A SUCCESSFUL BLOCKCHAIN INDUSTRY | BLOCKSTARS.IO
9 BUILDING BLOCKS FOR A SUCCESSFUL BLOCKCHAIN INDUSTRY | BLOCKSTARS.IO
 
Code is not law
Code is not lawCode is not law
Code is not law
 
Blockchain @ ArenA Live (Knight Moves - 26 October)
Blockchain @ ArenA Live (Knight Moves - 26 October)Blockchain @ ArenA Live (Knight Moves - 26 October)
Blockchain @ ArenA Live (Knight Moves - 26 October)
 
Blockchain @ Capitant FinTech Day Antwerp
Blockchain @ Capitant FinTech Day AntwerpBlockchain @ Capitant FinTech Day Antwerp
Blockchain @ Capitant FinTech Day Antwerp
 
State of Digital Assets May 2019 - Blockshine Singapore
State of Digital Assets May 2019 - Blockshine SingaporeState of Digital Assets May 2019 - Blockshine Singapore
State of Digital Assets May 2019 - Blockshine Singapore
 
Columbia Law School - Decentralized Ledgers Presentation on 4/7/2014
Columbia Law School - Decentralized Ledgers Presentation on 4/7/2014Columbia Law School - Decentralized Ledgers Presentation on 4/7/2014
Columbia Law School - Decentralized Ledgers Presentation on 4/7/2014
 

Similar to Pro-activeness on the Blockchain with Tenderfone SC

Towards Agent-oriented Blockchains: Autonomous Smart Contracts
Towards Agent-oriented Blockchains: Autonomous Smart ContractsTowards Agent-oriented Blockchains: Autonomous Smart Contracts
Towards Agent-oriented Blockchains: Autonomous Smart ContractsGiovanni Ciatto
 
From the Blockchain to Logic Programming and back: Research perspectives
From the Blockchain to Logic Programming and back: Research perspectivesFrom the Blockchain to Logic Programming and back: Research perspectives
From the Blockchain to Logic Programming and back: Research perspectivesGiovanni Ciatto
 
TuSoW: Tuple Spaces for Edge Computing
TuSoW: Tuple Spaces for Edge ComputingTuSoW: Tuple Spaces for Edge Computing
TuSoW: Tuple Spaces for Edge ComputingGiovanni Ciatto
 
Blockchain and Smart Contracts
Blockchain and Smart ContractsBlockchain and Smart Contracts
Blockchain and Smart ContractsGiovanni Ciatto
 
Towards XMAS: eXplainability through Multi-Agent Systems
Towards XMAS: eXplainability through Multi-Agent SystemsTowards XMAS: eXplainability through Multi-Agent Systems
Towards XMAS: eXplainability through Multi-Agent SystemsGiovanni Ciatto
 
IRJET- Consensus Mechanism on Secure Challenges in Blockchain Networks
IRJET-  	  Consensus Mechanism on Secure Challenges in Blockchain NetworksIRJET-  	  Consensus Mechanism on Secure Challenges in Blockchain Networks
IRJET- Consensus Mechanism on Secure Challenges in Blockchain NetworksIRJET Journal
 
Comparative Analysis of Blockchain Technologies under a Coordination Perspective
Comparative Analysis of Blockchain Technologies under a Coordination PerspectiveComparative Analysis of Blockchain Technologies under a Coordination Perspective
Comparative Analysis of Blockchain Technologies under a Coordination PerspectiveGiovanni Ciatto
 
A Research Paper on HUMAN MACHINE CONVERSATION USING CHATBOT
A Research Paper on HUMAN MACHINE CONVERSATION USING CHATBOTA Research Paper on HUMAN MACHINE CONVERSATION USING CHATBOT
A Research Paper on HUMAN MACHINE CONVERSATION USING CHATBOTIRJET Journal
 
Permissioned and Permissionless Blockchain A game Changer
 Permissioned and Permissionless Blockchain   A game Changer Permissioned and Permissionless Blockchain   A game Changer
Permissioned and Permissionless Blockchain A game ChangerJaskaranSingh471091
 
Logic Programming in Space-Time: The Case of Situatedness in LPaaS
Logic Programming in Space-Time: The Case of Situatedness in LPaaSLogic Programming in Space-Time: The Case of Situatedness in LPaaS
Logic Programming in Space-Time: The Case of Situatedness in LPaaSGiovanni Ciatto
 
Internet of Things 10 (2020) 10 0 081 Contents lists avail.docx
Internet of Things 10 (2020) 10 0 081 Contents lists avail.docxInternet of Things 10 (2020) 10 0 081 Contents lists avail.docx
Internet of Things 10 (2020) 10 0 081 Contents lists avail.docxLaticiaGrissomzz
 
Blockchain technology and applications from a financial perspective
Blockchain technology and applications from a financial perspectiveBlockchain technology and applications from a financial perspective
Blockchain technology and applications from a financial perspectiveTommaso Pellizzari
 
Blockchain technology and applications from a financial perspective
Blockchain technology and applications from a financial perspectiveBlockchain technology and applications from a financial perspective
Blockchain technology and applications from a financial perspectiveVittorio Zinetti
 
스마트 디바이스 현황_및__전자정부에_대한_제언
스마트 디바이스 현황_및__전자정부에_대한_제언스마트 디바이스 현황_및__전자정부에_대한_제언
스마트 디바이스 현황_및__전자정부에_대한_제언Gori Communication
 
Novel Opportunities for Tuple-based Coordination: XPath, the Blockchain, and ...
Novel Opportunities for Tuple-based Coordination: XPath, the Blockchain, and ...Novel Opportunities for Tuple-based Coordination: XPath, the Blockchain, and ...
Novel Opportunities for Tuple-based Coordination: XPath, the Blockchain, and ...Andrea Omicini
 
EU actions on Bockchain- Moving beyond the Hype
EU actions on Bockchain- Moving beyond the Hype EU actions on Bockchain- Moving beyond the Hype
EU actions on Bockchain- Moving beyond the Hype Soren Gigler
 

Similar to Pro-activeness on the Blockchain with Tenderfone SC (20)

Towards Agent-oriented Blockchains: Autonomous Smart Contracts
Towards Agent-oriented Blockchains: Autonomous Smart ContractsTowards Agent-oriented Blockchains: Autonomous Smart Contracts
Towards Agent-oriented Blockchains: Autonomous Smart Contracts
 
From the Blockchain to Logic Programming and back: Research perspectives
From the Blockchain to Logic Programming and back: Research perspectivesFrom the Blockchain to Logic Programming and back: Research perspectives
From the Blockchain to Logic Programming and back: Research perspectives
 
TuSoW: Tuple Spaces for Edge Computing
TuSoW: Tuple Spaces for Edge ComputingTuSoW: Tuple Spaces for Edge Computing
TuSoW: Tuple Spaces for Edge Computing
 
Blockchain and Smart Contracts
Blockchain and Smart ContractsBlockchain and Smart Contracts
Blockchain and Smart Contracts
 
IP TV
IP TVIP TV
IP TV
 
Towards XMAS: eXplainability through Multi-Agent Systems
Towards XMAS: eXplainability through Multi-Agent SystemsTowards XMAS: eXplainability through Multi-Agent Systems
Towards XMAS: eXplainability through Multi-Agent Systems
 
IRJET- Consensus Mechanism on Secure Challenges in Blockchain Networks
IRJET-  	  Consensus Mechanism on Secure Challenges in Blockchain NetworksIRJET-  	  Consensus Mechanism on Secure Challenges in Blockchain Networks
IRJET- Consensus Mechanism on Secure Challenges in Blockchain Networks
 
Comparative Analysis of Blockchain Technologies under a Coordination Perspective
Comparative Analysis of Blockchain Technologies under a Coordination PerspectiveComparative Analysis of Blockchain Technologies under a Coordination Perspective
Comparative Analysis of Blockchain Technologies under a Coordination Perspective
 
A Research Paper on HUMAN MACHINE CONVERSATION USING CHATBOT
A Research Paper on HUMAN MACHINE CONVERSATION USING CHATBOTA Research Paper on HUMAN MACHINE CONVERSATION USING CHATBOT
A Research Paper on HUMAN MACHINE CONVERSATION USING CHATBOT
 
Permissioned and Permissionless Blockchain A game Changer
 Permissioned and Permissionless Blockchain   A game Changer Permissioned and Permissionless Blockchain   A game Changer
Permissioned and Permissionless Blockchain A game Changer
 
Logic Programming in Space-Time: The Case of Situatedness in LPaaS
Logic Programming in Space-Time: The Case of Situatedness in LPaaSLogic Programming in Space-Time: The Case of Situatedness in LPaaS
Logic Programming in Space-Time: The Case of Situatedness in LPaaS
 
Internet of Things 10 (2020) 10 0 081 Contents lists avail.docx
Internet of Things 10 (2020) 10 0 081 Contents lists avail.docxInternet of Things 10 (2020) 10 0 081 Contents lists avail.docx
Internet of Things 10 (2020) 10 0 081 Contents lists avail.docx
 
Blockchain technology and applications from a financial perspective
Blockchain technology and applications from a financial perspectiveBlockchain technology and applications from a financial perspective
Blockchain technology and applications from a financial perspective
 
Blockchain technology and applications from a financial perspective
Blockchain technology and applications from a financial perspectiveBlockchain technology and applications from a financial perspective
Blockchain technology and applications from a financial perspective
 
스마트 디바이스 현황_및__전자정부에_대한_제언
스마트 디바이스 현황_및__전자정부에_대한_제언스마트 디바이스 현황_및__전자정부에_대한_제언
스마트 디바이스 현황_및__전자정부에_대한_제언
 
Epics qt application peer reviews
Epics qt application peer reviewsEpics qt application peer reviews
Epics qt application peer reviews
 
Novel Opportunities for Tuple-based Coordination: XPath, the Blockchain, and ...
Novel Opportunities for Tuple-based Coordination: XPath, the Blockchain, and ...Novel Opportunities for Tuple-based Coordination: XPath, the Blockchain, and ...
Novel Opportunities for Tuple-based Coordination: XPath, the Blockchain, and ...
 
TESTING
TESTINGTESTING
TESTING
 
LBSNov2.pptx
LBSNov2.pptxLBSNov2.pptx
LBSNov2.pptx
 
EU actions on Bockchain- Moving beyond the Hype
EU actions on Bockchain- Moving beyond the Hype EU actions on Bockchain- Moving beyond the Hype
EU actions on Bockchain- Moving beyond the Hype
 

Recently uploaded

Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Sonam Pathan
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一Fs
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012rehmti665
 
Complet Documnetation for Smart Assistant Application for Disabled Person
Complet Documnetation   for Smart Assistant Application for Disabled PersonComplet Documnetation   for Smart Assistant Application for Disabled Person
Complet Documnetation for Smart Assistant Application for Disabled Personfurqan222004
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一z xss
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)Christopher H Felton
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一Fs
 
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一3sw2qly1
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhimiss dipika
 
VIP Call Girls Kolkata Ananya 🤌 8250192130 🚀 Vip Call Girls Kolkata
VIP Call Girls Kolkata Ananya 🤌  8250192130 🚀 Vip Call Girls KolkataVIP Call Girls Kolkata Ananya 🤌  8250192130 🚀 Vip Call Girls Kolkata
VIP Call Girls Kolkata Ananya 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationLinaWolf1
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一Fs
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作ys8omjxb
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书zdzoqco
 
Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Excelmac1
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Paul Calvano
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一Fs
 
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts servicevipmodelshub1
 
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja VipCall Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja VipCall Girls Lucknow
 

Recently uploaded (20)

Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
 
Complet Documnetation for Smart Assistant Application for Disabled Person
Complet Documnetation   for Smart Assistant Application for Disabled PersonComplet Documnetation   for Smart Assistant Application for Disabled Person
Complet Documnetation for Smart Assistant Application for Disabled Person
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
 
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhi
 
VIP Call Girls Kolkata Ananya 🤌 8250192130 🚀 Vip Call Girls Kolkata
VIP Call Girls Kolkata Ananya 🤌  8250192130 🚀 Vip Call Girls KolkataVIP Call Girls Kolkata Ananya 🤌  8250192130 🚀 Vip Call Girls Kolkata
VIP Call Girls Kolkata Ananya 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 Documentation
 
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
 
Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
 
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
 
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja VipCall Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
 

Pro-activeness on the Blockchain with Tenderfone SC

  • 1. Smart Contracts are more than Objects: Pro-activeness on the Blockchain Giovanni Ciatto1 Alfredo Maffi1 Stefano Mariani2 Andrea Omicini1 giovanni.ciatto@unibo.it alfredo.maffi@studio.unibo.it stefano.mariani@unimore.it andrea.omicini@unibo.it 1Dipartimento di Informatica – Scienza e Ingegneria—Universit`a di Bologna 2Dipartimento di Scienze e Metodi dell’Ingegneria, Universit`a di Modena e Reggio Emilia 1st International Congress on Blockchain and Applications ´Avila, Spain – June 27, 2019 Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 1 / 20
  • 2. Outline 1 The Problem with Blockchain Smart Contracts 2 Towards Pro-activity & Asynchrony 3 The Tenderfone Language & Interpreter 4 Tenderfone Internals: Overview Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 2 / 20
  • 3. The Problem with Blockchain Smart Contracts Next in Line. . . 1 The Problem with Blockchain Smart Contracts 2 Towards Pro-activity & Asynchrony 3 The Tenderfone Language & Interpreter 4 Tenderfone Internals: Overview Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 3 / 20
  • 4. The Problem with Blockchain Smart Contracts Context Most recent and interesting BCT come with Smart Contracts (SC) i.e., trusted, autonomous intermediaries for users transacting on BCT inspired to Szabo’s idea of self-enforcing contracts [Szabo, 1997] an idea which is interesting even beyond financial applications e.g. for enforcing interaction protocols in multi agent systems computationally interpreted through object orientated programming Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 4 / 20
  • 5. The Problem with Blockchain Smart Contracts Motivation Our claim The mainstream interpretation of SC as objects is inherently flawed the method call semantics for SC comm. is subtle and bug-prone e.g. Ethereum’s unexpected recursion [Luu et al., 2016, Atzei et al., 2017] as objects, SC are constrained in the sorts of things they can do e.g. they are purely user-reative =⇒ no user invocation means no action e.g. lack of time-reactiveness =⇒ no time-dependent behaviour e.g. lack of pro-activeness =⇒ no initiative in rule enforcement Main research questions is OOP the best programming paradigm for SC? is it possible to implement different paradigms? How? Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 5 / 20
  • 6. The Problem with Blockchain Smart Contracts Motivation Our claim The mainstream interpretation of SC as objects is inherently flawed the method call semantics for SC comm. is subtle and bug-prone e.g. Ethereum’s unexpected recursion [Luu et al., 2016, Atzei et al., 2017] as objects, SC are constrained in the sorts of things they can do e.g. they are purely user-reative =⇒ no user invocation means no action e.g. lack of time-reactiveness =⇒ no time-dependent behaviour e.g. lack of pro-activeness =⇒ no initiative in rule enforcement Main research questions is OOP the best programming paradigm for SC? is it possible to implement different paradigms? How? Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 5 / 20
  • 7. Towards Pro-activity & Asynchrony Next in Line. . . 1 The Problem with Blockchain Smart Contracts 2 Towards Pro-activity & Asynchrony 3 The Tenderfone Language & Interpreter 4 Tenderfone Internals: Overview Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 6 / 20
  • 8. Towards Pro-activity & Asynchrony Our Proposal Endowing SC with pro-activity and asynchronous communication support In this work we model a minimal language for SC, supporting such features develop a proof-of-concept SC interpreter (or VM) for it Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 7 / 20
  • 9. Towards Pro-activity & Asynchrony Our Proposal Endowing SC with pro-activity and asynchronous communication support In this work we model a minimal language for SC, supporting such features develop a proof-of-concept SC interpreter (or VM) for it Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 7 / 20
  • 10. The Tenderfone Language & Interpreter Next in Line. . . 1 The Problem with Blockchain Smart Contracts 2 Towards Pro-activity & Asynchrony 3 The Tenderfone Language & Interpreter 4 Tenderfone Internals: Overview Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 8 / 20
  • 11. The Tenderfone Language & Interpreter Tenderfone in a Nutshell Layered perspective Pro-active, logic SC Tenderfone Tendermint + tuProlog Network Our prototype for a SC interpreter consists of a language for pro-active, asynchronous, and logic-based smart contracts plus its operational semantics & an interpreter implementing it based on the Tendermint [Kwon, 2014] consensus engine and the tuProlog framework [Denti et al., 2001] Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 9 / 20
  • 12. The Tenderfone Language & Interpreter Execution Model – Toy Program Example § init([Delay | OtherArgs]) :- now(Time), Next is Time + Delay, when(Next, foo). receive(foo, Me) :- self(Me), periodically(10 min, bar). receive(bar, Me) :- /* does something once every 10 min */. receive(Message, Sender) :- Answer = /* compute answer */, send(Answer, Sender). ¦ ¥ U A B deploy(Delay) init([Delay]) when(Now + Delay, foo) after Delay seconds receive(foo, A) periodically(10 min, bar) once every 10 minutes receive(bar, A) do something periodic in any moment Message receive(Message, B) compute Answer send(Answer, B) Answer Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 10 / 20
  • 13. The Tenderfone Language Interpreter How to Support the Desired Features asynchronous communication achieved by changing the semantics of the send/2 primitive asynchronous computation achieved by sending messages to self time-awareness provided by the now/1 predicate time-reactiveness provided by the delay/2 and periodically/2 primitives pro-activeness achieved through (delay/2 | periodically/2 | send/2) + init/1 Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 11 / 20
  • 14. Tenderfone Internals: Overview Next in Line. . . 1 The Problem with Blockchain Smart Contracts 2 Towards Pro-activity Asynchrony 3 The Tenderfone Language Interpreter 4 Tenderfone Internals: Overview Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 12 / 20
  • 15. Tenderfone Internals: Overview Tenderfone System Architecture (coarse-grained) I a number of clients, issuing transactions, served by a number of cores which engage consensus, update the blockchain, and execute SC Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 13 / 20
  • 16. Tenderfone Internals: Overview Tenderfone System Architecture (coarse-grained) II each core is actually composed by a validator and an interpreter validators handle transactions, blocks, cryptography, etc interpreters execute smart contracts Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 14 / 20
  • 17. Tenderfone Internals: Overview Asynchronous Pro-Active SC through Spontaneous TX beginBlock(Index, Time) Scheduled := get_scheduled(Time) to_tx(Scheduled) spontaneous! for each Tx in current block deliverTx(Tx) State := execute(Tx, State) Outbox += get_outgoing(State) commitBlock() to_tx(Outbox) spontaneous! Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 15 / 20
  • 18. Tenderfone Internals: Overview About Spontaneous TX conceptually, they carry the messages / scheduled tasks of SC in practice, they are produced by interpreters technically, interpreters act as clients for each message / scheduled task, n TX are actually produced where n is the total amount of interpreters Problem Corrupt interpreters may forge spurious TX, thus faking SC triggers → spontaneous TX are valid only if n copies exist signed by as many interpreters Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 16 / 20
  • 19. Tenderfone Internals: Overview About Spontaneous TX conceptually, they carry the messages / scheduled tasks of SC in practice, they are produced by interpreters technically, interpreters act as clients for each message / scheduled task, n TX are actually produced where n is the total amount of interpreters Problem Corrupt interpreters may forge spurious TX, thus faking SC triggers → spontaneous TX are valid only if n copies exist signed by as many interpreters Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 16 / 20
  • 20. Conclusions and Future Work Conclusion Summarising, we discuss how SC need pro-activity, time-reactiveness and asynchrony define a language for SC with such features describe how an interpreter for such SC should work provide a prototype implementation In the future, we plan to provide a formal operational semantics for Tenderfone endow SC with higher-level coordination/synchronisation mechanisms extend Tenderfone to support HyperLedger Fabric’s architecture Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 17 / 20
  • 21. Conclusions and Future Work Conclusion Summarising, we discuss how SC need pro-activity, time-reactiveness and asynchrony define a language for SC with such features describe how an interpreter for such SC should work provide a prototype implementation In the future, we plan to provide a formal operational semantics for Tenderfone endow SC with higher-level coordination/synchronisation mechanisms extend Tenderfone to support HyperLedger Fabric’s architecture Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 17 / 20
  • 22. Smart Contracts are more than Objects: Pro-activeness on the Blockchain Giovanni Ciatto1 Alfredo Maffi1 Stefano Mariani2 Andrea Omicini1 giovanni.ciatto@unibo.it alfredo.maffi@studio.unibo.it stefano.mariani@unimore.it andrea.omicini@unibo.it 1Dipartimento di Informatica – Scienza e Ingegneria—Universit`a di Bologna 2Dipartimento di Scienze e Metodi dell’Ingegneria, Universit`a di Modena e Reggio Emilia 1st International Congress on Blockchain and Applications ´Avila, Spain – June 27, 2019 Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 18 / 20
  • 23. References References I Atzei, N., Bartoletti, M., and Cimoli, T. (2017). A survey of attacks on Ethereum smart contracts (SoK). In Principles of Security and Trust, volume 10204 of LNCS, pages 164–186. Springer. Denti, E., Omicini, A., and Ricci, A. (2001). tuProlog: A light-weight Prolog for Internet applications and infrastructures. In Practical Aspects of Declarative Languages, volume 1990 of LNCS, pages 184–198. Springer. Kwon, J. (2014). Tendermint: Consensus without mining. Luu, L., Chu, D.-H., Olickel, H., Saxena, P., and Hobor, A. (2016). Making smart contracts smarter. In 2016 ACM SIGSAC Conference on Computer and Communications Security (CCS’16), pages 254–269, New York, NY, USA. ACM Press. Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 19 / 20
  • 24. References References II Szabo, N. (1997). Formalizing and securing relationships on public networks. First Monday, 2(9). Ciatto et al. (UniBo, UniMoRe) Pro-activeness on the Blockchain BCC 2019, Jun 27 20 / 20