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.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jan 01, 2017
Accession Number
AD1088351

Entities

Organizations

  • Carnegie Mellon University

Tags

Communities of Interest

  • Biomedical

DTIC Thesaurus Topics

  • Blockchain
  • Computer Programming
  • Contracts
  • Copyrights
  • Department Of Defense
  • Distributed Computing
  • Governments
  • Guarantees
  • Language
  • Law
  • Materials
  • Obsidian
  • Programming Languages
  • Smart Contracts
  • Software Development
  • Universities

Fields of Study

  • Computer science
  • Mathematics

Readers

  • Cybersecurity.
  • Database Systems and Applications
  • Systems Analysis and Design