Obsidian: A Safer Blockchain Programming Language
Abstract
What is a blockchain? Blockchain programming environments provide shared, global state on untrusted, distributed computing nodes. Global state consists of smart contracts, which include both data structures and transactions that manipulate them. Transactions can deploy smart contracts to the blockchain (initializing their state), or invoke code implemented in specific deployed smart contracts. "Code is law": a principle that suggests that a contract's code specifies an agreement between parties. This principle implies that contracts are immutable; bugs in them cannot be fixed after deployment.
Document Details
- Document Type
- Technical Report
- Publication Date
- Jan 01, 2017
- Accession Number
- AD1088351
Entities
Organizations
- Carnegie Mellon University