SlideShare a Scribd company logo
1 of 58
Download to read offline
Juan ManuelVara
1: Kybele Research Group | Universidad Rey Juan Carlos
@jmvara | @KybeleResearch | @ISE_URJC
Towards high-level specification of
Smart-Contracts
Joint work with
Cristian Gómez1, Francisco J. Pérez1, E. Marcos1
@jmvara | @KybeleResearch www.kybele.es
Agenda
7
Blockchain
Smart Contracts
Bringing models to the rescue
The road ahead
2
1
3
4
@jmvara | @KybeleResearch www.kybele.es
Blockchain
8
the biggest invention since
the emergence of the
Internet!!
https://www.healthnewsreview.org/wp-content/uploads/2016/12/iStock-487078483.jpg
@jmvara | @KybeleResearch www.kybele.es
• What is a Blockchain?
‒ A distributed DB + Encryption + Immutability + stored
procedures (smart contracts)
• A blockchain is a list (chain) of groups (blocks) of transactions
• Like traditional DDBBs they can be used for anything a DB is used.
• How does it work?
‒ Interested subjects add transactions to the pool
‒ Nodes verify and add them to some block on the ledger
‒ Ledger is replicated among distributed nodes
‒ Eventual consistency
• In the absence of centralized control, all nodes eventually achieve
consensus about the content of the ledger
‒ Append-only data structure
• May add transactions – Nearly imposible to change data
Blockchain
9
@jmvara | @KybeleResearch www.kybele.es
• Why so much hype?
‒ New businesses and business models are
expected to arise, but as yet there are not a
lot of examples of significant use in production
of blockchain systems within industry or government.
• Disintermediation
‒ DirectVS Indirect interactions: less processing time and lower
costs
• (Improved) Peer-to-peer systems
‒ E.g.: music à inmaterial nature / low
costs of data transfer
Blockchain
10
https://dollarsandsensemagazine.com/wp-content/uploads/2015/02/Depositphotos_5999243_s-e1425140615493.jpg
@jmvara | @KybeleResearch www.kybele.es
Blockchain
11
A tool for
achieving
and
maintaining
integrity in
purely
distributed
peer-to-peer
systems …
… that consists
of an unknown
number of peers
with
unknown
reliability and
trustworthiness.
• Having one witness is good, but having
many independent witnesses is the key.
• Instead of one ledger, a p2p system of
ledgers …
Ownership
and
Witnesses
@jmvara | @KybeleResearch www.kybele.es
Blockchain Definition
12
The blockchain is a purely distributed peer-to-peer
system of ledgers that utilizes a software unit that
consist of an algorithm, which negotiates the
informational content of ordered and connected
blocks of data together with cryptographic and
security technologies in order to achieve and
maintain its integrity.
Drescher, D. Blockchain Basics (2017).
@jmvara | @KybeleResearch www.kybele.es
• General view of the blockchain
THE Block-Chain J
13
Transactions 1.x
Block hash
Transactions 2.x
Block 1
hash
Block hash
Transactions 3.x
Block 2
hash
Block hash
Transactions 4.x
Block 3
hash
Block hash
Block 1 Block 2 Block 3 Block 4
@jmvara | @KybeleResearch www.kybele.es
• Hashing in the blockchain
‒ Storing data in a change-sensitive manner
‒ Incur computational costs for changing the data-structure
Hashing
14
Hash“cat” 32an6fi8c43hns
“car” Hash 1an6fi8c43h99
Hash functions are small
computer programs that
transform any kind of data into a
number of fixed length (Bitcoin -
sha256), regardless of the size of
the input data.
@jmvara | @KybeleResearch www.kybele.es
• Hash references are used to create an ordered list of
blocks with hash references to previous block
• Knitting :)
‒ Adding a new block at the end of the blockchain-data-
structure is easy, while changing data located somewhere in the
chain is quite elaborate
• Each block stores the data
into a Merkle tree
Storing data in a change-sensitive manner
15
(Drescher, 2017)
(Drescher, 2017)
@jmvara | @KybeleResearch www.kybele.es
• Hash puzzles
‒ Akin to combination locks to be openned by trial an error:
• A specific lock that requires a unique sequence of numbers in order for
it to be opened.
• Opening is based on sheer diligence
and hard work.
CausingTime-Consuming Computations
16
What data combined with Hello
World! would yield a shortened hash
value with three leading zeros?
THE PUZZLE
Find the nonce that combined with Hello
World! yields a shortened hash value that
starts with three leading zeros
Difficulty
(Drescher, 2017)
@jmvara | @KybeleResearch www.kybele.es
• Making Adding Data Computationally Expensive
Adding a block to the Blockchain
17
Block
Block Header
(Drescher, 2017)
@jmvara | @KybeleResearch www.kybele.es
• Inmutability
‒ Making manipulations stand-out
‒ Enforcing Rewriting the History for
Embedding Changes
‒ Making Adding Data Computationally Expensive
Blockchain Inmutability
18
Manipulate existing Tx
If solving a hash puzzle takes on average 10 minutes,
210 minutes are needed to embed a manipulation in
a Tx that belongs to a block header located 20 blocks
below the current head.
1. Rewrite the Merkle tree of manipulated Tx
2. Rewrite block header of the rewritten tree
3. Rewrite all succeeding block headers up to the
head of the blockchain data-structure
(Drescher, 2017)
@jmvara | @KybeleResearch www.kybele.es
• Blockchain-algorithm allow all nodes of the system
‒ To act as supervisors of their peers
‒ Reward/punish them for adding valid and authorized
transactions
• Every node is in one of two-steps algorithm
‒ Evaluating a new block that was created by others
• If a block is removed from the blockchain-data-structure, then the
reward for adding it is withdrawn from the node that initially received it.
‒ Trying hard to be the next node that creates a new block that
has to be evaluated by all others
• The node whose block was accepted will receive the fees for all
transactions contained in the block as reward.
Blockchain – Rewarding System
19
@jmvara | @KybeleResearch www.kybele.es
EVERYONE RESTRICTED
EVERYONE
Public &
Permissionless
Private &
Permisionless
RESTRICTED
Public &
Permisioned
Private &
Permisioned
BlockchainVersions
20
Reading Access
& Creation of
Tx
Writing
Access
Transparency VS Privacy
SecurityVSSpeed
@jmvara | @KybeleResearch www.kybele.es
• Public
‒ Any one can become a public node in the chain, which allow
them to perform, validate and view transactions in that
network.
• Semi-public or federated (Consortium):
‒ The nodes must be identified before they can
interact on that network (Private & Permissioned).
‒ Recommended for private companies or governments that
want transparency in their actions.
• Private (federated + central control):
‒ Preset private nodes with privileges.
‒ Federated ones, but an entity is in charge of controlling
everything.
BlockchainVersions
21
@jmvara | @KybeleResearch www.kybele.es
• Features of the Bitcoin network
‒ Focused on providing an alternative to conventional currencies
• The cryptocurrency that operates on that network is
Bitcoin(deflationary).
‒ Rewards for block validation
• Features of the Ethereum network
‒ Focused on Smart Contracts and dapp execution (EVM)
• The cryptocurrency that operates on that network is Ether
(inflationary)
– Merely a way to facilitate and monetize the opetarion of Ethereum
• Rewards for block validation, transaction validation and
Smart Contracts execution.
Most Popular Blockchains (or so …)
22
Blockchain as
a Data Store
Blockchain as a
COMPUTATIONAL
INFRASTRUCTURE
@jmvara | @KybeleResearch www.kybele.es
• Block generation
Block Generation / Consensus
23
Proof of Work
Proof of stake
Commision
guaranteed
Transaction commision
executed on the block
(Ethereum)
1 32 4
5
6
7
@jmvara | @KybeleResearch www.kybele.es
• Block generation
• The probability of mining a block is proportional to the
amount of cryptocurrency available to the miner.
‒ Highest priority for users who have more currency
because they are the most interested in maintaining
the ecosystem correctly
• Advantages:
‒ Energy saving
• Computational power is less necessary
than in PoW in order to validate a block.
Block Generation / Consensus
24
Proof of work
Proof of Stake
Economic
GameTheory
@jmvara | @KybeleResearch www.kybele.es
• Developers
‒ Implement the protocol.
• Users
‒ Connect to the network to perform transactions
‒ Wallet
• Miners
‒ Responsible for validating the blocks where transactions are
recorded in exchange of rewards.
‒ Pools: Set of miners that come together to mine blocks in a
blockchain network
Blockchain Actors
25
Public key
Private key
@jmvara | @KybeleResearch www.kybele.es
• Sports betting exchange and
lottery applications:
‒ Peerplays,Wagger
• Academic credentials:
‒ MIT, Cyprus
• Supply chains:
‒ Carrefour, Nestle.
• Secure digital identity solutions:
‒ Illinois state
Success Stories
26
• Medical data register
‒ MedRec.
@jmvara | @KybeleResearch www.kybele.es
Agenda
27
Blockchain
Smart Contracts
Bringing models to the rescue
The road ahead
2
1
3
4
@jmvara | @KybeleResearch www.kybele.es
• Computer programs
‒ Hosted on Ethereum
‒ Executes autonomously the clauses collected in it when the
conditions are satisfied
• DTL as a DDBB
• Smart Contracts as triggers or microservices where the business logic
transacting with that data lives
‒ Blockchain technology “Sets in stone” the agreement
• The contract inherits trust-less, immutability, transparency …
Smart Contracts
28
Szabo, N. (1996). Smart contracts: building blocks for digital
markets. EXTROPY: The Journal of Transhumanist
Thought,(16), 18, 2.
1. Conditions are programmed
2. Implied parties sign the
conditions (program)
3. Contract is placed into a
blockchain so no one could
modify it
VSConventionalContracts
• A program does not leave space
to different interpretations:
disambiguation
• No need of a trusted third-party
à ↯Transaction Costs
• Time-efficient
• Data Storage (future disputes)
@jmvara | @KybeleResearch www.kybele.es
An instance of program code that
runs in the blockchain
How does a Smart Contract work?
29
(Delmolino et al., 2016)
Smart Contract Model
1. User create the contract: transaction posting
a) Code cannot be changed
b) Storage file stored in the blockchain
2. Contract is executed upon message received (either users or contracts)
a. Read/write from its file
b. Recieve / Send money from its account balance from/to users (contracts)
invoke the contract
3. Miners reach consensus on the output of the execution and update the
blockchain accordingly
Program code | Storage file | Account balance
@jmvara | @KybeleResearch www.kybele.es
An instance of program code that
runs in the blockchain
How does a Smart Contract work?
30
(Delmolino et al., 2016)
Contract INVOCATION – Tx as function calls
• Contract code will be invoked whenever it receives a Tx from a user
• Multiple entry points of execution – each one is defined as a function
o After processing the message, contract can return value back to the sender
• The content of the Tx will specify the entry point at which the contract’s will be
invoked
GAS – DISCOURAGING OVER CONSUMPTION OR
RESOURCES
• The user who creates a Tx must spend currency to purchase gas
• Each program instruction consumes gas
• If gas runs out before Tx reaching an ordinary point, exception raised
Program code | Storage file | Account balance
@jmvara | @KybeleResearch www.kybele.es
• Investment
• Payment
Smart Contracts-based crowdlending
31
https://www.crowdlending.es/blog/que-es-ethic-hub
@jmvara | @KybeleResearch www.kybele.es
Programming Smart Contracts
32
Similar to a Class in
any OOPL
Libraries & Interfaces
Global variables
Events / Modifiers
Contract signature (is)
Constructor
Functions
@jmvara | @KybeleResearch www.kybele.es
Programming Smart Contracts
33
Name
Compiler version
State variables
Constructor
Modifiers
Events
Functions
@jmvara | @KybeleResearch www.kybele.es
Dealing with Smart Contracts - Issues
34
Learning Curve
• Alharby, M., Aldweesh, A., & van Moorsel, A. (2018).
Blockchain-based smart contracts: A systematic mapping study of
academic research (2018). In Proceedings of the 2018 International
Conference on Cloud Computing, Big Data and Blockchain.
IT – Business Gap
• Mik, E. (2017). Smart contracts: terminology, technical
limitations and real world complexity. Law, Innovation and
Technology, 9(2), 269-300.
• Bosu, A., Iqbal, A., Shahriyar, R., & Chakraborty, P. (2019).
Understanding the motivations, challenges and needs of
blockchain software developers: A survey. Empirical Software
Engineering, 24(4), 2636-2673.
Security Issues
• Mavridou, A., & Laszka, A. (2018, February). Designing secure
ethereum smart contracts: A finite state machine based approach.
In International Conference on Financial Cryptography and Data
Security (pp. 523-540). Springer, Berlin, Heidelberg.
“In other words, they're code that does what it's been programmed to do.
If the business rules ... have been defined badly and/or the programmer
doesn't do a good job, the result is going to be a mess, and, even if
programmed correctly, a smart contract isn't smart – it just functions as
designed.”
What's a smart contract (and how does it work)?
Computer World, Jul 29 (2019)
@jmvara | @KybeleResearch www.kybele.es
• [Formal] verification
of Smart Contracts
• DSL-based
‒ Legal principles-based DSL (Adico-Solidity).
‒ Natural language-based (SmaCoNat)
• Templates for
Smart Contracts
Dealing with Smart Contracts – Proposals (I)
35
Bhargavan, K., Delignat-Lavaud, A., Fournet, C.,
Gollamudi, A., Gonthier, G., Kobeissi, N., ... &
Zanella-Béguelin, S. (2016, October). Formal
verification of smart contracts: Short paper.
In Proceedings of the 2016 ACM Workshop on
Programming Languages and Analysis for Security (pp.
91-96). ACM.
Bragagnolo, S., Rocha, H., Denker, M., &
Ducasse, S. (2018, March). SmartInspect:
solidity smart contract inspector. In 2018
International Workshop on Blockchain Oriented
Software Engineering (IWBOSE) (pp. 9-18).
IEEE.
Frantz, C. K., & Nowostawski, M. (2016,
September). From institutions to code:
Towards automated generation of smart
contracts. In 2016 IEEE 1st International
Workshops on Foundations and Applications of
Self* Systems (FAS* W) (pp. 210-215).
IEEE.
Regnath, E., & Steinhorst, S. (2018,
September). SmaCoNat: Smart
Contracts in Natural Language.
In 2018 Forum on Specification &
Design Languages (FDL) (pp. 5-16).
IEEE.
Clack, C. D., Bakshi, V. A., & Braine, L. (2016). Smart contract templates:
foundations, design landscape and research directions. arXiv preprint
arXiv:1608.00771.
@jmvara | @KybeleResearch www.kybele.es
• MDE-based
‒ Both use MDE to map the business process (BPMN) into a
smart contract.
‒ Lorikeet need to extend the BPMN notation (2 elements)
Dealing with Smart Contracts – Proposals (II)
36
Tran, A. B., Lu, Q., & Weber, I. (2018). Lorikeet: A Model-
Driven Engineering Tool for Blockchain-Based Business
Process Execution and Asset Management. In BPM
(Dissertation/Demos/Industry) (pp. 56-60).
López-Pintado, O., García-Bañuelos, L., Dumas, M., &
Weber, I. (2017, September). Caterpillar: A Blockchain-
Based Business Process Management System. In BPM
(Demos).
@jmvara | @KybeleResearch www.kybele.es
Agenda
37
Blockchain
Smart Contracts
Bringing models to the rescue
The road ahead
2
1
3
4
@jmvara | @KybeleResearch www.kybele.es
Our proposal
38
Smart Contracts
specification
process
Custom Clauses
specification process
SmaC –Textual
DSL for Smart
Contracts
modelling [Block-based]
Graphical Concrete
Syntax
Form-based
Concrete Syntax
SmaC
models
.sm2
Smart
Contract
(.sol)
Methodological
Proposal
Technological
Proposal
Transformación
m2te3Value
models
M2m
Tx
m2t & t2mTx
@jmvara | @KybeleResearch www.kybele.es
MDE Advantages
39
• Define and enrich customized textual structures
‒ E.g: gas control in loops to avoid
• Reduce the learning curve
‒ Auto-completion
‒ Syntactical validation
‒ QuickFixes
‒ Good practices
‒ Auto-documentation …
• Development of technological bridges
‒ Close the gap between business professionals and developers
Cabot, J. Lightweight Model-Driven Engineeering. Les journées
nationales du GDR GPL. Jun 15, 2017
@jmvara | @KybeleResearch www.kybele.es
• What is Xtext?
‒ Framework for textual DSLs development
‒ Xtend (Java-like) for the development of validations, quickfixes,
etc.
‒ Ecore metamodel automatically generated from the grammar.
Xtext
40
@jmvara | @KybeleResearch www.kybele.es
• How to develop a textual language?
1. Write the grammar
a) Define the terminals.
b) Define the rules.
Develop a textual language using Xtext(I)
41
@jmvara | @KybeleResearch www.kybele.es
• How to develop a textual language?
3. Generate language artifacts.
Develop a textual language using Xtext(II)
42
@jmvara | @KybeleResearch www.kybele.es
• How to develop a textual language?
4. Run the Generated Eclipse plug-in.
Develop a textual language using Xtext(II)
43
ConformsTo
@jmvara | @KybeleResearch www.kybele.es
• How to develop a textual language?
5. [Generate Code Generator - Xtend]
6. [UnitTesting]
7. [Creating CustomValidation Rules]
Develop a textual language using Xtext(II)
44
Including
quickfixes
@jmvara | @KybeleResearch www.kybele.es
Example: Safe Remote Purchase
45
• SmaC in action
• Safe Remote Purchase in Solidity
documentation
https://jacksonng.org/Safe-Remote-Purchase-1
Escrow
services
@jmvara | @KybeleResearch www.kybele.es
Business (Process) Modeling
Canvas e3value
Service
Blueprint
PCN BPMN
@jmvara | @KybeleResearch www.kybele.es
e3value
47
• Business modeling notation
‒ Focused on representing the value interchanges between the
different actors involved in the provision of a service.
Gordijn, J., & Akkermans, H. (2001). Designing
and evaluating e-business models. IEEE intelligent
Systems, (4), 11-17.
@jmvara | @KybeleResearch www.kybele.es
• Actors
‒ An entity that carries out value activities that allow
him/her/it to increase … profit or utility
• Value Interface
‒ Group the ports through which the actor is willing to make value
interchanges
‒ A form of representation of economic reciprocity of value between actors.
e3value in a nutshell
48
@jmvara | @KybeleResearch www.kybele.es
• Stimulus
‒ Events caused by an actor, trigger come value exchange.
• E.g.: Deliveroo’s customer is hungry
‒ Two types: Start stimulus y Stop stimulus.
• Value Ports
‒ Used by an actor to request
value objects to or from its environment
(directional)
e3value in a nutshell
49
Start
stimulus
Stop
stimulus
@jmvara | @KybeleResearch www.kybele.es
• ValueTransfer
‒ Connect two value ports with each other in order to enable value objects
exchange
• Value Object
‒ Satisfies a particular need or is used to produce other value objects.
e3value in a nutshell
50
@jmvara | @KybeleResearch www.kybele.es
• e3value
Metamodel
• SmaC
Metamodel
Correspondences
51
@jmvara | @KybeleResearch www.kybele.es
ValueTransfer
Value Port
Correspondences Analysis
52
Address / User (Personalized Struct)
Events
Cryptocoins, Services,Assets,Advices
Functions
Smart contract
Compatible
Partially compatible
Actors
Value Object
Value Interface
Stimulus
Market segment
Address Array / Company
(Personalized Struct)
@jmvara | @KybeleResearch www.kybele.es
• Adress ⬄ Actors
Correspondences Analysis
53
Actors
@jmvara | @KybeleResearch www.kybele.es
• Smart contract ⥄Value Interface(s)
Correspondences Analysis
54
@jmvara | @KybeleResearch www.kybele.es
• Events ⬄ Start stimulus
Correspondences Analysis
55
Events
@jmvara | @KybeleResearch www.kybele.es
• Functions ⬄Value Ports &ValueTransfer
Correspondences Analysis
56
Functions
@jmvara | @KybeleResearch www.kybele.es
• Notifications, Badges, Permissions … ⬄Value Objects
Correspondences Analysis
57
Advice
Badge
@jmvara | @KybeleResearch www.kybele.es
Visualization
58
@jmvara | @KybeleResearch www.kybele.es
Agenda
59
Blockchain
Smart Contracts
Bringing models to the rescue
The road ahead
2
1
3
4
@jmvara | @KybeleResearch www.kybele.es
• Blockchain as a way to improve p2p systems
‒ Hashing / Asymmetric Cryptography
‒ Public ledger as a distributed DDBB
• More recent blockchain networks providing a
computational infrastructure
‒ Trust-less | Immutability |Transparency
‒ Disambiguation + Disintermediation
• Smart Contracts as the way to explode such
infrastructure
‒ IT – Strategy gap
‒ Tooling needed
Recap
60
Raise the level of abstraction at which
Smart Contracts are developed /designed
@jmvara | @KybeleResearch www.kybele.es
Recap
61
Raise the level of abstraction at which
Smart Contracts are developed /designed
SmaC
MDE to the rescue
@jmvara | @KybeleResearch www.kybele.es
The road ahead
62
• SmaC validation
• Technological Bridges development
‒ m2m & m2t transfos.
• Graphical concrete syntaxes development
• Extend e3Value with smart contract elements non
directly matched
‒ Modifiers.
• Enable automatic deploying mechanisms
@jmvara | @KybeleResearch www.kybele.es
• Delmolino, K.,Arnett, M., Kosba,A., Miller,A., & Shi, E. (2016, February). Step by
step towards creating a safe smart contract: Lessons and insights from a
cryptocurrency lab. In International Conference on Financial Cryptography and
Data Security (pp. 79-94). Springer, Berlin, Heidelberg.
• Drescher, D. Blockchain Basics:A Non-technical Introduction in 25 Steps, 1st edn.
Apress, Frankfurt am Main (2017).
• Escrow Service as a Smart Contract:The Business Logic. Jackson Ng. May 20,
2018. https://jacksonng.org/Safe-Remote-Purchase-1
• Gordijn, J., & Akkermans, H. (2001). Designing and evaluating e-business models.
IEEE intelligent Systems, (4), 11-17.
• Xtext Documentation: https://www.eclipse.org/Xtext/documentation/
• Xu, X.,Weber, I., & Staples, M. (2019). Architecture for blockchain applications (pp.
1-307). Berlin, Germany: Springer.
Credits
63

More Related Content

What's hot

Bitcoin blockchains and distributed satellite management control
Bitcoin blockchains and distributed satellite management controlBitcoin blockchains and distributed satellite management control
Bitcoin blockchains and distributed satellite management controlramycaspi
 
Analysing Data from Blockchains - Keynote @ SOCCA 2020
Analysing Data from Blockchains - Keynote @ SOCCA 2020Analysing Data from Blockchains - Keynote @ SOCCA 2020
Analysing Data from Blockchains - Keynote @ SOCCA 2020Ingo Weber
 
Decentralization in blockchain
Decentralization in blockchainDecentralization in blockchain
Decentralization in blockchainSaravanan T.M
 
V SYSTEMS Whitepaper_EN
V SYSTEMS Whitepaper_ENV SYSTEMS Whitepaper_EN
V SYSTEMS Whitepaper_ENV SYSTEMS
 
Why Blockchain Matters to Big Data - Big Data London Meetup - Nov 3, 2016
Why Blockchain Matters to Big Data - Big Data London Meetup - Nov 3, 2016Why Blockchain Matters to Big Data - Big Data London Meetup - Nov 3, 2016
Why Blockchain Matters to Big Data - Big Data London Meetup - Nov 3, 2016BigchainDB
 
Log Mining: Beyond Log Analysis
Log Mining: Beyond Log AnalysisLog Mining: Beyond Log Analysis
Log Mining: Beyond Log AnalysisAnton Chuvakin
 
Blockchain Security and Demonstration
Blockchain Security and DemonstrationBlockchain Security and Demonstration
Blockchain Security and DemonstrationYao Yao
 
Software Architecture and Model-Driven Engineering for Blockchain
Software Architecture and Model-Driven Engineering for BlockchainSoftware Architecture and Model-Driven Engineering for Blockchain
Software Architecture and Model-Driven Engineering for BlockchainIngo Weber
 
Blockchain technology
Blockchain technologyBlockchain technology
Blockchain technologyAayt Bahaa
 
Blockchain Technology
Blockchain TechnologyBlockchain Technology
Blockchain TechnologyRashi Singh
 
IDC - Blockchain Threat Model
IDC - Blockchain Threat ModelIDC - Blockchain Threat Model
IDC - Blockchain Threat ModelPeteLind
 
Block Chain meets Big Data
Block Chain meets Big DataBlock Chain meets Big Data
Block Chain meets Big DataVihang Patel
 
Is there a Blockchain Future for Healthcare?
Is there a Blockchain Future for Healthcare?Is there a Blockchain Future for Healthcare?
Is there a Blockchain Future for Healthcare?Jody Ranck
 
Block Chain as a Platform February 2015 - LERNER Consulting
Block Chain as a Platform February 2015 - LERNER ConsultingBlock Chain as a Platform February 2015 - LERNER Consulting
Block Chain as a Platform February 2015 - LERNER ConsultingLERNER Consulting
 
Blockchain Beyond Finance - Cronos Groep - Jan 17, 2017
 Blockchain Beyond Finance - Cronos Groep - Jan 17, 2017 Blockchain Beyond Finance - Cronos Groep - Jan 17, 2017
Blockchain Beyond Finance - Cronos Groep - Jan 17, 2017BigchainDB
 
Blockchain: Background and Data61 Research Overview
Blockchain: Background and Data61 Research OverviewBlockchain: Background and Data61 Research Overview
Blockchain: Background and Data61 Research OverviewIngo Weber
 
Blockchain in Insurance 101
Blockchain in Insurance 101Blockchain in Insurance 101
Blockchain in Insurance 101Peter Ing
 
Icsa2018 blockchain tutorial
Icsa2018 blockchain tutorialIcsa2018 blockchain tutorial
Icsa2018 blockchain tutorialLen Bass
 
Benchmark and comparison between hyperledger and MySQL
Benchmark and comparison between hyperledger and MySQLBenchmark and comparison between hyperledger and MySQL
Benchmark and comparison between hyperledger and MySQLTELKOMNIKA JOURNAL
 
A database for the planet - Scot Chain Edinburgh - Nov 11, 2016
A database for the planet - Scot Chain Edinburgh - Nov 11, 2016A database for the planet - Scot Chain Edinburgh - Nov 11, 2016
A database for the planet - Scot Chain Edinburgh - Nov 11, 2016BigchainDB
 

What's hot (20)

Bitcoin blockchains and distributed satellite management control
Bitcoin blockchains and distributed satellite management controlBitcoin blockchains and distributed satellite management control
Bitcoin blockchains and distributed satellite management control
 
Analysing Data from Blockchains - Keynote @ SOCCA 2020
Analysing Data from Blockchains - Keynote @ SOCCA 2020Analysing Data from Blockchains - Keynote @ SOCCA 2020
Analysing Data from Blockchains - Keynote @ SOCCA 2020
 
Decentralization in blockchain
Decentralization in blockchainDecentralization in blockchain
Decentralization in blockchain
 
V SYSTEMS Whitepaper_EN
V SYSTEMS Whitepaper_ENV SYSTEMS Whitepaper_EN
V SYSTEMS Whitepaper_EN
 
Why Blockchain Matters to Big Data - Big Data London Meetup - Nov 3, 2016
Why Blockchain Matters to Big Data - Big Data London Meetup - Nov 3, 2016Why Blockchain Matters to Big Data - Big Data London Meetup - Nov 3, 2016
Why Blockchain Matters to Big Data - Big Data London Meetup - Nov 3, 2016
 
Log Mining: Beyond Log Analysis
Log Mining: Beyond Log AnalysisLog Mining: Beyond Log Analysis
Log Mining: Beyond Log Analysis
 
Blockchain Security and Demonstration
Blockchain Security and DemonstrationBlockchain Security and Demonstration
Blockchain Security and Demonstration
 
Software Architecture and Model-Driven Engineering for Blockchain
Software Architecture and Model-Driven Engineering for BlockchainSoftware Architecture and Model-Driven Engineering for Blockchain
Software Architecture and Model-Driven Engineering for Blockchain
 
Blockchain technology
Blockchain technologyBlockchain technology
Blockchain technology
 
Blockchain Technology
Blockchain TechnologyBlockchain Technology
Blockchain Technology
 
IDC - Blockchain Threat Model
IDC - Blockchain Threat ModelIDC - Blockchain Threat Model
IDC - Blockchain Threat Model
 
Block Chain meets Big Data
Block Chain meets Big DataBlock Chain meets Big Data
Block Chain meets Big Data
 
Is there a Blockchain Future for Healthcare?
Is there a Blockchain Future for Healthcare?Is there a Blockchain Future for Healthcare?
Is there a Blockchain Future for Healthcare?
 
Block Chain as a Platform February 2015 - LERNER Consulting
Block Chain as a Platform February 2015 - LERNER ConsultingBlock Chain as a Platform February 2015 - LERNER Consulting
Block Chain as a Platform February 2015 - LERNER Consulting
 
Blockchain Beyond Finance - Cronos Groep - Jan 17, 2017
 Blockchain Beyond Finance - Cronos Groep - Jan 17, 2017 Blockchain Beyond Finance - Cronos Groep - Jan 17, 2017
Blockchain Beyond Finance - Cronos Groep - Jan 17, 2017
 
Blockchain: Background and Data61 Research Overview
Blockchain: Background and Data61 Research OverviewBlockchain: Background and Data61 Research Overview
Blockchain: Background and Data61 Research Overview
 
Blockchain in Insurance 101
Blockchain in Insurance 101Blockchain in Insurance 101
Blockchain in Insurance 101
 
Icsa2018 blockchain tutorial
Icsa2018 blockchain tutorialIcsa2018 blockchain tutorial
Icsa2018 blockchain tutorial
 
Benchmark and comparison between hyperledger and MySQL
Benchmark and comparison between hyperledger and MySQLBenchmark and comparison between hyperledger and MySQL
Benchmark and comparison between hyperledger and MySQL
 
A database for the planet - Scot Chain Edinburgh - Nov 11, 2016
A database for the planet - Scot Chain Edinburgh - Nov 11, 2016A database for the planet - Scot Chain Edinburgh - Nov 11, 2016
A database for the planet - Scot Chain Edinburgh - Nov 11, 2016
 

Similar to Towards high-level specification of Smart-Contracts

Introduction to Blockchain and Smart Contracts
Introduction to Blockchain and Smart ContractsIntroduction to Blockchain and Smart Contracts
Introduction to Blockchain and Smart ContractsSaad Zaher
 
Blockchain 101 by imran bashir
Blockchain 101  by imran bashirBlockchain 101  by imran bashir
Blockchain 101 by imran bashirImran Bashir
 
Доклад Владимира Бичева на третьем митапе сообщества блокчейн-разработчиков С...
Доклад Владимира Бичева на третьем митапе сообщества блокчейн-разработчиков С...Доклад Владимира Бичева на третьем митапе сообщества блокчейн-разработчиков С...
Доклад Владимира Бичева на третьем митапе сообщества блокчейн-разработчиков С...Дмитрий Плахов
 
Blockchain and BPM - Reflections on Four Years of Research and Applications
Blockchain and BPM - Reflections on Four Years of Research and ApplicationsBlockchain and BPM - Reflections on Four Years of Research and Applications
Blockchain and BPM - Reflections on Four Years of Research and ApplicationsIngo Weber
 
Blockchain
BlockchainBlockchain
BlockchainSai Nath
 
Blockchain: No Thunder No Wonder
Blockchain: No Thunder No Wonder  Blockchain: No Thunder No Wonder
Blockchain: No Thunder No Wonder Ali Al-Sherbaz
 
Blockchain Application Design and Development, and the Case of Programmable M...
Blockchain Application Design and Development, and the Case of Programmable M...Blockchain Application Design and Development, and the Case of Programmable M...
Blockchain Application Design and Development, and the Case of Programmable M...Ingo Weber
 
Blockchain Technology and Its Application in Artificial Intelligence and Mach...
Blockchain Technology and Its Application in Artificial Intelligence and Mach...Blockchain Technology and Its Application in Artificial Intelligence and Mach...
Blockchain Technology and Its Application in Artificial Intelligence and Mach...Dr. Kotrappa Sirbi
 
Introduction to blockchain
Introduction to blockchainIntroduction to blockchain
Introduction to blockchainKrzysztof Bury
 
Block chain fundamentals and hyperledger
Block chain fundamentals and hyperledgerBlock chain fundamentals and hyperledger
Block chain fundamentals and hyperledgersendhilkumarks
 
Blockchain mechanism for IET Mauritius Network
Blockchain mechanism for IET Mauritius NetworkBlockchain mechanism for IET Mauritius Network
Blockchain mechanism for IET Mauritius Networkcharles okaformbah
 
Blockchain Technologies
Blockchain TechnologiesBlockchain Technologies
Blockchain TechnologiesAdri Jovin
 
Blockchain Fundamental_KIPMI_2022.02.26.pdf
Blockchain Fundamental_KIPMI_2022.02.26.pdfBlockchain Fundamental_KIPMI_2022.02.26.pdf
Blockchain Fundamental_KIPMI_2022.02.26.pdfadinugroho751867
 
chapter 4 Selected Topics in computer.pptx
chapter 4 Selected Topics in computer.pptxchapter 4 Selected Topics in computer.pptx
chapter 4 Selected Topics in computer.pptxAschalewAyele2
 
chapter 4 Selected Topics in computer.pptx
chapter 4 Selected Topics in computer.pptxchapter 4 Selected Topics in computer.pptx
chapter 4 Selected Topics in computer.pptxAschalewAyele2
 

Similar to Towards high-level specification of Smart-Contracts (20)

Introduction to Blockchain and Smart Contracts
Introduction to Blockchain and Smart ContractsIntroduction to Blockchain and Smart Contracts
Introduction to Blockchain and Smart Contracts
 
Blockchain 101 by imran bashir
Blockchain 101  by imran bashirBlockchain 101  by imran bashir
Blockchain 101 by imran bashir
 
Доклад Владимира Бичева на третьем митапе сообщества блокчейн-разработчиков С...
Доклад Владимира Бичева на третьем митапе сообщества блокчейн-разработчиков С...Доклад Владимира Бичева на третьем митапе сообщества блокчейн-разработчиков С...
Доклад Владимира Бичева на третьем митапе сообщества блокчейн-разработчиков С...
 
Blockchain and BPM - Reflections on Four Years of Research and Applications
Blockchain and BPM - Reflections on Four Years of Research and ApplicationsBlockchain and BPM - Reflections on Four Years of Research and Applications
Blockchain and BPM - Reflections on Four Years of Research and Applications
 
Blockchain
BlockchainBlockchain
Blockchain
 
module-1.pptx
module-1.pptxmodule-1.pptx
module-1.pptx
 
Blockchain: No Thunder No Wonder
Blockchain: No Thunder No Wonder  Blockchain: No Thunder No Wonder
Blockchain: No Thunder No Wonder
 
BlockChain.pptx
BlockChain.pptxBlockChain.pptx
BlockChain.pptx
 
Blockchain Application Design and Development, and the Case of Programmable M...
Blockchain Application Design and Development, and the Case of Programmable M...Blockchain Application Design and Development, and the Case of Programmable M...
Blockchain Application Design and Development, and the Case of Programmable M...
 
Blockchain Technology and Its Application in Artificial Intelligence and Mach...
Blockchain Technology and Its Application in Artificial Intelligence and Mach...Blockchain Technology and Its Application in Artificial Intelligence and Mach...
Blockchain Technology and Its Application in Artificial Intelligence and Mach...
 
Introduction to blockchain
Introduction to blockchainIntroduction to blockchain
Introduction to blockchain
 
BlockChain-1.pptx
BlockChain-1.pptxBlockChain-1.pptx
BlockChain-1.pptx
 
Block chain fundamentals and hyperledger
Block chain fundamentals and hyperledgerBlock chain fundamentals and hyperledger
Block chain fundamentals and hyperledger
 
Blockchain mechanism for IET Mauritius Network
Blockchain mechanism for IET Mauritius NetworkBlockchain mechanism for IET Mauritius Network
Blockchain mechanism for IET Mauritius Network
 
Blockchain Technologies
Blockchain TechnologiesBlockchain Technologies
Blockchain Technologies
 
Blockchain Fundamental_KIPMI_2022.02.26.pdf
Blockchain Fundamental_KIPMI_2022.02.26.pdfBlockchain Fundamental_KIPMI_2022.02.26.pdf
Blockchain Fundamental_KIPMI_2022.02.26.pdf
 
Blockchain 101
Blockchain 101Blockchain 101
Blockchain 101
 
Blockchains 101
Blockchains 101Blockchains 101
Blockchains 101
 
chapter 4 Selected Topics in computer.pptx
chapter 4 Selected Topics in computer.pptxchapter 4 Selected Topics in computer.pptx
chapter 4 Selected Topics in computer.pptx
 
chapter 4 Selected Topics in computer.pptx
chapter 4 Selected Topics in computer.pptxchapter 4 Selected Topics in computer.pptx
chapter 4 Selected Topics in computer.pptx
 

More from Facultad de Informática UCM

¿Por qué debemos seguir trabajando en álgebra lineal?
¿Por qué debemos seguir trabajando en álgebra lineal?¿Por qué debemos seguir trabajando en álgebra lineal?
¿Por qué debemos seguir trabajando en álgebra lineal?Facultad de Informática UCM
 
TECNOPOLÍTICA Y ACTIVISMO DE DATOS: EL MAPEO COMO FORMA DE RESILIENCIA ANTE L...
TECNOPOLÍTICA Y ACTIVISMO DE DATOS: EL MAPEO COMO FORMA DE RESILIENCIA ANTE L...TECNOPOLÍTICA Y ACTIVISMO DE DATOS: EL MAPEO COMO FORMA DE RESILIENCIA ANTE L...
TECNOPOLÍTICA Y ACTIVISMO DE DATOS: EL MAPEO COMO FORMA DE RESILIENCIA ANTE L...Facultad de Informática UCM
 
DRAC: Designing RISC-V-based Accelerators for next generation Computers
DRAC: Designing RISC-V-based Accelerators for next generation ComputersDRAC: Designing RISC-V-based Accelerators for next generation Computers
DRAC: Designing RISC-V-based Accelerators for next generation ComputersFacultad de Informática UCM
 
Tendencias en el diseño de procesadores con arquitectura Arm
Tendencias en el diseño de procesadores con arquitectura ArmTendencias en el diseño de procesadores con arquitectura Arm
Tendencias en el diseño de procesadores con arquitectura ArmFacultad de Informática UCM
 
Introduction to Quantum Computing and Quantum Service Oriented Computing
Introduction to Quantum Computing and Quantum Service Oriented ComputingIntroduction to Quantum Computing and Quantum Service Oriented Computing
Introduction to Quantum Computing and Quantum Service Oriented ComputingFacultad de Informática UCM
 
Inteligencia Artificial en la atención sanitaria del futuro
Inteligencia Artificial en la atención sanitaria del futuroInteligencia Artificial en la atención sanitaria del futuro
Inteligencia Artificial en la atención sanitaria del futuroFacultad de Informática UCM
 
Design Automation Approaches for Real-Time Edge Computing for Science Applic...
 Design Automation Approaches for Real-Time Edge Computing for Science Applic... Design Automation Approaches for Real-Time Edge Computing for Science Applic...
Design Automation Approaches for Real-Time Edge Computing for Science Applic...Facultad de Informática UCM
 
Estrategias de navegación para robótica móvil de campo: caso de estudio proye...
Estrategias de navegación para robótica móvil de campo: caso de estudio proye...Estrategias de navegación para robótica móvil de campo: caso de estudio proye...
Estrategias de navegación para robótica móvil de campo: caso de estudio proye...Facultad de Informática UCM
 
Fault-tolerance Quantum computation and Quantum Error Correction
Fault-tolerance Quantum computation and Quantum Error CorrectionFault-tolerance Quantum computation and Quantum Error Correction
Fault-tolerance Quantum computation and Quantum Error CorrectionFacultad de Informática UCM
 
Cómo construir un chatbot inteligente sin morir en el intento
Cómo construir un chatbot inteligente sin morir en el intentoCómo construir un chatbot inteligente sin morir en el intento
Cómo construir un chatbot inteligente sin morir en el intentoFacultad de Informática UCM
 
Automatic generation of hardware memory architectures for HPC
Automatic generation of hardware memory architectures for HPCAutomatic generation of hardware memory architectures for HPC
Automatic generation of hardware memory architectures for HPCFacultad de Informática UCM
 
Hardware/software security contracts: Principled foundations for building sec...
Hardware/software security contracts: Principled foundations for building sec...Hardware/software security contracts: Principled foundations for building sec...
Hardware/software security contracts: Principled foundations for building sec...Facultad de Informática UCM
 
Jose carlossancho slidesLa seguridad en el desarrollo de software implementad...
Jose carlossancho slidesLa seguridad en el desarrollo de software implementad...Jose carlossancho slidesLa seguridad en el desarrollo de software implementad...
Jose carlossancho slidesLa seguridad en el desarrollo de software implementad...Facultad de Informática UCM
 
Redes neuronales y reinforcement learning. Aplicación en energía eólica.
Redes neuronales y reinforcement learning. Aplicación en energía eólica.Redes neuronales y reinforcement learning. Aplicación en energía eólica.
Redes neuronales y reinforcement learning. Aplicación en energía eólica.Facultad de Informática UCM
 
Challenges and Opportunities for AI and Data analytics in Offshore wind
Challenges and Opportunities for AI and Data analytics in Offshore windChallenges and Opportunities for AI and Data analytics in Offshore wind
Challenges and Opportunities for AI and Data analytics in Offshore windFacultad de Informática UCM
 

More from Facultad de Informática UCM (20)

¿Por qué debemos seguir trabajando en álgebra lineal?
¿Por qué debemos seguir trabajando en álgebra lineal?¿Por qué debemos seguir trabajando en álgebra lineal?
¿Por qué debemos seguir trabajando en álgebra lineal?
 
TECNOPOLÍTICA Y ACTIVISMO DE DATOS: EL MAPEO COMO FORMA DE RESILIENCIA ANTE L...
TECNOPOLÍTICA Y ACTIVISMO DE DATOS: EL MAPEO COMO FORMA DE RESILIENCIA ANTE L...TECNOPOLÍTICA Y ACTIVISMO DE DATOS: EL MAPEO COMO FORMA DE RESILIENCIA ANTE L...
TECNOPOLÍTICA Y ACTIVISMO DE DATOS: EL MAPEO COMO FORMA DE RESILIENCIA ANTE L...
 
DRAC: Designing RISC-V-based Accelerators for next generation Computers
DRAC: Designing RISC-V-based Accelerators for next generation ComputersDRAC: Designing RISC-V-based Accelerators for next generation Computers
DRAC: Designing RISC-V-based Accelerators for next generation Computers
 
uElectronics ongoing activities at ESA
uElectronics ongoing activities at ESAuElectronics ongoing activities at ESA
uElectronics ongoing activities at ESA
 
Tendencias en el diseño de procesadores con arquitectura Arm
Tendencias en el diseño de procesadores con arquitectura ArmTendencias en el diseño de procesadores con arquitectura Arm
Tendencias en el diseño de procesadores con arquitectura Arm
 
Formalizing Mathematics in Lean
Formalizing Mathematics in LeanFormalizing Mathematics in Lean
Formalizing Mathematics in Lean
 
Introduction to Quantum Computing and Quantum Service Oriented Computing
Introduction to Quantum Computing and Quantum Service Oriented ComputingIntroduction to Quantum Computing and Quantum Service Oriented Computing
Introduction to Quantum Computing and Quantum Service Oriented Computing
 
Computer Design Concepts for Machine Learning
Computer Design Concepts for Machine LearningComputer Design Concepts for Machine Learning
Computer Design Concepts for Machine Learning
 
Inteligencia Artificial en la atención sanitaria del futuro
Inteligencia Artificial en la atención sanitaria del futuroInteligencia Artificial en la atención sanitaria del futuro
Inteligencia Artificial en la atención sanitaria del futuro
 
Design Automation Approaches for Real-Time Edge Computing for Science Applic...
 Design Automation Approaches for Real-Time Edge Computing for Science Applic... Design Automation Approaches for Real-Time Edge Computing for Science Applic...
Design Automation Approaches for Real-Time Edge Computing for Science Applic...
 
Estrategias de navegación para robótica móvil de campo: caso de estudio proye...
Estrategias de navegación para robótica móvil de campo: caso de estudio proye...Estrategias de navegación para robótica móvil de campo: caso de estudio proye...
Estrategias de navegación para robótica móvil de campo: caso de estudio proye...
 
Fault-tolerance Quantum computation and Quantum Error Correction
Fault-tolerance Quantum computation and Quantum Error CorrectionFault-tolerance Quantum computation and Quantum Error Correction
Fault-tolerance Quantum computation and Quantum Error Correction
 
Cómo construir un chatbot inteligente sin morir en el intento
Cómo construir un chatbot inteligente sin morir en el intentoCómo construir un chatbot inteligente sin morir en el intento
Cómo construir un chatbot inteligente sin morir en el intento
 
Automatic generation of hardware memory architectures for HPC
Automatic generation of hardware memory architectures for HPCAutomatic generation of hardware memory architectures for HPC
Automatic generation of hardware memory architectures for HPC
 
Type and proof structures for concurrency
Type and proof structures for concurrencyType and proof structures for concurrency
Type and proof structures for concurrency
 
Hardware/software security contracts: Principled foundations for building sec...
Hardware/software security contracts: Principled foundations for building sec...Hardware/software security contracts: Principled foundations for building sec...
Hardware/software security contracts: Principled foundations for building sec...
 
Jose carlossancho slidesLa seguridad en el desarrollo de software implementad...
Jose carlossancho slidesLa seguridad en el desarrollo de software implementad...Jose carlossancho slidesLa seguridad en el desarrollo de software implementad...
Jose carlossancho slidesLa seguridad en el desarrollo de software implementad...
 
Do you trust your artificial intelligence system?
Do you trust your artificial intelligence system?Do you trust your artificial intelligence system?
Do you trust your artificial intelligence system?
 
Redes neuronales y reinforcement learning. Aplicación en energía eólica.
Redes neuronales y reinforcement learning. Aplicación en energía eólica.Redes neuronales y reinforcement learning. Aplicación en energía eólica.
Redes neuronales y reinforcement learning. Aplicación en energía eólica.
 
Challenges and Opportunities for AI and Data analytics in Offshore wind
Challenges and Opportunities for AI and Data analytics in Offshore windChallenges and Opportunities for AI and Data analytics in Offshore wind
Challenges and Opportunities for AI and Data analytics in Offshore wind
 

Recently uploaded

Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...Call Girls in Nagpur High Profile
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdfSuman Jyoti
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...ranjana rawat
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...tanu pandey
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxfenichawla
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringmulugeta48
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...roncy bisnoi
 
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLPVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLManishPatel169454
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfRagavanV2
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . pptDineshKumar4165
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)simmis5
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdfKamal Acharya
 

Recently uploaded (20)

Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
NFPA 5000 2024 standard .
NFPA 5000 2024 standard                                  .NFPA 5000 2024 standard                                  .
NFPA 5000 2024 standard .
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLPVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 

Towards high-level specification of Smart-Contracts

  • 1. Juan ManuelVara 1: Kybele Research Group | Universidad Rey Juan Carlos @jmvara | @KybeleResearch | @ISE_URJC Towards high-level specification of Smart-Contracts Joint work with Cristian Gómez1, Francisco J. Pérez1, E. Marcos1
  • 2. @jmvara | @KybeleResearch www.kybele.es Agenda 7 Blockchain Smart Contracts Bringing models to the rescue The road ahead 2 1 3 4
  • 3. @jmvara | @KybeleResearch www.kybele.es Blockchain 8 the biggest invention since the emergence of the Internet!! https://www.healthnewsreview.org/wp-content/uploads/2016/12/iStock-487078483.jpg
  • 4. @jmvara | @KybeleResearch www.kybele.es • What is a Blockchain? ‒ A distributed DB + Encryption + Immutability + stored procedures (smart contracts) • A blockchain is a list (chain) of groups (blocks) of transactions • Like traditional DDBBs they can be used for anything a DB is used. • How does it work? ‒ Interested subjects add transactions to the pool ‒ Nodes verify and add them to some block on the ledger ‒ Ledger is replicated among distributed nodes ‒ Eventual consistency • In the absence of centralized control, all nodes eventually achieve consensus about the content of the ledger ‒ Append-only data structure • May add transactions – Nearly imposible to change data Blockchain 9
  • 5. @jmvara | @KybeleResearch www.kybele.es • Why so much hype? ‒ New businesses and business models are expected to arise, but as yet there are not a lot of examples of significant use in production of blockchain systems within industry or government. • Disintermediation ‒ DirectVS Indirect interactions: less processing time and lower costs • (Improved) Peer-to-peer systems ‒ E.g.: music à inmaterial nature / low costs of data transfer Blockchain 10 https://dollarsandsensemagazine.com/wp-content/uploads/2015/02/Depositphotos_5999243_s-e1425140615493.jpg
  • 6. @jmvara | @KybeleResearch www.kybele.es Blockchain 11 A tool for achieving and maintaining integrity in purely distributed peer-to-peer systems … … that consists of an unknown number of peers with unknown reliability and trustworthiness. • Having one witness is good, but having many independent witnesses is the key. • Instead of one ledger, a p2p system of ledgers … Ownership and Witnesses
  • 7. @jmvara | @KybeleResearch www.kybele.es Blockchain Definition 12 The blockchain is a purely distributed peer-to-peer system of ledgers that utilizes a software unit that consist of an algorithm, which negotiates the informational content of ordered and connected blocks of data together with cryptographic and security technologies in order to achieve and maintain its integrity. Drescher, D. Blockchain Basics (2017).
  • 8. @jmvara | @KybeleResearch www.kybele.es • General view of the blockchain THE Block-Chain J 13 Transactions 1.x Block hash Transactions 2.x Block 1 hash Block hash Transactions 3.x Block 2 hash Block hash Transactions 4.x Block 3 hash Block hash Block 1 Block 2 Block 3 Block 4
  • 9. @jmvara | @KybeleResearch www.kybele.es • Hashing in the blockchain ‒ Storing data in a change-sensitive manner ‒ Incur computational costs for changing the data-structure Hashing 14 Hash“cat” 32an6fi8c43hns “car” Hash 1an6fi8c43h99 Hash functions are small computer programs that transform any kind of data into a number of fixed length (Bitcoin - sha256), regardless of the size of the input data.
  • 10. @jmvara | @KybeleResearch www.kybele.es • Hash references are used to create an ordered list of blocks with hash references to previous block • Knitting :) ‒ Adding a new block at the end of the blockchain-data- structure is easy, while changing data located somewhere in the chain is quite elaborate • Each block stores the data into a Merkle tree Storing data in a change-sensitive manner 15 (Drescher, 2017) (Drescher, 2017)
  • 11. @jmvara | @KybeleResearch www.kybele.es • Hash puzzles ‒ Akin to combination locks to be openned by trial an error: • A specific lock that requires a unique sequence of numbers in order for it to be opened. • Opening is based on sheer diligence and hard work. CausingTime-Consuming Computations 16 What data combined with Hello World! would yield a shortened hash value with three leading zeros? THE PUZZLE Find the nonce that combined with Hello World! yields a shortened hash value that starts with three leading zeros Difficulty (Drescher, 2017)
  • 12. @jmvara | @KybeleResearch www.kybele.es • Making Adding Data Computationally Expensive Adding a block to the Blockchain 17 Block Block Header (Drescher, 2017)
  • 13. @jmvara | @KybeleResearch www.kybele.es • Inmutability ‒ Making manipulations stand-out ‒ Enforcing Rewriting the History for Embedding Changes ‒ Making Adding Data Computationally Expensive Blockchain Inmutability 18 Manipulate existing Tx If solving a hash puzzle takes on average 10 minutes, 210 minutes are needed to embed a manipulation in a Tx that belongs to a block header located 20 blocks below the current head. 1. Rewrite the Merkle tree of manipulated Tx 2. Rewrite block header of the rewritten tree 3. Rewrite all succeeding block headers up to the head of the blockchain data-structure (Drescher, 2017)
  • 14. @jmvara | @KybeleResearch www.kybele.es • Blockchain-algorithm allow all nodes of the system ‒ To act as supervisors of their peers ‒ Reward/punish them for adding valid and authorized transactions • Every node is in one of two-steps algorithm ‒ Evaluating a new block that was created by others • If a block is removed from the blockchain-data-structure, then the reward for adding it is withdrawn from the node that initially received it. ‒ Trying hard to be the next node that creates a new block that has to be evaluated by all others • The node whose block was accepted will receive the fees for all transactions contained in the block as reward. Blockchain – Rewarding System 19
  • 15. @jmvara | @KybeleResearch www.kybele.es EVERYONE RESTRICTED EVERYONE Public & Permissionless Private & Permisionless RESTRICTED Public & Permisioned Private & Permisioned BlockchainVersions 20 Reading Access & Creation of Tx Writing Access Transparency VS Privacy SecurityVSSpeed
  • 16. @jmvara | @KybeleResearch www.kybele.es • Public ‒ Any one can become a public node in the chain, which allow them to perform, validate and view transactions in that network. • Semi-public or federated (Consortium): ‒ The nodes must be identified before they can interact on that network (Private & Permissioned). ‒ Recommended for private companies or governments that want transparency in their actions. • Private (federated + central control): ‒ Preset private nodes with privileges. ‒ Federated ones, but an entity is in charge of controlling everything. BlockchainVersions 21
  • 17. @jmvara | @KybeleResearch www.kybele.es • Features of the Bitcoin network ‒ Focused on providing an alternative to conventional currencies • The cryptocurrency that operates on that network is Bitcoin(deflationary). ‒ Rewards for block validation • Features of the Ethereum network ‒ Focused on Smart Contracts and dapp execution (EVM) • The cryptocurrency that operates on that network is Ether (inflationary) – Merely a way to facilitate and monetize the opetarion of Ethereum • Rewards for block validation, transaction validation and Smart Contracts execution. Most Popular Blockchains (or so …) 22 Blockchain as a Data Store Blockchain as a COMPUTATIONAL INFRASTRUCTURE
  • 18. @jmvara | @KybeleResearch www.kybele.es • Block generation Block Generation / Consensus 23 Proof of Work Proof of stake Commision guaranteed Transaction commision executed on the block (Ethereum) 1 32 4 5 6 7
  • 19. @jmvara | @KybeleResearch www.kybele.es • Block generation • The probability of mining a block is proportional to the amount of cryptocurrency available to the miner. ‒ Highest priority for users who have more currency because they are the most interested in maintaining the ecosystem correctly • Advantages: ‒ Energy saving • Computational power is less necessary than in PoW in order to validate a block. Block Generation / Consensus 24 Proof of work Proof of Stake Economic GameTheory
  • 20. @jmvara | @KybeleResearch www.kybele.es • Developers ‒ Implement the protocol. • Users ‒ Connect to the network to perform transactions ‒ Wallet • Miners ‒ Responsible for validating the blocks where transactions are recorded in exchange of rewards. ‒ Pools: Set of miners that come together to mine blocks in a blockchain network Blockchain Actors 25 Public key Private key
  • 21. @jmvara | @KybeleResearch www.kybele.es • Sports betting exchange and lottery applications: ‒ Peerplays,Wagger • Academic credentials: ‒ MIT, Cyprus • Supply chains: ‒ Carrefour, Nestle. • Secure digital identity solutions: ‒ Illinois state Success Stories 26 • Medical data register ‒ MedRec.
  • 22. @jmvara | @KybeleResearch www.kybele.es Agenda 27 Blockchain Smart Contracts Bringing models to the rescue The road ahead 2 1 3 4
  • 23. @jmvara | @KybeleResearch www.kybele.es • Computer programs ‒ Hosted on Ethereum ‒ Executes autonomously the clauses collected in it when the conditions are satisfied • DTL as a DDBB • Smart Contracts as triggers or microservices where the business logic transacting with that data lives ‒ Blockchain technology “Sets in stone” the agreement • The contract inherits trust-less, immutability, transparency … Smart Contracts 28 Szabo, N. (1996). Smart contracts: building blocks for digital markets. EXTROPY: The Journal of Transhumanist Thought,(16), 18, 2. 1. Conditions are programmed 2. Implied parties sign the conditions (program) 3. Contract is placed into a blockchain so no one could modify it VSConventionalContracts • A program does not leave space to different interpretations: disambiguation • No need of a trusted third-party à ↯Transaction Costs • Time-efficient • Data Storage (future disputes)
  • 24. @jmvara | @KybeleResearch www.kybele.es An instance of program code that runs in the blockchain How does a Smart Contract work? 29 (Delmolino et al., 2016) Smart Contract Model 1. User create the contract: transaction posting a) Code cannot be changed b) Storage file stored in the blockchain 2. Contract is executed upon message received (either users or contracts) a. Read/write from its file b. Recieve / Send money from its account balance from/to users (contracts) invoke the contract 3. Miners reach consensus on the output of the execution and update the blockchain accordingly Program code | Storage file | Account balance
  • 25. @jmvara | @KybeleResearch www.kybele.es An instance of program code that runs in the blockchain How does a Smart Contract work? 30 (Delmolino et al., 2016) Contract INVOCATION – Tx as function calls • Contract code will be invoked whenever it receives a Tx from a user • Multiple entry points of execution – each one is defined as a function o After processing the message, contract can return value back to the sender • The content of the Tx will specify the entry point at which the contract’s will be invoked GAS – DISCOURAGING OVER CONSUMPTION OR RESOURCES • The user who creates a Tx must spend currency to purchase gas • Each program instruction consumes gas • If gas runs out before Tx reaching an ordinary point, exception raised Program code | Storage file | Account balance
  • 26. @jmvara | @KybeleResearch www.kybele.es • Investment • Payment Smart Contracts-based crowdlending 31 https://www.crowdlending.es/blog/que-es-ethic-hub
  • 27. @jmvara | @KybeleResearch www.kybele.es Programming Smart Contracts 32 Similar to a Class in any OOPL Libraries & Interfaces Global variables Events / Modifiers Contract signature (is) Constructor Functions
  • 28. @jmvara | @KybeleResearch www.kybele.es Programming Smart Contracts 33 Name Compiler version State variables Constructor Modifiers Events Functions
  • 29. @jmvara | @KybeleResearch www.kybele.es Dealing with Smart Contracts - Issues 34 Learning Curve • Alharby, M., Aldweesh, A., & van Moorsel, A. (2018). Blockchain-based smart contracts: A systematic mapping study of academic research (2018). In Proceedings of the 2018 International Conference on Cloud Computing, Big Data and Blockchain. IT – Business Gap • Mik, E. (2017). Smart contracts: terminology, technical limitations and real world complexity. Law, Innovation and Technology, 9(2), 269-300. • Bosu, A., Iqbal, A., Shahriyar, R., & Chakraborty, P. (2019). Understanding the motivations, challenges and needs of blockchain software developers: A survey. Empirical Software Engineering, 24(4), 2636-2673. Security Issues • Mavridou, A., & Laszka, A. (2018, February). Designing secure ethereum smart contracts: A finite state machine based approach. In International Conference on Financial Cryptography and Data Security (pp. 523-540). Springer, Berlin, Heidelberg. “In other words, they're code that does what it's been programmed to do. If the business rules ... have been defined badly and/or the programmer doesn't do a good job, the result is going to be a mess, and, even if programmed correctly, a smart contract isn't smart – it just functions as designed.” What's a smart contract (and how does it work)? Computer World, Jul 29 (2019)
  • 30. @jmvara | @KybeleResearch www.kybele.es • [Formal] verification of Smart Contracts • DSL-based ‒ Legal principles-based DSL (Adico-Solidity). ‒ Natural language-based (SmaCoNat) • Templates for Smart Contracts Dealing with Smart Contracts – Proposals (I) 35 Bhargavan, K., Delignat-Lavaud, A., Fournet, C., Gollamudi, A., Gonthier, G., Kobeissi, N., ... & Zanella-Béguelin, S. (2016, October). Formal verification of smart contracts: Short paper. In Proceedings of the 2016 ACM Workshop on Programming Languages and Analysis for Security (pp. 91-96). ACM. Bragagnolo, S., Rocha, H., Denker, M., & Ducasse, S. (2018, March). SmartInspect: solidity smart contract inspector. In 2018 International Workshop on Blockchain Oriented Software Engineering (IWBOSE) (pp. 9-18). IEEE. Frantz, C. K., & Nowostawski, M. (2016, September). From institutions to code: Towards automated generation of smart contracts. In 2016 IEEE 1st International Workshops on Foundations and Applications of Self* Systems (FAS* W) (pp. 210-215). IEEE. Regnath, E., & Steinhorst, S. (2018, September). SmaCoNat: Smart Contracts in Natural Language. In 2018 Forum on Specification & Design Languages (FDL) (pp. 5-16). IEEE. Clack, C. D., Bakshi, V. A., & Braine, L. (2016). Smart contract templates: foundations, design landscape and research directions. arXiv preprint arXiv:1608.00771.
  • 31. @jmvara | @KybeleResearch www.kybele.es • MDE-based ‒ Both use MDE to map the business process (BPMN) into a smart contract. ‒ Lorikeet need to extend the BPMN notation (2 elements) Dealing with Smart Contracts – Proposals (II) 36 Tran, A. B., Lu, Q., & Weber, I. (2018). Lorikeet: A Model- Driven Engineering Tool for Blockchain-Based Business Process Execution and Asset Management. In BPM (Dissertation/Demos/Industry) (pp. 56-60). López-Pintado, O., García-Bañuelos, L., Dumas, M., & Weber, I. (2017, September). Caterpillar: A Blockchain- Based Business Process Management System. In BPM (Demos).
  • 32. @jmvara | @KybeleResearch www.kybele.es Agenda 37 Blockchain Smart Contracts Bringing models to the rescue The road ahead 2 1 3 4
  • 33. @jmvara | @KybeleResearch www.kybele.es Our proposal 38 Smart Contracts specification process Custom Clauses specification process SmaC –Textual DSL for Smart Contracts modelling [Block-based] Graphical Concrete Syntax Form-based Concrete Syntax SmaC models .sm2 Smart Contract (.sol) Methodological Proposal Technological Proposal Transformación m2te3Value models M2m Tx m2t & t2mTx
  • 34. @jmvara | @KybeleResearch www.kybele.es MDE Advantages 39 • Define and enrich customized textual structures ‒ E.g: gas control in loops to avoid • Reduce the learning curve ‒ Auto-completion ‒ Syntactical validation ‒ QuickFixes ‒ Good practices ‒ Auto-documentation … • Development of technological bridges ‒ Close the gap between business professionals and developers Cabot, J. Lightweight Model-Driven Engineeering. Les journées nationales du GDR GPL. Jun 15, 2017
  • 35. @jmvara | @KybeleResearch www.kybele.es • What is Xtext? ‒ Framework for textual DSLs development ‒ Xtend (Java-like) for the development of validations, quickfixes, etc. ‒ Ecore metamodel automatically generated from the grammar. Xtext 40
  • 36. @jmvara | @KybeleResearch www.kybele.es • How to develop a textual language? 1. Write the grammar a) Define the terminals. b) Define the rules. Develop a textual language using Xtext(I) 41
  • 37. @jmvara | @KybeleResearch www.kybele.es • How to develop a textual language? 3. Generate language artifacts. Develop a textual language using Xtext(II) 42
  • 38. @jmvara | @KybeleResearch www.kybele.es • How to develop a textual language? 4. Run the Generated Eclipse plug-in. Develop a textual language using Xtext(II) 43 ConformsTo
  • 39. @jmvara | @KybeleResearch www.kybele.es • How to develop a textual language? 5. [Generate Code Generator - Xtend] 6. [UnitTesting] 7. [Creating CustomValidation Rules] Develop a textual language using Xtext(II) 44 Including quickfixes
  • 40. @jmvara | @KybeleResearch www.kybele.es Example: Safe Remote Purchase 45 • SmaC in action • Safe Remote Purchase in Solidity documentation https://jacksonng.org/Safe-Remote-Purchase-1 Escrow services
  • 41. @jmvara | @KybeleResearch www.kybele.es Business (Process) Modeling Canvas e3value Service Blueprint PCN BPMN
  • 42. @jmvara | @KybeleResearch www.kybele.es e3value 47 • Business modeling notation ‒ Focused on representing the value interchanges between the different actors involved in the provision of a service. Gordijn, J., & Akkermans, H. (2001). Designing and evaluating e-business models. IEEE intelligent Systems, (4), 11-17.
  • 43. @jmvara | @KybeleResearch www.kybele.es • Actors ‒ An entity that carries out value activities that allow him/her/it to increase … profit or utility • Value Interface ‒ Group the ports through which the actor is willing to make value interchanges ‒ A form of representation of economic reciprocity of value between actors. e3value in a nutshell 48
  • 44. @jmvara | @KybeleResearch www.kybele.es • Stimulus ‒ Events caused by an actor, trigger come value exchange. • E.g.: Deliveroo’s customer is hungry ‒ Two types: Start stimulus y Stop stimulus. • Value Ports ‒ Used by an actor to request value objects to or from its environment (directional) e3value in a nutshell 49 Start stimulus Stop stimulus
  • 45. @jmvara | @KybeleResearch www.kybele.es • ValueTransfer ‒ Connect two value ports with each other in order to enable value objects exchange • Value Object ‒ Satisfies a particular need or is used to produce other value objects. e3value in a nutshell 50
  • 46. @jmvara | @KybeleResearch www.kybele.es • e3value Metamodel • SmaC Metamodel Correspondences 51
  • 47. @jmvara | @KybeleResearch www.kybele.es ValueTransfer Value Port Correspondences Analysis 52 Address / User (Personalized Struct) Events Cryptocoins, Services,Assets,Advices Functions Smart contract Compatible Partially compatible Actors Value Object Value Interface Stimulus Market segment Address Array / Company (Personalized Struct)
  • 48. @jmvara | @KybeleResearch www.kybele.es • Adress ⬄ Actors Correspondences Analysis 53 Actors
  • 49. @jmvara | @KybeleResearch www.kybele.es • Smart contract ⥄Value Interface(s) Correspondences Analysis 54
  • 50. @jmvara | @KybeleResearch www.kybele.es • Events ⬄ Start stimulus Correspondences Analysis 55 Events
  • 51. @jmvara | @KybeleResearch www.kybele.es • Functions ⬄Value Ports &ValueTransfer Correspondences Analysis 56 Functions
  • 52. @jmvara | @KybeleResearch www.kybele.es • Notifications, Badges, Permissions … ⬄Value Objects Correspondences Analysis 57 Advice Badge
  • 53. @jmvara | @KybeleResearch www.kybele.es Visualization 58
  • 54. @jmvara | @KybeleResearch www.kybele.es Agenda 59 Blockchain Smart Contracts Bringing models to the rescue The road ahead 2 1 3 4
  • 55. @jmvara | @KybeleResearch www.kybele.es • Blockchain as a way to improve p2p systems ‒ Hashing / Asymmetric Cryptography ‒ Public ledger as a distributed DDBB • More recent blockchain networks providing a computational infrastructure ‒ Trust-less | Immutability |Transparency ‒ Disambiguation + Disintermediation • Smart Contracts as the way to explode such infrastructure ‒ IT – Strategy gap ‒ Tooling needed Recap 60 Raise the level of abstraction at which Smart Contracts are developed /designed
  • 56. @jmvara | @KybeleResearch www.kybele.es Recap 61 Raise the level of abstraction at which Smart Contracts are developed /designed SmaC MDE to the rescue
  • 57. @jmvara | @KybeleResearch www.kybele.es The road ahead 62 • SmaC validation • Technological Bridges development ‒ m2m & m2t transfos. • Graphical concrete syntaxes development • Extend e3Value with smart contract elements non directly matched ‒ Modifiers. • Enable automatic deploying mechanisms
  • 58. @jmvara | @KybeleResearch www.kybele.es • Delmolino, K.,Arnett, M., Kosba,A., Miller,A., & Shi, E. (2016, February). Step by step towards creating a safe smart contract: Lessons and insights from a cryptocurrency lab. In International Conference on Financial Cryptography and Data Security (pp. 79-94). Springer, Berlin, Heidelberg. • Drescher, D. Blockchain Basics:A Non-technical Introduction in 25 Steps, 1st edn. Apress, Frankfurt am Main (2017). • Escrow Service as a Smart Contract:The Business Logic. Jackson Ng. May 20, 2018. https://jacksonng.org/Safe-Remote-Purchase-1 • Gordijn, J., & Akkermans, H. (2001). Designing and evaluating e-business models. IEEE intelligent Systems, (4), 11-17. • Xtext Documentation: https://www.eclipse.org/Xtext/documentation/ • Xu, X.,Weber, I., & Staples, M. (2019). Architecture for blockchain applications (pp. 1-307). Berlin, Germany: Springer. Credits 63