Upload
harm-bavinck
View
401
Download
6
Embed Size (px)
Citation preview
Computable Contracts
What is the problem?
What is a contract?A legal technology to create private
obligations enforceable by law.
The value of a contract stems largely from the incremental incentive effect of this legal enforcement -> damages and/or
performance.
In the beginning...
only one contract ...
Today trillions
Past innovation
Recent developments
Computable contracts
New legal world
Internet of Contracts
We need new tools
How does it work?
with impact
Key issues● Use of natural language and the
current state of NLP● Discrete and abstract terms like
“reasonable” or “best effort”● Legal uncertainty on both the law and
the facts
Research domains • Semantics• Norms• Organizations• Negotiation• Trust
Project SCCI
The rules of the game
init: contract.storage[OWNER] = msg.sender code:
cmd = msg.data[0]state = contract.storage[NDA_STATE]
# Owner initializes NDA contractif state == NDA_STATE_NEW and cmd == "new" and msg.sender == contract.storage[OWNER]:
contract.storage[COUNTERPARTY] = msg.data[1] contract.storage[NDA_HASH] = msg.data[2] contract.storage[NDA_VERSION] = msg.data[3] contract.storage[NDA_CREATION_TIMESTAMP] = block.timestamp contract.storage[ARBITRATOR] = msg.data[4] contract.storage[MAX_DAMAGES] = msg.data[5] contract.storage[NDA_STATE] = NDA_STATE_PENDING return(1)
# Counterparty accepts the NDA by specifying the NDA hashelif state == NDA_STATE_PENDING and cmd == "accept" and msg.sender ==
contract.storage[COUNTERPARTY]:
Contract Definition Language
Automated reasoning
Some challenges
Verification of facts
Cyber security
Legal language
Rules vs Standards
“Institutions will try to preserve the problem to which they are the
solution”
Clay Shirky (IT visionair)