Behavioral Economics: Professor Uwe Dulleck Transaction Costs … · 2019-05-15 · • Blockchain:...

Preview:

Citation preview

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/

BEST@qut.edu.au or uwe.dulleck@qut.edu.au

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?

Recommended