Formalizing dynamic software updating
Smart contracts reduce mental and computational transaction costs imposed by either principals, third parties, or their tools.The contractual phases of search, negotiation, commitment, performance, and adjudication constitute the realm of smart contracts.
Smart contracts utilize protocols and user interfaces to facilitate all steps of the contracting process.Modern applications distributed across networks such as the Internet may need to evolve without compromising application availability.Object systems are well suited for runtime upgrade, as encapsulation clearly separates internal structure and external services.But the digital revolution challenges us to develop new institutions in a much shorter period of time.By extracting from our current laws, procedures, and theories those principles which remain applicable in cyberspace, we can retain much of this deep tradition, and greatly shorten the time needed to develop useful digital institutions.The dynamic class construct is given a formal semantics in rewriting logic, extending the semantics of the Creol language.
Smart contracts combine protocols with user interfaces to formalize and secure relationships over computer networks.
This paper considers a mechanism for dynamic class upgrade, allowing class hierarchies to be upgraded in such a way that the existing objects of the upgraded class and of its subclasses gradually evolve at runtime.
The mechanism is integrated in Creol, a high-level language which targets distributed applications by means of concurrent objects communicating by asynchronous method calls.
Smart contracts go beyond the vending machine in proposing to embed contracts in all sorts of property that is valuable and controlled by digital means.
Smart contracts reference that property in a dynamic, often proactively enforced form, and provide much better observation and verification where proactive measures must fall short.
Such evolved structures are often prohibitively costly to rederive.