Keynote at the SALAD Workshop at ESWC 2016. Gives an overview of blockchains and some thoughts on the link to the Semantic Web, Linked Data and Semantic Web Services
Blockchains a new platform for semantically enabled transactions public
1. Blockchains:
a New Platform for
Semantically Enabled
Transactions
Prof. John Domingue
Director, Knowledge Media Institute,
the Open University, UK
President STI International
http://kmi.open.ac.uk/
8. Blockchain <-> SWS Relationship (2/2)
• Simple concept with complex
implementation
• Re-use important
• Identification important
• No inbuilt search
• Interoperates with plethora of systems
• Implements legal, financial and asset based
transactions
17. What is a blockchain?
A blockchain is a
permissionless
distributed database,
based on the bitcoin
protocol that
maintains a
continuously growing
list of transactional
data records hardened
against tampering and
revision, even by
operators of the data
store's nodes.
The initial and most
widely known
application of the
blockchain technology
is the public ledger of
transactions for bitcoin
and the inspiration of
similar distributed
ledgers known as
altchains.
Each blockchain record
is enforced
cryptographically and
hosted on machines
working as a data store
Source: Wikipedia
19. Blockchain is a Linked List (1/2)
A blockchain can be thought of as a linked list of transactions
that is built with hash pointers instead of pointers
Source: Bitcoin and Cryptocurrency Technologies - Arvind Narayanan, Joseph Bonneau, Edward Felten, Andrew Miller, Steven Goldfeder
20. Blockchain is a Linked List (2/2)
A blockchain actually contains
two different hash structures.
The first is a hash chain of
blocks that links the different
blocks to one another.
The second is internal to each
block and is a Merkle Tree of
transactions within the
blocks.
This allows for efficiently
verifiable proofs that a
transaction was included in a
block.
23. Ethereum Blockchain Platform
Ethereum is a 100% open source software platform to build distributed,
decentralized applications
Ethereum is 100% peer to peer, censorship-proof and corruption-proof.
Ethereum can be used to build anything: Asset issuance, crowdfunding,
domain registration, title registration,predictionmarkets, internet of things,
voting, educational certificate issuing systems, hundreds of applications
Source: Ethereum slides - Stephan Tual and Ethereum in 40 minites by Vitalik Buterin
24. Ethereum Virtual Machine
Sources: Ethereum Development Tutorial
The Ethereum Virtual Machine can be thought of as a large decentralized computer
containing millions of objects, called "accounts", which have the ability to maintain
an internal database, execute code and talk to each other.
There are 2 types of Accounts:
Externally owned account (EOA):
an account controlled by a private
key that has the ability to send
ether and messages from it.
‘Smart’ Contract: an account
that has its own code, and is
controlled by code.
Any user can trigger an action by sending a transaction from an EOA, setting
Ethereum's wheels in motion.
If the destination of the transaction
is another EOA, then the transaction
may transfer some ether but
otherwise does nothing
However, if the destination is a
‘Smart’ Contract, then the
contract in turn activates, and
automatically runs its code.
25. What are Ethereum Contracts?
‘Smart’ contracts are computer protocols that facilitate, verify, or enforce the
negotiation or performance of a contract.
‘Smart’ contracts can be partially or fully self-executing, self-enforcing, or both.
Smart contracts in Ethereum have the ability to read/write to their own
internal storage, read the storage of the received message, and send
messages to other contracts, triggering their execution in turn
Sources: Wikipedia and Ethereum Development Tutorial and Ethereum - Introduction to Smart Contracts
27. DApps
Source: Ethereum - Stephan Tual
A Đapp is a decentralised application which serves some
specific purpose to its users, but which has the important
property that the application itself does not depend on
any specific party existing.
Rather than serving as a front-end for selling or providing
a specific party's services, a Đapp is a tool for people and
organizations on different sides of an interaction use to
come together without any centralized intermediary.
A Dapp consists of two parts: a frontend, written in
HTML or QML, and a backend (think of it as the
‘database’ for your frontend).
47. • From
• To
• Value
• Gas
• Gas Price
• Data
• Nonce
web3.eth.sendTransaction(transactionObject[, callback])
Transaction Creation Object
48. • Block Hash
• Block Number
• Transaction Hash
• Transaction Index
• From
• To
• Cumulative Gas Used
• Gas Used
• Contract Address
• Logs
Transaction Receipt Object
web3.eth.getTransactionReceipt(hashString [, callback])
57. Summary (1/2)
• Blockchain attracting a lot of commercial
and community interest
– Trusted mediator for legal and financial
transactions
– IoT platform
– Disaggregation and disintermediation
– Leaderless Distributed Autonomous
Organisations
58. Summary (2/2)
• Small subset of the SW/LoD community
focused on processes/services/APIs
• Lot to offer
– Identification
– Search
– Re-use
– Interoperability
– Automation
• Machine <-> machine communication in a
human populated world
59. Acknowledgements
• KMi@OU Implementation Team
– Michelle Bachler
– Kevin Quick
• Discussants
– Sören Auer, Fraunhofer
– Adi Ben-Ari, Applied Blockchain
– Carla Casilli, Mozilla Open Badges
– Marc Eisenstadt, OU
– Matthew English, Fraunhofer
– Denis Gillet, EPFL
– Hugh Halford-Thompson, Blockchain Tech Ltd
– William Knottenbelt, Imperial College
– Konstantin Kudryavtsev, Ethcore
– Gary McKay, APII
– Rebecca Migirov, Consensys
– Titi Roman, Sintef
– Philipp Schmidt, MIT Media Lab
– Mike Sharples, OU
– Elena Simperl, University of Southampton
– Ashley Taylor, Consensys
– Sergej Zerr, University of Southampton
• Graphics
– Harriett Cornish, OU