Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
The Dylan reference manual: the definitive guide to the new object-oriented dynamic language
The Dylan reference manual: the definitive guide to the new object-oriented dynamic language
On the criteria to be used in decomposing systems into modules
Communications of the ACM
Protection in programming languages
Communications of the ACM
HYDRA: the kernel of a multiprocessor operating system
Communications of the ACM
Programming semantics for multiprogrammed computations
Communications of the ACM
The Java Language Specification
The Java Language Specification
Anonymous Investing: Hiding the Identities of Stockholders
FC '99 Proceedings of the Third International Conference on Financial Cryptography
ACM SIGOPS Operating Systems Review
SP '96 Proceedings of the 1996 IEEE Symposium on Security and Privacy
A Security Kernel Based on the Lambda-Calculus
A Security Kernel Based on the Lambda-Calculus
Eros: a capability system
The Calculi of Lambda Conversion. (AM-6) (Annals of Mathematics Studies)
The Calculi of Lambda Conversion. (AM-6) (Annals of Mathematics Studies)
A universal modular ACTOR formalism for artificial intelligence
IJCAI'73 Proceedings of the 3rd international joint conference on Artificial intelligence
User Interaction Design for Secure Systems
ICICS '02 Proceedings of the 4th International Conference on Information and Communications Security
CPCMS: A Configuration Management System Based on Cryptographic Names
Proceedings of the FREENIX Track: 2002 USENIX Annual Technical Conference
Access and Integrity Control in a Public-Access, High-Assurance Configuration Management System
Proceedings of the 11th USENIX Security Symposium
Financial Cryptography in 7 Layers
FC '00 Proceedings of the 4th International Conference on Financial Cryptography
Vulnerabilities in Synchronous IPC Designs
SP '03 Proceedings of the 2003 IEEE Symposium on Security and Privacy
Public key distribution through "cryptoIDs"
Proceedings of the 2003 workshop on New security paradigms
Lightweight Static Capabilities
Electronic Notes in Theoretical Computer Science (ENTCS)
Non-delegatable authorities in capability systems
Journal of Computer Security
Concurrency among strangers: programming in E as plan coordination
TGC'05 Proceedings of the 1st international conference on Trustworthy global computing
Convergence in language design: a case of lightning striking four times in the same place
FLOPS'06 Proceedings of the 8th international conference on Functional and Logic Programming
The oz-e project: design guidelines for a secure multiparadigm programming language
MOZ'04 Proceedings of the Second international conference on Multiparadigm Programming in Mozart/Oz
Credit transfer for market-based infrastructure
FC'06 Proceedings of the 10th international conference on Financial Cryptography and Data Security
Distributed electronic rights in javascript
ESOP'13 Proceedings of the 22nd European conference on Programming Languages and Systems
The need for capability policies
Proceedings of the 15th Workshop on Formal Techniques for Java-like Programs
Hi-index | 0.00 |
Every novel cooperative arrangement of mutually suspicious parties interacting electronically -- every smart contract -- effectively requires a new cryptographic protocol. However, if every new contract requires new cryptographic protocol design, our dreams of cryptographically enabled electronic commerce would be unreachable. Cryptographic protocol design is too hard and expensive, given our unlimited need for new contracts.Just as the digital logic gate abstraction allows digital circuit designers to create large analog circuits without doing analog circuit design, we present cryptographic capabilities as an abstraction allowing a similar economy of engineering effort in creating smart contracts. We explain the E system, which embodies these principles, and show a covered-call-option as a smart contract written in a simple security formalism independent of cryptography, but automatically implemented as a cryptographic protocol coordinating five mutually suspicious parties.