  Public blockchains such as Ethereum and Bitcoin do not give enterprises the
privacy they need for many of their business processes. Consequently
consortiums are exploring private blockchains to keep their membership and
transactions private. Ethereum Private Sidechains is a private blockchain
technology which allows many blockchains to be operated in parallel.
Communication is needed between Ethereum Private Sidechains to allow a function
in a contract on one sidechain to execute function calls which return values
from, or update the state of, another sidechain. We propose a crosschain
technique which allows transactions to be executed atomically across
sidechains, introduce a new mechanism for proving values across sidechains,
describe a transaction locking mechanism which works in the context of
blockchain to enable atomic transactions, and a methodology for providing a
global time-out across sidechains. We outline the programming model to be used
with this technology and provide as an example, a variable amount atomic swap
contract for exchanging value between sidechains. Although this paper presents
Atomic Crosschain Transaction technology in the context of Ethereum Private
Sidechains, we discuss how this technology can be readily applied to many
blockchain systems to provide cross-blockchain transactions.
