Presentation given at an Invited talk at Leicester University. Covers work we are doing at the Open University on applying blockchains/distributed ledgers in the adult educational space
Unleash Your Potential - Namagunga Girls Coding Club
Blockchains and Adult Education
1. Blockchains and
Adult Education
Prof. John Domingue
Knowledge Media Institute
The Open University
UK
http://kmi.open.ac.uk/
http://blockchain.open.ac.uk/
12. 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
14. 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
15. Peer to Peer Network
http://www.terndrup.net/2015/10/27/Building-a-P2P-Peer-Client-with-Node-js/
Who Next?Add everyone has a complete copy of the data
16. Proof of Work
• Find x such that f(nonce + x) < t
(cryptographic hash)
"Hello, world!0" =>
1312af178c253f84028d480a6adc1e25e81caa44c749ec81976192e2ec934c64
"Hello, world!1" =>
e9afc424b79e4f6ab42d99c81156d3a17228d6e1eef4139be78e948a9332a7d8
"Hello, world!2" =>
ae37343a357a8297591625e7134cbea22f5928be8ca2a32aa475cf05fd4266b7 ...
"Hello, world!4248" =>
6e110d98b388e77e9c6f042ac6b497cec46660deef75a55ebc7cfdf65cc0b965
"Hello, world!4249" =>
c004190b822f1669cac8dc37e761cb73652e7832fb814565702245cf26ebb9e6
"Hello, world!4250" =>
0000c3af42fc31103f1fdc0151fa747ff87349a4714df7cc52ea464e12dcd4e9
17. 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.
18. Proof of Work
• Hard to outpace the entire rest of the network… a 51% attack could
do it, but otherwise it is like buying thousands of lottery tickets –
doesn’t help you that much!
Source: Marc Eisenstadt ‘What is the genius behind Bitcoin’
19. Proof of Work
As you go back in time, an attacker would have to outpace the network
for a longer amount of time to carry out a double spend attack, and
replace a block.
Source: Marc Eisenstadt ‘What is the genius behind Bitcoin’
24. 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, prediction markets, internet of things,
voting, educational certificate issuing systems, hundreds of applications
Source: Ethereum slides - Stephan Tual and Ethereum in 40 minites by Vitalik Buterin
25. 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.
26. State vs History
• State = “current” information
– Account balances
– Nonces
– Contract code and contract storage
• History = things that happened
– Transactions
– Receipts
• Currently, all “full” nodes store state, some
store history and some do not store history
Source: Devcon2 slides – Ethereum in 25 Minutes by Vitalik Buterin
27. State
• State consists of key value mapping
addresses to account objects
• Every account object contains 4 pieces of
data:
– Nonce
– Balance
– Code hash (code = empty string for private
key-controlled accounts)
– Storage tree root
Source: Devcon2 slides – Ethereum in 25 Minutes by Vitalik Buterin
28. Gas
• Halting problem
– Cannot tell whether or not a program will run
infinitely
• Solution: charge fee per computational
step (“gas”)
Source: Devcon2 slides – Ethereum in 25 Minutes by Vitalik Buterin
29. 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
31. 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).
37. “For example, after taking an examination
to demonstrate his or her academic
proficiency level, an individual could direct
the testing organization to share the test
results with one or more third-party
evaluating organizations.”
“As education paradigms evolve,
technological innovation is expected to
diversify the ways in which tests are
designed and individuals are evaluated.
With this diversification and the changes it
brings about, different evaluating
organizations may come to utilize
individuals' test results in different ways,
each in accordance with its own evaluation
methods.”
http://www.sony.net/SonyInfo/News/Press/201602/16-0222E/index.html
56. Collaborations/Dialogue
• APII
• Banking Standards Board
• Blockchain Limited
• Consensys
• Ethcore
• Fraunhofer
• Imperial
• Institute of the Future
• Jisc
• KPMG
• MIT
• Mozilla Open Badges (BadgeChain)
• Southampton
• UCL
57. Summary
• Blockchains seem to be a revolutionary new platform for
sharing data at scale in a trusted fashion
• Provides the basis for global distributed computation
• Interestingly combines
– History
– Rules
– Value
• Has many application areas related to the recording and
transference of value
– Includes Higher Education and training
• Badges and certification
• ePortfolios
• Educational reputation centric currencies
• Disaggregation
58. Acknowledgements
• KMi@OU Implementation Team
– Michelle Bachler
– Kevin Quick
– Allan Third
– Chris Valentine
• 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