  Atomic Crosschain Transaction technology allows composable programming across
private Ethereum blockchains. It allows for inter-contract and inter-blockchain
function calls that are both synchronous and atomic: if one part fails, the
whole call graph of function calls is rolled back. It is not based on existing
techniques such as Hash Time Locked Contracts, relay chains, block header
transfer, or trusted intermediaries. BLS Threshold Signatures are used to prove
to validators on one blockchain that information came from another blockchain
and that a majority of the validators of that blockchain agree on the
information. Coordination Contracts are used to manage the state of a
Crosschain Transaction and as a repository of Blockchain Public Keys. Dynamic
code analysis and signed nested transactions are used together with live
argument checking to ensure execution only occurs if the execution results in
valid state changes. Contract Locking and Lockability enable atomic updates.
