Blockchains a new platform for semantically enabled transactions public

Post on 05-Jan-2017

7.524 views 2 download

Transcript of 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/

Caveat

• Semantic Web• Semantic Web Services• Blockchains

MOTIVATION

Our Position in the SW World

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

Blockchain <-> SWS Relationship (1/2)

• Blockchains implement trust

• New (transaction) platform

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

BLOCKCHAINS IMPACT

Blockchain

10

WorldEconomicForumSurveyProjectsBlockchain‘TippingPoint’by2023

Santander:Blockchain TechCanSaveBanks$20BillionaYear

IBM: Device Democracy

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

Distributed Autonomous Organisations

BLOCKCHAIN ELEMENTS

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

Cryptographic Hash Function

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

Blockchain is a Linked List (1/2)

Ablockchaincanbethoughtofasalinkedlistoftransactionsthatisbuiltwithhashpointersinsteadofpointers

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

Blockchain is a Linked List (2/2)

Ablockchain actuallycontainstwodifferenthash structures.Thefirstisahashchainof

blocks thatlinks thedifferentblocks tooneanother.

Thesecond isinternaltoeachblockandisaMerkle Treeof

transactionswithintheblocks.

This allowsforefficientlyverifiableproofs thata

transactionwasincluded inablock.

Ethereum Blockchain Platform

Ethereum isacryptocurrencyplatformandTuring-completeprogrammingframeworkintendedtoallowanetworkofpeerstoadministertheirownstateful user-createdsmartcontractsintheabsenceofcentralauthority.

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

Ethereum takestheprimarydevelopmentsusedbyBitTorrent andBitcoin,thepeertopeernetworkandtheblockchain,andgeneralizestheminordertoallowdeveloperstousethesetechnologiesforanypurpose.

Source:Wikipedia

Ethereum Blockchain Platform

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

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.

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

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/

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).

DBrowsers

ItisanenduserinterfaceontotheEthereumblockchain.

ADBrowser ishowuserswillfindandinteractwithDApps

‘Mist’isthenameoftheEthereumDBrowser.

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/

HIGHER EDUCATIONAL EXAMPLE

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

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

JaneenrolsonanOpenLearn Course

Higher Education Disaggregation

BLOCKCHAINS, SERVICES AND SEMANTICS

Services -> Smart Contracts

Webservice

Operation1

Operation2

OperationN

input

input

input

output

output

output

...

Services -> Smart Contracts

Webservice

Operation1

Operation2

OperationN

input

input

input

output

output

output

...

Services -> Smart Contracts

Webservice

Operation1

Operation2

OperationN

...

Services -> Smart Contracts

Webservice

Operation1

Operation2

OperationN

...

Services -> Smart Contracts

Webservice

Operation1

Operation2

OperationN

...

Services -> Smart Contracts

SmartContract

...

Transaction1

Transaction2

TransactionN

Services -> Smart Contracts

DistributedAutonomousOrganisation

...

Transaction1

Transaction2

TransactionN

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

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

Transaction Creation Object

• 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])

Minimal Service Model

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

http://linked-usdl.org/

http://linked-usdl.org/

BLONDiE Ontology

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

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

Smart Contract

• Transactions • Condition– Financial condition– Non financial condition

• Effect– Financial effect– Non financial effect

SUMMARY

Related events

NewYork,USA,July6-92016

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

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

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

blockchain.open.ac.uk