behavioral economics: professor uwe dulleck transaction costs … · 2019-05-15 · • blockchain:...
TRANSCRIPT
Blockchain Research
Behavioral Economics: Professor Uwe Dulleck
Transaction Costs & Institutions: Rui Torres de Oliveira
Atomic Crosschain Transactions: Peter Robinson
May 1, 2019
Behavioural Economics& DLTProfessor Uwe Dulleck, Director
BEST (Centre for Behavioural Economics, Society and Technology)
Overview
Behavioural Economics & BEST – What’s new?
Economics and Behavioural Economics and Blockchain
BE as an approach to evaluate Blockchain solutions
Based on collaborations with:
Introduction to
BESTBEST VISIONEvidence based behavioural researchthat transforms society
Here: What are the Economic and Behavioural Barriers to adopting a new technology (DLT)? How can BE help to develop solutions that are used correctly? Is BE an approach to evaluate ‘What works’?
Experiment
Please enter the following on your smartphone/tablet
http://qube.edu.au/coral/exp/start
Gandhi
Please enter answers to the questions asked about Gandhi’s age.(Please do not google Gandhi’s age!)
Results Gandhi
Anchoring BiasStrack and Mussweiler (1997) asked these questions:
Asking first whether Gandhi was older or younger than 9 years when he died, led to an average estimate of Gandhi
being 50 years old when he died.
Asking first whether Gandhi was older or younger than 140 years when he died, led to an average estimate of Gandhi being 67 years old when he
died.
… he died at 78.
“Thinking, fast and slow” and “nudge”If systematic biases affect our choices then it matters how we present them to the decision maker.
Choice Architecture or “nudging” can improve decisions about health, wealth and happiness.
BE combines the normative power of economics with behavioural insights to improve decisions.
BE provides a protocol and tools of how to test such interventions.
The BEST IDEAHow we solve problems
Insight
Design
Evaluate
Achieve
Blockchain (Beefledger) and Economics
• Mechanism Design Who needs to rewarded with Beeftokens? Suppliers or Consumers?
• Understanding incentives
• Example: Transport of Cattle from Feed lock to Abattoir
• Implementation on the Blockchain
Bitcoin/Beefledger– Behavioural economics
• Behaviour / acceptance requires on trust of humans.
• we do not need to understand a technology to use it (but we need to trust it)(Berentsen, Schaer, 2017)
• Economic behaviour in an abstract and semi-anonymous world - with better documentation on what a participant does or does not do. Homo Economicus vs Humans
Behavioural economics as an evaluation tool
BE advocates to evaluate interventions/treatments/ reforms using Experimental Methods
RCTs, Lab Experiments, Natural Experiments (use of existing data)
Determines a priori the relevant outcome variables
Randomizes the “intervention” over a control and a treatment group to establish causality.
For more information contact BESTwww.research.qut.edu.au/best/
Rui Torres de Oliveira, Daniel Rotting, Marta Indulska
Transaction costs, institutions and blockchains:Towards a new paradigm
14
The market
15
The market
16
The market
17
The market
▪ “…the key to a nation’s prosperity is found in a free market” - Adam Smith (1776) in The Wealth of Nations
▪ As a free market maximizes economic growth and the prosperity of a nation, the government should stand aside
▪ If Adam Smith is right – if the free market is, in fact, the best mechanism for allocating productive resources, people and capital in a society - why are so many economic transactions are conducted within the boundary of the firm?
18
Assumptions
▪ Industrial and post-industrial ages: costs of economic transactions in a free market were greater than the costs within the boundaries of the firm
▪ “…having regard to the fact that if production is regulated by price movements [in a free market], production could be carried out without any organization at all, well might we ask, why is there any organization?” (Coase, 1937: 388)
19
Assumptions
▪ Coase (1937) - Why is there any organization?
• the cost of search for finding the right information, people and assets;
• the cost of contracting between independent economic actors;
• the cost of coordinating autonomous economic actors;
• the cost of establishing trust among economic actors unknown to one another. 20
Assumptions
▪ Williamson (1975) - transaction costs have two behavioral assumptions:
• Bounded-rationality - based on Simon’s (1947: xxiv) now ubiquitous assertion that economic actors are “intendedly rational but only limitedly so”
• Opportunism - which characterizes economic actors as “self-interest seeking with guile” (Williamson, 1975: 26)
21
Assumptions
22
BLOCKCHAIN
“Today, Blockchain - the technology behind the digital currency bitcoin - might seem like a trinket for
computer geeks. But once widely adopted, it will transform the world.”
Ginni Rometty, CEO of IBM (Rometty, 2016)
23
The Blockchain potential
▪ Based on a decentralized, distributed and secure public ledger of records (and more recently also private)
▪ Allows autonomous economic actors to share information, contract and transact with one another without need for a central authority
▪ Transactions are immutable; implemented and maintained by a network of independent members connected through the chain 24
Blockchain Technology
25
For example
26
Blockchain Technology
▪ A need for careful analysis of the effects of new technologies, such as blockchain, on different institutional and organizational frameworks
▪ A field of research that we term organizational democratization
▪ Aim: to reason about the alignment of Blockchain-enabled enterprise and traditional institutional and organizational frameworks
27
Motivation & Aims
The cost of search for finding the right information, people and assets
• Internet has significantly reduced information search costs
• Problem with quality/uncertainty of the information found
• Blockchain: Adds credibility – information is shared among a distributed, decentralized public ledger • makes the access publicly available, more secure and less subject to
potential alteration
28
Blockchain vs Coase
The cost of contracting between independent economic actors
• Many economic transactions are conducted within the boundary of the firm where no contracts are needed
• Blockchain: Smart contracts are self-enforcing agreements between economic actors
• do not require market agents or intermediaries to validate
• e.g. real estate transactions, which require banks for escrow account transaction and notaries for validating the transaction 29
Blockchain vs Coase
The cost of coordinating autonomous economic actors
• Firms need to coordinate with other firms due to production factors which translate into uncertainty
• Blockchain: cost of identifying, legitimizing and coordinating specialized economic actors is reduced considerably
• may lead to the creation of open network enterprises that make partial use of the blockchain technology for those processes and manufacturing procedures that are not as complex – e.g. supply chain of parts
30
Blockchain vs Coase
The cost of reducing uncertainty among economic actors unknown to one another
• Economic agents are opportunistic if they can; in developing countries, for example, economic agents are more vulnerable to predatory self-interest behavior
• Blockchain: capable to significantly reduce these costs in a free market
• every transaction by any economic actor is recorded in a public ledger • economic actors who are opportunistic can be identified and flagged as such in
the system 31
Blockchain vs Coase
32
Blockchain & Transactions
Real Estate Contract – no bank, no escrow account, no notary
Supply Chain – small companies that want fast and simple deals
Organizations with low levels of structure
Cheaper and faster financial transfer
33
Conclusion• Formal institutions are unlikely to disappear
• Blockchain technology will require many “rules of the game” to be revised and possibly rewritten
• Need to study the effects of Blockchain in the context of existing theories and frameworks
Atomic Crosschain Transactionsfor
Ethereum Private SidechainsPeter Robinson, May 1, 2019
AttributionI have been the driving force behind the ideas in this talk. However, this technology has come together as a result of robust conversations with and thoughts from many people.
Contributors:
● PegaSys: Dr Sandra Johnson, Dr David Hyland-Wood, Roberto Saltini, John Brainard, Dr Shahan Khatchadourian, Horacio Mijail, and Rob Dawson.
● University of Queensland: Dr Marius Portman.● Independent Researcher: Dr Catherine Jones.
Atomic Crosschain Transactions ● Atomic Crosschain Transactions for Ethereum Private Sidechains paper:
https://arxiv.org/abs/1904.12079
Atomic Crosschain TransactionsGoal is to provide access to:
● Data on other blockchains.● Functionality on other blockchains.
SidechainSidechains are blockchains which rely on a separate blockchain for their overall utility.
The reliance could be for:
● Enhanced Security: Pin sidechain state to a blockchain.● Addressing Information: Ethereum Registration Authorities.● Shared State Storage: Store data which is used across all sidechains.
Ethereum Private Sidechains● Ephemeral: Limited lifespan: created, used, archived.● On-demand: Quickly created when needed between unrelated parties.● Permissioned: Restrict which nodes can connect to the network.● Private: Hide the participant list.● Confidential: Data is encrypted in-flight and at rest.
Ethereum Transactions and ViewsTransactions:
● Function call which does not return a value and updates state.● Executes on the network: mined.● Value Transfer, contract deployment, function call.
Views:
● Function call which returns a value but does not update state.● Executes on the local node.● Function call.
Crosschain Transaction
Sidechain 3
Sidechain 2
Sidechain 1
contract Controlint val;function condBuy(int _v){ if (sc2.oracle.rate() < 100){ sc3.c.buy(_v); val += _v; }}
OriginatingEthereum Transaction
Subordinate Ethereum View
contract Oracleint exRate;function rate() view { return exRate;}
contract Commodityint val;function buy(int _v){ val = _v;}
SubordinateEthereumTransaction
App
Atomic Crosschain Transaction
Sidechain 3
Sidechain 2
Sidechain 1
contract Controlint val;function condBuy(int _v){ if (sc2.oracle.rate() < 100){ sc3.c.buy(_v); val += _v; }}
OriginatingEthereum Transaction
Subordinate Ethereum View
contract Oracleint exRate;function rate() view { return exRate;}
contract Commodityint val;function buy(int _v){ val = _v;}
SubordinateEthereumTransaction
App
Atomic: All transactions are committed, or all transactions fail.
Atomic Crosschain Transactions● Originating Transactions can contain Subordinate Transactions and
Subordinate Views.● Subordinate Transactions can contain Subordinate Transactions and
Subordinate Views.● Subordinate Views can only contain Subordinate Views.● Unlimited nesting is allowed, though may not be practical.
Enterprise BEnterprise A
Multichain Node A
MultichainNode B
Sidechain 1 Sidechain 1
Enterprise C
MultichainNode C
Coordination Blockchain
Coordination Blockchain
Coordination Blockchain
Sidechain 2
Sidechain 3
Sidechain 4
Sidechain 3
Sidechain 4
Sidechain 2
Sidechain 5
Application
Sidechain 5
Enterprise BEnterprise A
Multichain Node A
MultichainNode B
Sidechain 1 Sidechain 1
Enterprise C
MultichainNode C
Coordination Blockchain
Coordination Blockchain
Coordination Blockchain
Sidechain 2
Sidechain 3
Sidechain 4
Sidechain 3
Sidechain 4
Sidechain 2
Sidechain 5
Application
Sidechain 5Multichain Node: Logical grouping of Sidechain nodes which work together.
Enterprise BEnterprise A
Multichain Node A
MultichainNode B
Sidechain 1 Sidechain 1
Enterprise C
MultichainNode C
Coordination Blockchain
Coordination Blockchain
Coordination Blockchain
Sidechain 2
Sidechain 3
Sidechain 4
Sidechain 3
Sidechain 4
Sidechain 2
Sidechain 5
Application
Sidechain 5Multichain Node must contain Sidechain nodes for all sidechains which make up the Crosschain Transaction’s call graph.
Enterprise BEnterprise A
Multichain Node A
MultichainNode B
Sidechain 1 Sidechain 1
Enterprise C
MultichainNode C
Coordination Blockchain
Coordination Blockchain
Coordination Blockchain
Sidechain 2
Sidechain 3
Sidechain 4
Sidechain 3
Sidechain 4
Sidechain 2
Sidechain 5
Application
Sidechain 5All Multichain Nodes which have nodes on sidechains which are part of the Crosschain Transaction must be on a shared Coordination Blockchain.
Atomic Crosschain Transactions
Sidechain 4
Sidechain 1Originating Transaction
Sidechain 2
Sidechain 5
Sidechain 3
Subordinate View
Subordinate Transaction
Application
Subordinate View
Subordinate View
Enterprise BEnterprise A
Multichain Node A
MultichainNode B
Sidechain 1 Sidechain 1
Enterprise C
MultichainNode C
Coordination Blockchain
Coordination Blockchain
Coordination Blockchain
Sidechain 2
Sidechain 3
Sidechain 4
Sidechain 3
Sidechain 4
Sidechain 2
Sidechain 5
Application
Sidechain 5Enterprise C’s Sidechain 2 node needs to be sure of the results of Ethereum View from Sidechain 3 and 5.
Enterprise BEnterprise A
Multichain Node A
MultichainNode B
Sidechain 1 Sidechain 1
Enterprise C
MultichainNode C
Coordination Blockchain
Coordination Blockchain
Coordination Blockchain
Sidechain 2
Sidechain 3
Sidechain 4
Sidechain 3
Sidechain 4
Sidechain 2
Sidechain 5
Application
Sidechain 5Enterprise C’s Sidechain 4 node needs to be sure that the transaction on Sidechain 1 was committed, to ensure atomic behaviour.
Enterprise BEnterprise A
Multichain Node A
MultichainNode B
Sidechain 1 Sidechain 1
Enterprise C
MultichainNode C
Coordination Blockchain
Coordination Blockchain
Coordination Blockchain
Sidechain 2
Sidechain 3
Sidechain 4
Sidechain 3
Sidechain 4
Sidechain 2
Sidechain 5
Application
Sidechain 5Enterprise B’s Sidechain 1 node needs to be sure that the transaction on Sidechain 4 was committed, to ensure atomic behaviour.
Proving Values Across Sidechains● Values are proved using a threshold signature scheme.
Sidechain Public Key
Sidechain Private Key Share A
Sidechain Private Key Share B
Sidechain Private Key Share C
Sidechain Private Key Share D
Data
Threshold Sign
Threshold Sign
Threshold Sign
Threshold Sign
Signature Share A
Signature Share B
Signature Share C
Signature Share D
Threshold Signature
Combine any M or N Signature Shares
DataVerify Signature
Proving Values Across Sidechains● Sidechain Public Key is stored in the Crosschain Coordination Contract
on the Coordination Blockchain.● Each of N validators on a sidechain hold a Private Key Share. ● Values signed by any M validators can be verified using the Sidechain Public
Key.
Enterprise BEnterprise A
Multichain Node A
MultichainNode B
Sidechain 1 Sidechain 1
Enterprise C
MultichainNode C
Coordination Blockchain
Coordination Blockchain
Coordination Blockchain
Sidechain 2
Sidechain 3
Sidechain 4
Sidechain 3
Sidechain 4
Sidechain 2
Sidechain 5
Application
Sidechain 5Sidechain 1 is the Originating Sidechain for this transaction.
Enterprise BEnterprise A
Multichain Node A
MultichainNode B
Sidechain 1 Sidechain 1
Enterprise C
MultichainNode C
Coordination Blockchain
Coordination Blockchain
Coordination Blockchain
Sidechain 2
Sidechain 3
Sidechain 4
Sidechain 3
Sidechain 4
Sidechain 2
Sidechain 5
Application
Sidechain 5All nodes in Multichain Node A are Coordinating Nodes for this transaction.
Enterprise BEnterprise A
Multichain Node A
MultichainNode B
Sidechain 1 Sidechain 1
Enterprise C
MultichainNode C
Coordination Blockchain
Coordination Blockchain
Coordination Blockchain
Sidechain 2
Sidechain 3
Sidechain 4
Sidechain 3
Sidechain 4
Sidechain 2
Sidechain 5
Application
Sidechain 5Coordinating Nodes work with other Validator Nodes on a sidechain to threshold sign messages.
Crosschain Transaction Start● Crosschain Transaction Start message: Submitted by the Coordinating Node
on the Originating Sidechain to the Crosschain Coordination Contract on the Coordination Blockchain to indicate the start of a Crosschain Transaction.
Crosschain Transaction Start messageContains:
● Originating Sidechain Identifier.● Crosschain Transaction identifier.● Crosschain Blockchain Identifier.● Crosschain Coordination Contract address.● Crosschain Transaction Time-out, measured in Coordination Blockchain
number of blocks.
Subordinate View Result ● Subordinate View Result message: Sent by the Coordinating Node on a
sidechain which has executed a Subordinate View to the Coordinating Node on the sidechain which called the Subordinate View to convey the result of the view.
Subordinate View Result Contains:
● Originating Sidechain Identifier ● Crosschain Transaction Identifier ● Coordination Blockchain Identifier ● Crosschain Coordination Contract address ● Sidechain Identifier of the sidechain that the Subordinate View executed on.● Block number when the Subordinate View executed. ● Subordinate View Hash ● Result
Subordinate Transaction Ready● Subordinate Transaction Ready message: Sent by the Coordinating Node on
the sidechain on which the Subordinate Transaction executed to the Coordinating Node on the Originating Sidechain to indicate the Subordinate Transaction has been mined, the transaction is final, and the updates are ready to be committed.
Subordinate Transaction Ready● The act of mining the Originating or a Subordinate Transaction means that the
contract is locked, and the state updates are provisional, and irrevocable.
Subordinate Transaction ReadyContains:
● Originating Sidechain Identifier ● Crosschain Transaction Identifier ● Coordination Blockchain Identifier ● Crosschain Coordination Contract address ● Sidechain Identifier of the sidechain that the Subordinate Transaction
executed on.● Transaction Hash
Crosschain Transaction Commit● Crosschain Transaction Commit message: Submitted by the Coordinating
Node on the Originating Sidechain to the Crosschain Coordination Contract to indicate that the transaction should be committed.
Crosschain Transaction Commit● The Commit message is only accepted if it is submitted before the
Coordination Contract block number is greater than the Crosschain Transaction Timeout + the block number when the Crosschain Transaction Start message was submitted.
Crosschain Transaction CommitContains:
● Originating Sidechain Identifier ● Crosschain Transaction Identifier ● Coordination Blockchain Identifier ● Crosschain Coordination Contract address
Pantheon Implementation● Work is in progress.
Other Blockchains● This technology could be applied to other private blockchain systems to allow
Crosschain Transactions across blockchains: Pantheon to Hyperledger Fabric for instance.
● We are analysing how this technology could be applied to permissionless (public) blockchains.
Questions?