smart contracts and rea contracts - rutgers...

22
Smart Contracts and REA Contracts 40 th WCARS November 3-4, 2017 Smart Contracts and REA Contracts Dr. Graham Gal Isenberg School of Management

Upload: others

Post on 21-Sep-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Smart Contracts and REA Contracts - Rutgers Universityraw.rutgers.edu/docs/wcars/40wcars/Presentations/GrahamGal.pdf · REA Modeling at the Value Network level -- Trading Partner

Smart Contracts and REA Contracts 40th WCARS November 3-4, 2017

Smart Contracts and REA Contracts

Dr. Graham GalIsenberg School of Management

Page 2: Smart Contracts and REA Contracts - Rutgers Universityraw.rutgers.edu/docs/wcars/40wcars/Presentations/GrahamGal.pdf · REA Modeling at the Value Network level -- Trading Partner

Smart Contracts and REA Contracts 40th WCARS November 3-4, 2017

What I will talk about

• Blockchain basics

• Trading Partner and Independent Views

• Contracts in these two views

• Tokenization

• Universal Identifier

• Tokenization of Rs, Es, and As

Page 3: Smart Contracts and REA Contracts - Rutgers Universityraw.rutgers.edu/docs/wcars/40wcars/Presentations/GrahamGal.pdf · REA Modeling at the Value Network level -- Trading Partner

Smart Contracts and REA Contracts 40th WCARS November 3-4, 2017

Getting Rid of Intermediaries – I trust No One

tkad tkcx tkaf tkygtklj tkmn tkrc tkpztkhj tkqf tkgm tkxatkze tk…………….

Page 4: Smart Contracts and REA Contracts - Rutgers Universityraw.rutgers.edu/docs/wcars/40wcars/Presentations/GrahamGal.pdf · REA Modeling at the Value Network level -- Trading Partner

Smart Contracts and REA Contracts 40th WCARS November 3-4, 2017

Hash of block tHash of transactionstkad tkcx tkaf tkyg

Creating a Trusted Time Ordered Sequencetkad tkcx tkaf tkygtklj tkmn tkrc tkpztkhj tkqf tkgm tkxatkze tk…………….

t

Hash of block t+1Hash of transactionstklj tkmn tkrc tkpz

Now h wants to add a transaction to j1) Signs on with private key (token)2) Creates the transaction tkhj and attempts to add to the chain3) Members of chain validate transactionAfter sufficient number of validated transactions have been collected they are “Mined” into a new block and added to chain

Page 5: Smart Contracts and REA Contracts - Rutgers Universityraw.rutgers.edu/docs/wcars/40wcars/Presentations/GrahamGal.pdf · REA Modeling at the Value Network level -- Trading Partner

Smart Contracts and REA Contracts 40th WCARS November 3-4, 2017

Hash of block tHash of transactionstkad tkcx tkaf tkyg

Creating a Trusted Time Ordered Sequencetkad tkcx tkaf tkygtklj tkmn tkrc tkpztkhj tkqf tkgm tkxatkze tk…………….

t

Hash of block t+1Hash of transactionstklj tkmn tkrc tkpz

Now h wants to add a transaction to j1) Signs on with private key (token)2) Creates the transaction tkhj and attempts to add to the chain3) Members of chain validate transactionAfter sufficient number of validated transactions have been collected they are “Mined” into a new block and added to chain

Hash of block t+ 2Hash of transactionstkhj tkqf tkgm tkxa

Page 6: Smart Contracts and REA Contracts - Rutgers Universityraw.rutgers.edu/docs/wcars/40wcars/Presentations/GrahamGal.pdf · REA Modeling at the Value Network level -- Trading Partner

Smart Contracts and REA Contracts 40th WCARS November 3-4, 2017

Business

Process1

Business

Process2

Business

Process3

Object Enterprise

Business

Process

(deliver)

Enterprise E2

(Supplier)

Business

Process

(make)

Business

Process

(source)

Business

Process

(deliver)

Enterprise E4

(Customer)

Business

Process

(make)

Business

Process

(source)

Business

Process4

Business

Process5

Business

Process6

Enterprise E3

(Supplier)

raw

materials

cash

services

cash

Enterprise E5

(Customer)

finished

goods

cash

finished goods

cash

REA Modeling at the Value Network level -- Trading Partner View

Enterprise E1

(Financier)

cash

cashObject

Enterprise

Employees

employee

services

cash

finance

payroll

conversion

acquisition

revenue

acquisition

Page 7: Smart Contracts and REA Contracts - Rutgers Universityraw.rutgers.edu/docs/wcars/40wcars/Presentations/GrahamGal.pdf · REA Modeling at the Value Network level -- Trading Partner

Smart Contracts and REA Contracts 40th WCARS November 3-4, 2017

typify

typify

responsible

reciprocal

stockFlowinsideParticipate

outsideParticipate

fulfill

specify specify

policypolicy Economic

Event

Type

duality

reserve reserve

typifypolicy

Economic

Contract bundletrigger

Economic

Commitment

specify

Economic

Agent

Economic

Resource

Type

Economic

ResourceEconomic

Event

Economic

Agent

Type

The Policy Layer

The Scheduling Layer

insideNegotiate

outsideNegotiate

The Accountability Layer

The REA Metamodel (Trading Partner View)

Page 8: Smart Contracts and REA Contracts - Rutgers Universityraw.rutgers.edu/docs/wcars/40wcars/Presentations/GrahamGal.pdf · REA Modeling at the Value Network level -- Trading Partner

Smart Contracts and REA Contracts 40th WCARS November 3-4, 2017

Bundle

Reciprocal

Contracts

• REA Contract

Signed 7/31

Big BirdGrover

Negotiate

Deliver CookiePay $1

ElmoCookie Monster

Cookie

Money

Sale

Cash Receipt

stockFlow

Participate

Fulfill

CookieDeliverPolicy

CashCash ReceiptPolicy

CashierPolicy

SpecifySpecify

Page 9: Smart Contracts and REA Contracts - Rutgers Universityraw.rutgers.edu/docs/wcars/40wcars/Presentations/GrahamGal.pdf · REA Modeling at the Value Network level -- Trading Partner

Smart Contracts and REA Contracts 40th WCARS November 3-4, 2017

value chain view (revenue process)

of the selling trading partner

value chain view (acquisition process)

of the buying trading partner

sale purchase cash

disbursement

cash

receipt

paymentshipment

collaboration space viewed independently of the trading partners

seller buyer

Page 10: Smart Contracts and REA Contracts - Rutgers Universityraw.rutgers.edu/docs/wcars/40wcars/Presentations/GrahamGal.pdf · REA Modeling at the Value Network level -- Trading Partner

Smart Contracts and REA Contracts 40th WCARS November 3-4, 2017

Business

Process

Business

Process

Business

Process

Enterprise E

Business

Process

Enterprise E2

Business

Process

Business

Process

Business

Process

Enterprise E4

Business

Process

Business

Process

Business

Process

Business

Process

Business

Process

Enterprise E3

goods

cash

services

cash

Enterprise E5

goods

cash

goods

cash

REA Modeling at the Value Network level -- Independent View

Enterprise E1

cash

cashPersons

labor

services

cash

Page 11: Smart Contracts and REA Contracts - Rutgers Universityraw.rutgers.edu/docs/wcars/40wcars/Presentations/GrahamGal.pdf · REA Modeling at the Value Network level -- Trading Partner

Smart Contracts and REA Contracts 40th WCARS November 3-4, 2017

public

processes

private

processes

Trading

Partner REA

ontology

public

processes

Trading

Partner REA

ontology

private

processes

firm-a firm-b

Distributed Business

Transaction Repository(Independent REA view of ontological categories

and their states in collaboration space)

Page 12: Smart Contracts and REA Contracts - Rutgers Universityraw.rutgers.edu/docs/wcars/40wcars/Presentations/GrahamGal.pdf · REA Modeling at the Value Network level -- Trading Partner

Smart Contracts and REA Contracts 40th WCARS November 3-4, 2017

A Value Chain (a script for creating value)

Business

Process

Business

Process

Business

Process

Coasian

entrepreneur

analysis

Market Exchange

(buy processes)

take event

give event

+-

Internal Conversion

(make processes)

use/consume event

-produce event

+

an assembled

portfolio of value

Open Value Process Network

(peer production)

Page 13: Smart Contracts and REA Contracts - Rutgers Universityraw.rutgers.edu/docs/wcars/40wcars/Presentations/GrahamGal.pdf · REA Modeling at the Value Network level -- Trading Partner

Smart Contracts and REA Contracts 40th WCARS November 3-4, 2017

typify

typify

responsible

reciprocal

stockFlowfromParticipate

toParticipate

fulfill

specify specify

policypolicy Economic

Event

Type

duality

reserve reserve

typifypolicy

Economic

Contract bundletrigger

Economic

Commitment

specify

Economic

Agent

Economic

Resource

Type

Economic

ResourceEconomic

Event

Economic

Agent

Type

The Policy Layer

The Scheduling Layer

partyNegotiate

counterpartyNegotiate

The Accountability Layer

Page 14: Smart Contracts and REA Contracts - Rutgers Universityraw.rutgers.edu/docs/wcars/40wcars/Presentations/GrahamGal.pdf · REA Modeling at the Value Network level -- Trading Partner

Smart Contracts and REA Contracts 40th WCARS November 3-4, 2017

Contracts

• Smart Contracts

Time

Gover

Big Bird

7.31.0200

Order

cookie

7.31.0201

Charge

.0015

bitcoin

Elmo

Cookie Monster

8.2.0701

Receive

cookie

8.3.1301

Release

.0015 bitcoin

Page 15: Smart Contracts and REA Contracts - Rutgers Universityraw.rutgers.edu/docs/wcars/40wcars/Presentations/GrahamGal.pdf · REA Modeling at the Value Network level -- Trading Partner

Smart Contracts and REA Contracts 40th WCARS November 3-4, 2017

Watching the Blockchain

• With Just Crypto Currencies on Blockchain– January 30, 2017 transaction for 1.25 bitcoin between party A and

party B

• Adding Other resources– January 30, 2017 transaction for 1.25 bitcoin between party A and

party B– January 31, 2017 transaction for token #32324afe342223

• Questions– Was this a contract between A and B?– Was #32324afe342223 delivered?– Did B have the right to deliver resource #32324afe342223?– What is resource #32324afe342223?

Page 16: Smart Contracts and REA Contracts - Rutgers Universityraw.rutgers.edu/docs/wcars/40wcars/Presentations/GrahamGal.pdf · REA Modeling at the Value Network level -- Trading Partner

Smart Contracts and REA Contracts 40th WCARS November 3-4, 2017

Facilitating Contracting on the Blockchain

• Contract added to the blockchain– Contract ID #2afe3280 added to blockchain on February 20, 2017

• Includes

– commitment #11afde by Agent #12afbae334 to deliver 3000 gallons of gasoline(trigger)

– commitment #212321 by Agent #fec54aff27 to deliver 54,000 USD (reciprocal)

– Economic events added to blockchain

• Event #121ededff by Agent #12afbae334 resource #ec23ff49af quantity 3000 in fulfillment of commitment #11afde on 2017-03-04

• Event #93efcb34 by Agent #fec54aff27 resource #23223de quantity 54,000 in fulfillment of commitment #212321 on 2017-03-04

Duality

Page 17: Smart Contracts and REA Contracts - Rutgers Universityraw.rutgers.edu/docs/wcars/40wcars/Presentations/GrahamGal.pdf · REA Modeling at the Value Network level -- Trading Partner

Smart Contracts and REA Contracts 40th WCARS November 3-4, 2017

ContractsREA Contracts up the Supply Chain

Time

Big Bird

Grover

Elmo

Cookie Monster

7.31.0200

Order

cookie

7.31.0201

Charge

.0015

bitcoin

8.2.0701

Receive

cookie

8.3.1301

Release

.0015 bitcoin

SupplyChain

Grover Company Cookie Conversion Process

Big Bird Company Revenue Process

Big Bird Company Conversion ProcessGrover Company Ingredient Acquisition

Process

Page 18: Smart Contracts and REA Contracts - Rutgers Universityraw.rutgers.edu/docs/wcars/40wcars/Presentations/GrahamGal.pdf · REA Modeling at the Value Network level -- Trading Partner

Smart Contracts and REA Contracts 40th WCARS November 3-4, 2017

Tokenization

• Need Universal IDs

• What should be in an ID

• Need Universal Assurance

• What can we assure

• What Should Not be Revealed

• Supply Chain might reveal process inputs

Page 19: Smart Contracts and REA Contracts - Rutgers Universityraw.rutgers.edu/docs/wcars/40wcars/Presentations/GrahamGal.pdf · REA Modeling at the Value Network level -- Trading Partner

Smart Contracts and REA Contracts 40th WCARS November 3-4, 2017

Tokenization of Resources

Function Calls:Token_Type(_token) would return its typeToken_units(Token_type_quantity(_token) return units (gallons, barrels)Token_Quantity(_token) would call Token_type_quan and return 3000 gallonsAndToken_name(_token) could return fuel.gasoline

ResourceTypes

ResourceInstances

1 A

X Y

Page 20: Smart Contracts and REA Contracts - Rutgers Universityraw.rutgers.edu/docs/wcars/40wcars/Presentations/GrahamGal.pdf · REA Modeling at the Value Network level -- Trading Partner

Smart Contracts and REA Contracts 40th WCARS November 3-4, 2017

Tokenization of Resources with ComponentsSupply Chain Information

Resource Token

component token component tokencomponent token component token

Aggregation (made of)

Who made the engine in car with vin #...?What paint was used on car with vin # ?And even, where did the aluminum that was used in car with vin # come from?

Page 21: Smart Contracts and REA Contracts - Rutgers Universityraw.rutgers.edu/docs/wcars/40wcars/Presentations/GrahamGal.pdf · REA Modeling at the Value Network level -- Trading Partner

Smart Contracts and REA Contracts 40th WCARS November 3-4, 2017

Tokenization of AgentsAgent Types• Person as an aggregation of digital identities

• Medical• Financial• Academic• Social• ….

• Companies as an aggregation digital identities and as an aggregation of persons with digital identities

• Rather than a single uPort key the registry keeps a hash of all identities so Information_return (medkey, uPort) returns the medical information but does not provide access to financial

• Information_return(BP,uPort) could return information on the company such that Information_return((Token_name(_component)),uPort) could return information on the company that made the engine for a particular car

Juels, A. (2016). Reassembling Our Digital Selves. Daedalus, 145(1), 45-53.

Lundkvist, C., Heck, R., Torstensson, J., Mitton, Z., & Sena, M. (2016). UPORT: A Platform for Self-Sovereign Identity (Draft

Version 2016-10-20). NY: Consensys.

Page 22: Smart Contracts and REA Contracts - Rutgers Universityraw.rutgers.edu/docs/wcars/40wcars/Presentations/GrahamGal.pdf · REA Modeling at the Value Network level -- Trading Partner

Smart Contracts and REA Contracts 40th WCARS November 3-4, 2017

References

• “Query Issues in Continuous Reporting Environment,” Journal of Emerging Technologies, 2008.

• The REA Ontology, AAA Monograph forthcoming.