Almost two centuries ago Pierre-Joseph Proudhon proposed social contracts -- voluntary agreements among free people -- as a foundation from which an egalitarian and just society can emerge. A digital social contract is the novel incarnation of this concept for the digital age: a voluntary agreement between people that is specified, undertaken, and fulfilled in the digital realm. It embodies the notion of "code-is-law" in its purest form, in that a digital social contract is in fact a program -- code in a social contracts programming language, which specifies the digital actions parties to the social contract may take; and there is no outside jurisdiction to such a contract -- the parties to the contract are entrusted, equally, with the task of ensuring that each party abides by the contract. Parties to a social contract are identified via their public keys, and the one and only type of action a party to a digital social contract may take is a "crypto-speech act" -- signing an utterance with her private key and sending it to the other parties to the contract. Here, we present a formal definition of a digital social contracts as a transition system that specifies a system of automata, one automaton per party, which communicate asynchronously via crypto-speech acts, where the output of each automaton is the input of all the other automata . We outline an abstract design for a social contracts programming language , whose rules specify social contract transitions, and show, via programming examples, that key application areas, including social groups; communities of hosts and tourists ; egalitarian currency networks; and democratic community governance, can all be expressed elegantly and efficiently as digital social contracts . Social contracts may include anonymous agents, whose code is executed jointly by all parties to the contract, similarly to so-called "smart contracts" .
Almost two centuries ago Pierre-Joseph Proudhon proposed social contracts -- voluntary agreements among free people -- as a foundation from which an egalitarian and just society can emerge. A digital social contract is the novel incarnation of this concept for the digital age: a voluntary agreement between people that is specified, undertaken, and fulfilled in the digital realm. It embodies the notion of "code-is-law" in its purest form, in that a digital social contract is in fact a program -- code in a social contracts programming language, which specifies the digital actions parties to the social contract may take; and the parties to the contract are entrusted, equally, with the task of ensuring that each party abides by the contract. Parties to a social contract are identified via their public keys, and the one and only type of action a party to a digital social contract may take is a "crypto-speech act" -- signing an utterance with her private key and sending it to the other parties to the contract. Here, we present a formal definition of a digital social contract as agents that communicate asynchronously via crypto-speech acts, where the output of each agent is the input of all the other agents . We outline an abstract design for a social contracts programming language and show, via programming examples, that key application areas, including social community; simple sharing-economy applications ; egalitarian currency networks; and democratic community governance, can all be expressed elegantly and efficiently as digital social contracts .
D
there is no outside jurisdiction to such a contract --
R
contracts as a transition system that specifies a system of automata, one automaton per party, which
contract as agents that
R
automaton
agent
R
automata
agents
D
, whose rules specify social contract transitions,
R
groups; communities of hosts and tourists
community; simple sharing-economy applications
D
. Social contracts may include anonymous agents, whose code is executed jointly by all parties to the contract, similarly to so-called "smart contracts"