Date post: | 05-Jan-2017 |
Category: |
Internet |
Upload: | john-domingue |
View: | 7,524 times |
Download: | 2 times |
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