Distributed Electronic Rights in JavaScript

  • Mark S. Miller
  • Tom Van Cutsem
  • Bill Tulloh
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7792)


Contracts enable mutually suspicious parties to cooperate safely through the exchange of rights. Smart contracts are programs whose behavior enforces the terms of the contract. This paper shows how such contracts can be specified elegantly and executed safely, given an appropriate distributed, secure, persistent, and ubiquitous computational fabric. JavaScript provides the ubiquity but must be significantly extended to deal with the other aspects. The first part of this paper is a progress report on our efforts to turn JavaScript into this fabric. To demonstrate the suitability of this design, we describe an escrow exchange contract implemented in 42 lines of JavaScript code.


security distributed objects object-capabilities smart contracts 


  1. 1.
    Szabo, N.: Formalizing and securing relationships on public networks. First Monday 2(9) (1997)Google Scholar
  2. 2.
    Tribble, E.D., Miller, M.S., Hardy, N., Krieger, D.: Joule: Distributed Application Foundations. Technical Report ADd03.4P, Agorics Inc., Los Altos (December 1995), erights.org/history/joule/
  3. 3.
    Miller, M.S., Morningstar, C., Frantz, B.: Capability-Based Financial Instruments. In: Frankel, Y. (ed.) FC 2000. LNCS, vol. 1962, pp. 349–378. Springer, Heidelberg (2001), www.erights.org/elib/capability/ode/index.html CrossRefGoogle Scholar
  4. 4.
    Close, T.: Waterken Server: capability-based security for the Web (2004), waterken.sourceforge.net
  5. 5.
  6. 6.
    Yoo, S., Killian, C., Kelly, T., Cho, H.K., Plite, S.: Composable reliability for asynchronous systems. In: Proceedings of the 2012 USENIX Conference on Annual Technical Conference, USENIX ATC 2012, p. 3. USENIX Association, Berkeley (2012)Google Scholar
  7. 7.
    Miller, M.S.: Robust Composition: Towards a Unified Approach to Access Control and Concurrency Control. PhD thesis, Johns Hopkins University, Baltimore, Maryland, USA (May 2006)Google Scholar
  8. 8.
    Mettler, A.: Language and Framework Support for Reviewably-Secure Software Systems. PhD thesis, EECS Department, University of California, Berkeley (December 2012)Google Scholar
  9. 9.
    Taly, A., Erlingsson, U., Mitchell, J.C., Miller, M.S., Nagra, J.: Automated analysis of security-critical javascript apis. In: 2011 IEEE Symposium on Security and Privacy (SP), pp. 363–378. IEEE (2011)Google Scholar
  10. 10.
    Jones, A.K.: Protection in Programmed Systems. PhD thesis, Department of Computer Science, Carnegie-Mellon University (June 1973)Google Scholar
  11. 11.
    Miller, M.S., Tribble, E.D., Shapiro, J.: Concurrency Among Strangers: Programming in E as Plan Coordination. In: De Nicola, R., Sangiorgi, D. (eds.) TGC 2005. LNCS, vol. 3705, pp. 195–229. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  12. 12.
    Liskov, B., Shrira, L.: Promises: Linguistic Support for Efficient Asynchronous Procedure Calls in Distributed Systems. In: PLDI 1988: Proc. ACM SIGPLAN 1988 Conference on Programming Language Design and Implementation, pp. 260–267. ACM Press, New York (1988)CrossRefGoogle Scholar
  13. 13.
    Close, T.: Web-key: Mashing with permission. In: W2SP 2008 (2008)Google Scholar
  14. 14.
    Jensen, M.C., Meckling, W.H.: Specific and general knowledge and organizational structure. Journal of Applied Corporate Finance 8(2), 4–18 (1995)CrossRefGoogle Scholar
  15. 15.
    Steiner, H.: An Essay on Rights. Wiley-Blackwell (1994)Google Scholar
  16. 16.
    Smith, H.E.: Exclusion versus governance: two strategies for delineating property rights. Journal of Legal Studies 31 (2002)Google Scholar
  17. 17.
    Ostrom, E.: Governing the Commons: The Evolution of Institutions for Collective Action. Cambridge University Press (1990)Google Scholar
  18. 18.
    Hayek, F.A.: Law, Legislation and Liberty. Rules and Order, vol. 1. University of Chicago Press (1973)Google Scholar
  19. 19.
    Hardy, N.: The Confused Deputy. Operating Systems Review (October 1988)Google Scholar
  20. 20.
    Mossoff, A.: What is property-putting the pieces back together. Arizona Law Review 45, 371 (2003)Google Scholar
  21. 21.
    Epstein, R.A.: Simple Rules for a Complex World. Harvard University Press (1995)Google Scholar
  22. 22.
    Fox, D.: Property rights in money. Oxford University Press (2008)Google Scholar
  23. 23.
    Barnett, R.E.: A consent theory of contract. Columbia Law Review 86, 269 (1986)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Mark S. Miller
    • 1
  • Tom Van Cutsem
    • 2
  • Bill Tulloh
    • 1
  1. 1.Google, Inc.USA
  2. 2.Vrije Universiteit BrusselBelgium

Personalised recommendations