+ All Categories
Home > Data & Analytics > Semantic blockchain

Semantic blockchain

Date post: 19-Mar-2017
Category:
Upload: ben-gardner
View: 1,267 times
Download: 4 times
Share this document with a friend
25
Semantic Blockchain A primer on Blockchain, Semantic Web and Ricardian Contracts Ben Gardner Semantic Web blockchain Ricardian Contracts
Transcript
Page 1: Semantic blockchain

Semantic Blockchain

A primer on Blockchain, Semantic Web and Ricardian Contracts

Ben Gardner

Semantic Web

blockchain Ricardian Contracts

Page 2: Semantic blockchain

Overview

• Why is Semantic Blockchain important

• What is the Blockchain

• What are Ricardian Contracts

• What is the Semantic Web

• Ricardian Contracts on the Semantic Blockchain

• Implications

Page 3: Semantic blockchain

The Semantic Web : A new form of Web content that is meaningful to computers will unleash a revolution of new possibilities by Tim Berners-Lee, James Hendler and Ora Lassila (2001)

The entertainment system was belting out the Beatles' "We Can Work It Out" when the phone rang. When Pete answered, his phone turned the sound down by sending a message to all the other local devices that had a volume control. His sister, Lucy, was on the line from the doctor's office: "Mom needs to see a specialist and then has to have a series of physical therapy sessions. Biweekly or something. I'm going to have my agent set up the appointments." Pete immediately agreed to share the chauffeuring. At the doctor's office, Lucy instructed her Semantic Web agent through her handheld Web browser. The agent promptly retrieved information about Mom's prescribed treatment from the doctor's agent, looked up several lists of providers, and checked for the ones in-plan for Mom's insurance within a 20-mile radius of her home and with a rating of excellent or very good on trusted rating services. It then began trying to find a match between available appointment times (supplied by the agents of individual providers through their Web sites) and Pete's and Lucy's busy schedules. (The emphasized keywords indicate terms whose semantics, or meaning, were defined for the agent through the Semantic Web.)

In a few minutes the agent presented them with a plan. Pete didn't like it—University Hospital was all the way across town from Mom's place, and he'd be driving back in the middle of rush hour. He set his own agent to redo the search with stricter preferences about location and time. Lucy's agent, having complete trust in Pete's agent in the context of the present task, automatically assisted by supplying access certificates and shortcuts to the data it had already sorted through.

Almost instantly the new plan was presented: a much closer clinic and earlier times—but there were two warning notes. First, Pete would have to reschedule a couple of his less important appointments. He checked what they were—not a problem. The other was something about the insurance company's list failing to include this provider under physical therapists: "Service type and insurance plan status securely verified by other means," the agent reassured him. "(Details?)"

Lucy registered her assent at about the same moment Pete was muttering, "Spare me the details," and it was all set. (Of course, Pete couldn't resist the details and later that night had his agent explain how it had found that provider even though it wasn't on the proper list.)

Page 4: Semantic blockchain

But what about the contract?

• So far only a schedule has been agreed between Lucy, Pete and the treatment provider

• Who is paying? – Identity of actors

• How do they know the service has been delivered?

• What are the terms around treatment provision?

• What if a appointment is cancelled? Payment?

But this isn’t just about monetary contracts it is also about the transactions between IoT

• How does Lucy or Pete know when/if mum was picked up/dropped off?

Page 5: Semantic blockchain

Introducing the Semantic blockchain

blockchain

Semantic Web

Semantic blockchain

Unambiguous dataConnected

TrustProof of work

Unambiguous dataConnectedTrustProof of work

Page 7: Semantic blockchain

Ricardian Contract

“A Ricardian contract places the defining elements of a legal agreement in a format that can be expressed and executed in software. The key is to make the format both machine readable such that they can easily be extracted for computational purposes, and readable as an ordinary prose document such that lawyers and contracting parties may read the essentials of the contract without undue inconvenience.” - Wikipedia

Page 8: Semantic blockchain

Smart Contract

“A smart contract is a computerized transaction protocol that executes the terms of a contract. The general objectives are to satisfy common contractual conditions (such as payment terms, liens, confidentiality, and even enforcement), minimize exceptions both malicious and accidental, and minimize the need for trusted intermediaries.” - Nick Sazabo

Bitcoin is an implementation of blockchain technology limited to transfer of funds from A to B

Ethereum expands the concept of transactions to arbitrary complex contracts

Page 9: Semantic blockchain

Weather Insurance

I, Alex Batlin, authorise the transfer from address 'abcdwerr' to address '24dsfrg3434' using smart contract agent address '24dsfrg3434' of '10' unit(s) of GBP pounds held by smart contract address '4854398578934' on the condition that website 'Weather.com' confirms that '0.5' cumulative inches of rain did indeed fall between start date '9:00AM UTC 10th of March, 2015' and finish date '9:00AM UTC 11th of March, 2015' in country 'GB' and postcode 'EC2Y 0RT’.

Readable by humans

Crypto 2.0 Musings - Combining Ricardian and Smart Contracts - Alex Batlin

Page 10: Semantic blockchain

Weather Insurance

I, Alex Batlin, authorise the transfer from address 'abcdwerr' to address '24dsfrg3434' using smart contract agent address '24dsfrg3434' of '10' unit(s) of GBP pounds held by smart contract address '4854398578934' on the condition that website 'Weather.com' confirms that '0.5' cumulative inches of rain did indeed fall between start date '9:00AM UTC 10th of March, 2015' and finish date '9:00AM UTC 11th of March, 2015' in country 'GB' and postcode 'EC2Y 0RT’.

What needs to be defined so a computer can execute the contract

Page 11: Semantic blockchain

Linked Data= the internet + http + rdf

Tim Berners-Lee outlined four principles of linked data in his Design Issues: Linked Data note, paraphrased along the following lines:

1. Use URIs to identify things.2. Use HTTP URIs so that these things can be referred to and looked up

("dereferenced") by people and user agents.3. Provide useful information about the thing when its URI is dereferenced, using

standard formats such as RDF/XML.4. Include links to other, related URIs in the exposed data to improve discovery of

other related information on the Web.

The second attempt at the semantic web

http://en.wikipedia.org/wiki/Linked_data

Page 12: Semantic blockchain

Subject

<John>

Predicate

<Knows>

Object

<Sarah>

RDF Triple

<John>

<L-123456>

<New York>

<Tax>

<Sarah>

hasWorkedOn

hasLocation

hasPractice

knows

Graph

Combining Triples creates a directed, labelled graph

Resource Description Framework (RDF)

Inspired by J Phil Brooks, Eli Lilly

Note – RDF is a data model not a data format

Page 13: Semantic blockchain

<John>

<L-123456>

<New York>

<Tax>

<Sarah>

hasWorkedOn

hasLocation

hasPractice

Knows

<L-123456>

<California>

<Acme Inc>

<IPO>

hasJurisdiction

hasClient

hasTransactionType

Graphs can be joined together ……

Inspired by J Phil Brooks, Eli Lilly

Page 14: Semantic blockchain

<John>

<L-123456>

<New York>

<Tax>

<Sarah>

hasWorkedOn

hasLocation

hasPractice

Knows

<L-123456>

<California>

<IPO>

hasJuristdction

hasClient

hasTransactionType

<Acme Inc>

<San Deigo>

<Nexus Corp>

<Energy>

hasLocation

HasSector

hasParent

…... to traverse the knowledge space

Inspired by J Phil Brooks, Eli Lilly

Page 15: Semantic blockchain

What did those rules mean?

http://biglynx.co.uk/people/matt-briggs http://biglynx.co.uk/people/scott-miller

http://xmlns.com/foaf/0.1/knows

Subject

<Matt Briggs>

Predicate

<Knows>

Object

<Scott Miller>

1. Use URIs to identify things.2. Use HTTP URIs so that these things can be referred to and looked up

("dereferenced") by people and user agents.

Linked Data: Evolving the Web into a Global Data Space- Tom Heath & Christian Bizer

Page 16: Semantic blockchain

RDF Serialisation

RDF/XML & RDFa – W3C standardised serialisation formatsTurtle, N-Triples, JSON – non-standardised serialisation formats

Turtle – Plain text serialisation, mainly used for reading RDF triples or writing them by hand.

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .@prefix foaf: <http://xmlns.com/foaf/0.1/> .

<http://biglynx.co.uk/people/matt-briggs>rdf:type foaf:Person ;foaf:name “Matt Briggs” ;foaf:based_near “Birmingham”;foaf:topic_interest “Wildlife photography” ;foaf:knows “David Attenborough” .

3. Provide useful information about the thing when its URI is dereferenced, using standard formats such as RDF/XML.

Page 17: Semantic blockchain

RDF Serialisation

RDF/XML & RDFa – W3C standardised serialisation formatsTurtle, N-Triples, JSON – non-standardised serialisation formats

Turtle – Plain text serialisation, mainly used for reading RDF triples or writing them by hand.

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .@prefix foaf: <http://xmlns.com/foaf/0.1/> .

<http://biglynx.co.uk/people/matt-briggs>rdf:type foaf:Person ;foaf:name “Matt Briggs” ;foaf:based_near <http://sws.geonames.org/3333125/> ;foaf:based_near <http://dbpedia.org/resource/Birmingham> ;foaf:topic_interest <http://dbpedia.org/resource/Wildlife_photography> ;foaf:knows <http://dbpedia.org/resource/David_Attenborough> .

4. Include links to other, related URIs in the exposed data to improve discovery of other related information on the Web.

Page 18: Semantic blockchain

Linked Open Data as of September 2011

Page 19: Semantic blockchain

Weather Insurance

I, Alex Batlin, authorise the transfer from address 'abcdwerr' to address '24dsfrg3434' using smart contract agent address '24dsfrg3434' of '10' unit(s) of GBP pounds held by smart contract address '4854398578934' on the condition that website 'Weather.com' confirms that '0.5' cumulative inches of rain did indeed fall between start date '9:00AM UTC 10th of March, 2015' and finish date '9:00AM UTC 11th of March, 2015' in country 'GB' and postcode 'EC2Y 0RT’.

Linked Data can unambiguously define the things and the relationships between things

Page 20: Semantic blockchain

Weather Insurance

@prefix rc: <http://batlin.com/ricardian#> . [a rc:RicardianContract;   rc:hasTransferAuthorisation [ a rc:TransferAuthorisation;           rc:hasAgentAddress "24dsfrg3434";           rc:hasFromAddress "abcdwerr";           rc:hasInstrumentAddress "4854398578934";           rc:hasInstrumentUnits "10";           rc:hasToAddress "24dsfrg3434" ];   rc:hasTransferCondition [ a rc:TransferCondition;           rc:hasCountryCode "GB";           rc:hasCumulativeInchesOfRainDetected "0.5";           rc:hasFinishDate "2016-03-11T09:00:00<";           rc:hasOracleUrl <https://www.weather.com>;           rc:hasPostCode "EC2Y 0RT";           rc:hasStartDate "2016-03-10T09:00:00<" ]].

RDF representation provides an unambiguously defined contract

3. Provide useful information about the thing when its URI is dereferenced, using standard formats such as RDF/XML.

Page 21: Semantic blockchain

Weather Insurance

@prefix rc: <http://batlin.com/ricardian#> . [a rc:RicardianContract;   rc:hasTransferAuthorisation [ a rc:TransferAuthorisation;           rc:hasAgentAddress "24dsfrg3434";           rc:hasFromAddress "abcdwerr";           rc:hasInstrumentAddress "4854398578934";           rc:hasInstrumentUnits "10";           rc:hasToAddress "24dsfrg3434" ];   rc:hasTransferCondition [ a rc:TransferCondition;           rc:hasCountryCode <http://www.geonames.org/2635167/united-kingdom.html>;           rc:hasCumulativeInchesOfRainDetected "0.5";           rc:hasFinishDate "2016-03-11T09:00:00<";           rc:hasOracleUrl <https://www.weather.com>;           rc:hasPostCode <http://www.geonames.org/maps/google_51.52_-0.092.html>;           rc:hasStartDate "2016-03-10T09:00:00<" ]].

4. Include links to other, related URIs in the exposed data to improve discovery of other related information on the Web.

Linked Data unambiguously connects the contract to Oracles (Linked Open Data)

Page 22: Semantic blockchain

Ricardian contracts on the Semantic blockchain

blockchain

Semantic Web

Semantic blockchain

Unambiguous dataConnected

TrustProof of work

Further reading – Hector Ugartehttps://semanticblocks.wordpress.com/

Page 24: Semantic blockchain

Back to Pete & Lucy

• So far only a schedule has been agreed between Lucy, Pete and the treatment provider

• Who is paying – Identity of actors

• How do they know the service has been delivered?

• What are the terms around treatment provision?

• What if a appointment is cancelled? Payment?

But this isn’t just about monetary contracts it is also about the transactions between IoT

• How does Lucy or Pete know when/if mum was picked up/dropped off?

Page 25: Semantic blockchain

Could Blockchain fill in the missing layers of the Semantic Web Architecture?

Semantic Web

blockchain


Recommended