  We examine blockchain technologies, especially smart contracts, as a platform
for decentralized applications. By providing a basis for consensus, blockchain
promises to upend business models that presuppose a central authority. However,
blockchain suffers from major shortcomings arising from an over-regimented way
of organizing computation that limits its prospects. We propose a
sociotechnical, yet computational, perspective that avoids those shortcomings.
A centerpiece of our vision is the notion of a declarative, violable contract
in contradistinction to smart contracts. This new way of thinking enables
flexible governance, by formalizing organizational structures; verification of
correctness without obstructing autonomy; and a meaningful basis for trust.
