Contents Introduction Background A Glimpse of Hope Motivations Protocol Overview Ambients Protocol Summary Properties of the Ambients Protocol Distributed Programs as Ambients Programming Model Process Algebra Ambient Calculus Ambient Calculus Syntax Ambient - The Computation Container Ambient Capabilities Protocol Primitives Values Computation Primitives Computation Context: func Computation Parameter: arg Function Expressions With func and arg Distribution Primitives Request Computation: call Return Computation: return Evaluation Strategies Computation Abstractions Types Monoids Functors Compilation Model Translating Ambients Programs Program Bytecode The Bytecode Format Opcodes Targets Instruction Order Execution Model Ambients as Logs Partial Order Integrity Verifiability Logs Events Event Data Structure Creating Ambients Defining Programs Duality of Capabilities and Co-capabilities Transferring Control Evaluating Result Identities and Addresses Runtime Environment The Virtual Machine Discovery State Machine Primitive Data Types System Interface Applications Data Structures Databases Protocols Decentralized Applications Digital Services Future Work Research Development Conclusion References