Smart Contracts and REA Contracts 40th WCARS November 3-4, 2017
Smart Contracts and REA Contracts
Dr. Graham GalIsenberg School of Management
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
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…………….
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
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
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
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)
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
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
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
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)
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)
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
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
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?
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
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
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
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
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?
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.
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.