Prosaic contract
The ability to create prosaic contracts is launched in version 2.7.0 on 20 April 2019.[1]
Overview
We already have smart contracts that allow two parties to create a both human- and machine-readable contract that is enforced automatically, in a decentralized way, by all network participants. The parties can be anonymous, don’t need to have any reputation, and the trust is provided by a large community of independent automated verifiers who make sure all the rules are being followed. However, the scope of smart contracts is limited: they can only operate based on data available on the ledger and can allow only the terms that can be represented in a precise machine-readable language.
We also have a connection to the real world: a real-world identity that can be verified and privately stored on the user’s wallet, while a personal-data-free proof of this identity is published on the public DAG.
We now leverage the real-world identity to sign conventional contracts. We call them prosaic contracts because they are written in natural language, contrary to smart contracts that have code under the hood (and code is poetry).
The solution is very simple: Enable two parties to sign the text of the contract through an easy-to-use interface, store the contract’s text privately in the wallets of both parties, and post their signatures to the DAG where they are verified, timestamped, and stored forever by the network participants. After signing, the parties can easily find the contract text in their wallets to check that they are executed as agreed upon. In case of dispute, any of the parties can reveal the full contract to a third party, who can easily verify the validity of signatures through the DAG.