Abstract
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.
Chapter PDF
Similar content being viewed by others
References
Szabo, N.: Formalizing and securing relationships on public networks. First Monday 2(9) (1997)
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/
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
Close, T.: Waterken Server: capability-based security for the Web (2004), waterken.sourceforge.net
Close, T.: web_send, waterken.sourceforge.net/web_send/
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)
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)
Mettler, A.: Language and Framework Support for Reviewably-Secure Software Systems. PhD thesis, EECS Department, University of California, Berkeley (December 2012)
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)
Jones, A.K.: Protection in Programmed Systems. PhD thesis, Department of Computer Science, Carnegie-Mellon University (June 1973)
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)
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)
Close, T.: Web-key: Mashing with permission. In: W2SP 2008 (2008)
Jensen, M.C., Meckling, W.H.: Specific and general knowledge and organizational structure. Journal of Applied Corporate Finance 8(2), 4–18 (1995)
Steiner, H.: An Essay on Rights. Wiley-Blackwell (1994)
Smith, H.E.: Exclusion versus governance: two strategies for delineating property rights. Journal of Legal Studies 31 (2002)
Ostrom, E.: Governing the Commons: The Evolution of Institutions for Collective Action. Cambridge University Press (1990)
Hayek, F.A.: Law, Legislation and Liberty. Rules and Order, vol. 1. University of Chicago Press (1973)
Hardy, N.: The Confused Deputy. Operating Systems Review (October 1988)
Mossoff, A.: What is property-putting the pieces back together. Arizona Law Review 45, 371 (2003)
Epstein, R.A.: Simple Rules for a Complex World. Harvard University Press (1995)
Fox, D.: Property rights in money. Oxford University Press (2008)
Barnett, R.E.: A consent theory of contract. Columbia Law Review 86, 269 (1986)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Miller, M.S., Van Cutsem, T., Tulloh, B. (2013). Distributed Electronic Rights in JavaScript. In: Felleisen, M., Gardner, P. (eds) Programming Languages and Systems. ESOP 2013. Lecture Notes in Computer Science, vol 7792. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-37036-6_1
Download citation
DOI: https://doi.org/10.1007/978-3-642-37036-6_1
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-37035-9
Online ISBN: 978-3-642-37036-6
eBook Packages: Computer ScienceComputer Science (R0)