Blockchains a new platform for semantically enabled transactions public

60
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/

Transcript of Blockchains a new platform for semantically enabled transactions public

Page 1: Blockchains  a new platform for semantically enabled transactions public

Blockchains: a New Platform for Semantically Enabled Transactions

Prof. John DomingueDirector, Knowledge Media Institute, the Open University, UKPresident STI International

http://kmi.open.ac.uk/

Page 2: Blockchains  a new platform for semantically enabled transactions public

Caveat

• Semantic Web• Semantic Web Services• Blockchains

Page 3: Blockchains  a new platform for semantically enabled transactions public

MOTIVATION

Page 4: Blockchains  a new platform for semantically enabled transactions public

Our Position in the SW World

Page 5: Blockchains  a new platform for semantically enabled transactions public
Page 6: Blockchains  a new platform for semantically enabled transactions public

WEB IS A PLATFORME-commerce

SearchEngine Social

WebPortal Travel OnlineServices

Cloudcomputing

$28.83

$15.84

$12.29

$10.56

$17.93$74.98

$107

$9.22$6.77

$8.59

$6.3

$6.67

$5.37$4.97

$3.63

$2.99

$3.1

$1.5

$1.40

$0.9

$2.22

Page 7: Blockchains  a new platform for semantically enabled transactions public

Blockchain <-> SWS Relationship (1/2)

• Blockchains implement trust

• New (transaction) platform

Page 8: Blockchains  a new platform for semantically enabled transactions public

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

Page 9: Blockchains  a new platform for semantically enabled transactions public

BLOCKCHAINS IMPACT

Page 10: Blockchains  a new platform for semantically enabled transactions public

Blockchain

10

WorldEconomicForumSurveyProjectsBlockchain‘TippingPoint’by2023

Santander:Blockchain TechCanSaveBanks$20BillionaYear

Page 11: Blockchains  a new platform for semantically enabled transactions public
Page 12: Blockchains  a new platform for semantically enabled transactions public
Page 13: Blockchains  a new platform for semantically enabled transactions public
Page 14: Blockchains  a new platform for semantically enabled transactions public

IBM: Device Democracy

http://www-935.ibm.com/services/multimedia/GBE03620USEN.pdf

Page 15: Blockchains  a new platform for semantically enabled transactions public

Distributed Autonomous Organisations

Page 16: Blockchains  a new platform for semantically enabled transactions public

BLOCKCHAIN ELEMENTS

Page 17: Blockchains  a new platform for semantically enabled transactions public

What is a blockchain?

Ablockchain isapermissionless

distributeddatabase,basedonthebitcoin

protocolthatmaintainsa

continuouslygrowinglistoftransactional

datarecordshardenedagainsttamperingand

revision,evenbyoperatorsofthedata

store'snodes.

Theinitialandmostwidelyknown

applicationoftheblockchain technologyisthepublicledgeroftransactionsforbitcoinandtheinspirationofsimilardistributedledgersknownas

altchains.

Eachblockchain recordisenforced

cryptographicallyandhostedonmachines

workingasadatastore

Source:Wikipedia

Page 18: Blockchains  a new platform for semantically enabled transactions public

Cryptographic Hash Function

https://en.wikipedia.org/wiki/Cryptographic_hash_function

Page 19: Blockchains  a new platform for semantically enabled transactions public

Blockchain is a Linked List (1/2)

Ablockchaincanbethoughtofasalinkedlistoftransactionsthatisbuiltwithhashpointersinsteadofpointers

Source:Bitcoin andCryptocurrency Technologies- ArvindNarayanan,JosephBonneau, EdwardFelten,AndrewMiller, StevenGoldfeder

Page 20: Blockchains  a new platform for semantically enabled transactions public

Blockchain is a Linked List (2/2)

Ablockchain actuallycontainstwodifferenthash structures.Thefirstisahashchainof

blocks thatlinks thedifferentblocks tooneanother.

Thesecond isinternaltoeachblockandisaMerkle Treeof

transactionswithintheblocks.

This allowsforefficientlyverifiableproofs thata

transactionwasincluded inablock.

Page 21: Blockchains  a new platform for semantically enabled transactions public

Ethereum Blockchain Platform

Page 22: Blockchains  a new platform for semantically enabled transactions public

Ethereum isacryptocurrencyplatformandTuring-completeprogrammingframeworkintendedtoallowanetworkofpeerstoadministertheirownstateful user-createdsmartcontractsintheabsenceofcentralauthority.

Itfeaturesablockchain-basedvirtualmachinethatsecurelyrecordsandincentivizesthevalidationoftransactions,i.e.codeexecutions,madethroughacryptocurrencycalledether.

Ethereum takestheprimarydevelopmentsusedbyBitTorrent andBitcoin,thepeertopeernetworkandtheblockchain,andgeneralizestheminordertoallowdeveloperstousethesetechnologiesforanypurpose.

Source:Wikipedia

Ethereum Blockchain Platform

Page 23: Blockchains  a new platform for semantically enabled transactions public

Ethereum Blockchain Platform

Ethereum isa100%opensourcesoftwareplatformtobuilddistributed,decentralizedapplications

Ethereum is100%peertopeer,censorship-proofandcorruption-proof.

Ethereumcanbeusedtobuildanything:Assetissuance,crowdfunding,domainregistration,titleregistration,predictionmarkets,internetofthings,voting,educationalcertificateissuingsystems,hundredsofapplications

Source:Ethereum slides- StephanTual andEthereum in40minites byVitalik Buterin

Page 24: Blockchains  a new platform for semantically enabled transactions public

Ethereum Virtual Machine

Sources:Ethereum DevelopmentTutorial

TheEthereum VirtualMachinecanbethoughtofasalargedecentralizedcomputercontainingmillionsofobjects,called"accounts",whichhavetheabilitytomaintainaninternaldatabase,executecodeandtalktoeachother.Thereare2typesofAccounts:

Externallyownedaccount(EOA):anaccountcontrolledbyaprivatekeythathastheabilitytosendetherandmessagesfromit.

‘Smart’Contract:anaccountthathasitsowncode,andiscontrolledbycode.

AnyusercantriggeranactionbysendingatransactionfromanEOA,settingEthereum's wheelsinmotion.

Ifthedestinationof thetransactionisanotherEOA,thenthetransactionmaytransfersomeetherbutotherwisedoesnothing

However, ifthedestination isa‘Smart’Contract,thenthecontractinturnactivates,andautomaticallyrunsitscode.

Page 25: Blockchains  a new platform for semantically enabled transactions public

What are Ethereum Contracts?‘Smart’contractsarecomputerprotocolsthatfacilitate,verify,orenforcethenegotiationorperformanceofacontract.

‘Smart’contractscanbepartiallyorfullyself-executing,self-enforcing,orboth.

SmartcontractsinEthereumhavetheabilitytoread/writetotheirowninternalstorage,readthestorageofthereceivedmessage,andsendmessagestoothercontracts,triggeringtheirexecutioninturn

Sources:WikipediaandEthereum Development TutorialandEthereum - Introduction toSmartContracts

Page 26: Blockchains  a new platform for semantically enabled transactions public

Contracts in Ethereum

Maintainadatastorerepresenting

somethingwhichisusefultoeitherothercontractsortotheoutsideworld

Serveasasortofexternallyowned

accountwithamorecomplicatedaccess

policy

Manageanongoingcontractor

relationshipbetweenmultipleusers

Providefunctionstoothercontracts;

essentially servingasasoftwarelibrary.

ContractsinEthereum generallyserve4purposes:

source: Richard GendalBrown “ASimpleModelforSmartContracts”http://gendal.me/2015/02/10/a-simple-model-for-smart-contracts/

Page 27: Blockchains  a new platform for semantically enabled transactions public

DApps

Source:Ethereum - StephanTual

AĐapp isadecentralised applicationwhichservessomespecificpurpose toitsusers,butwhichhastheimportantproperty thattheapplicationitselfdoesnotdependonanyspecificpartyexisting.

Ratherthanservingasafront-end forsellingorprovidingaspecificparty'sservices,aĐapp isatoolforpeopleandorganizationsondifferent sidesofaninteractionusetocometogetherwithoutanycentralizedintermediary.

ADapp consistsoftwoparts:afrontend, writteninHTMLorQML,andabackend(thinkofitasthe‘database’foryourfrontend).

Page 28: Blockchains  a new platform for semantically enabled transactions public

DBrowsers

ItisanenduserinterfaceontotheEthereumblockchain.

ADBrowser ishowuserswillfindandinteractwithDApps

‘Mist’isthenameoftheEthereumDBrowser.

Page 29: Blockchains  a new platform for semantically enabled transactions public

Characteristics of Blockchain DApps

• Shared database• Multiple writers• Absence of trust• Disintermediation• Transaction interaction• Set rules• Validators• Asset backing

http://www.multichain.com/blog/2015/11/avoiding-pointless-blockchain-project/

Page 30: Blockchains  a new platform for semantically enabled transactions public

HIGHER EDUCATIONAL EXAMPLE

Page 31: Blockchains  a new platform for semantically enabled transactions public
Page 32: Blockchains  a new platform for semantically enabled transactions public
Page 33: Blockchains  a new platform for semantically enabled transactions public

Demosofmoviesavailableat:http://blockchain.open.ac.uk/

Page 34: Blockchains  a new platform for semantically enabled transactions public

CourseContract

Functions:

Storage:

enrol

unenrol

getStudents

studentsPaid [address=0.6,address=0….]students[address,address,address]

CourseAdministrationViewStudentView

Enrol for6ETH!

yourEthereumaddress

passwordtoprivatekey

Signing this transactionwill transfer6ETH+gas fromyouraccount.Estimatedgascostis0.02ETH.Maximumgascostisset to0.05ETH

Enrol

StudentEnrolmentPage

SignedTX

Unenrol Student

AdminEthereum address

Adminpasswordtoprivatekey

Signing this transactionwill transfer6ETH+gas fromcourseadminaccount.Estimatedgascost is0.02ETH.Maximumgascostis set to0.05ETH

Unenrol

CourseAdminPage

SignedTX

StudentList

(Listingstudents is afreetransaction)

CourseEnrolmentPage

SignedTX

StudentAddressArray

unenrolStudentAccount11

StudentAccount23

StudentAccount45

StudentAccount67

StudentAccount89

unenrol

unenrol

unenrol

unenrol

StudentAccount67

Course Smart Contract

Page 35: Blockchains  a new platform for semantically enabled transactions public

JaneenrolsonanOpenLearn Course

Page 36: Blockchains  a new platform for semantically enabled transactions public
Page 37: Blockchains  a new platform for semantically enabled transactions public
Page 38: Blockchains  a new platform for semantically enabled transactions public

Higher Education Disaggregation

Page 39: Blockchains  a new platform for semantically enabled transactions public

BLOCKCHAINS, SERVICES AND SEMANTICS

Page 40: Blockchains  a new platform for semantically enabled transactions public

Services -> Smart Contracts

Webservice

Operation1

Operation2

OperationN

input

input

input

output

output

output

...

Page 41: Blockchains  a new platform for semantically enabled transactions public

Services -> Smart Contracts

Webservice

Operation1

Operation2

OperationN

input

input

input

output

output

output

...

Page 42: Blockchains  a new platform for semantically enabled transactions public

Services -> Smart Contracts

Webservice

Operation1

Operation2

OperationN

...

Page 43: Blockchains  a new platform for semantically enabled transactions public

Services -> Smart Contracts

Webservice

Operation1

Operation2

OperationN

...

Page 44: Blockchains  a new platform for semantically enabled transactions public

Services -> Smart Contracts

Webservice

Operation1

Operation2

OperationN

...

Page 45: Blockchains  a new platform for semantically enabled transactions public

Services -> Smart Contracts

SmartContract

...

Transaction1

Transaction2

TransactionN

Page 46: Blockchains  a new platform for semantically enabled transactions public

Services -> Smart Contracts

DistributedAutonomousOrganisation

...

Transaction1

Transaction2

TransactionN

Page 47: Blockchains  a new platform for semantically enabled transactions public

• From • To• Value• Gas• Gas Price• Data• Nonce

web3.eth.sendTransaction(transactionObject[,callback])

Transaction Creation Object

Page 48: Blockchains  a new platform for semantically enabled transactions public

• Block Hash• Block Number• Transaction Hash• Transaction Index• From• To• Cumulative Gas Used• Gas Used • Contract Address• Logs

Transaction Receipt Objectweb3.eth.getTransactionReceipt(hashString [,callback])

Page 49: Blockchains  a new platform for semantically enabled transactions public

Minimal Service Model

http://iserve.kmi.open.ac.uk/

Page 50: Blockchains  a new platform for semantically enabled transactions public

http://linked-usdl.org/

Page 51: Blockchains  a new platform for semantically enabled transactions public

http://linked-usdl.org/

Page 52: Blockchains  a new platform for semantically enabled transactions public

BLONDiE Ontology

MatthewEnglish https://github.com/EIS-Bonn/BLONDiE/

Page 53: Blockchains  a new platform for semantically enabled transactions public

Transaction• From• To• Input

– Value– Data

• Cost– Currency– Price

• Block information• Contract • Condition

– Financial condition– Non financial condition

• Effect– Financial effect– Non financial effect

• History

Page 54: Blockchains  a new platform for semantically enabled transactions public

Smart Contract

• Transactions • Condition– Financial condition– Non financial condition

• Effect– Financial effect– Non financial effect

Page 55: Blockchains  a new platform for semantically enabled transactions public

SUMMARY

Page 56: Blockchains  a new platform for semantically enabled transactions public

Related events

NewYork,USA,July6-92016

Page 57: Blockchains  a new platform for semantically enabled transactions public

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

Page 58: Blockchains  a new platform for semantically enabled transactions public

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

Page 59: Blockchains  a new platform for semantically enabled transactions public

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

Page 60: Blockchains  a new platform for semantically enabled transactions public

blockchain.open.ac.uk