  Blockchains provide environments where parties can interact transparently and
securely peer-to-peer without needing a trusted third party. Parties can trust
the integrity and correctness of transactions and the verifiable execution of
binary code on the blockchain (smart contracts) inside the system. Including
information from outside of the blockchain remains challenging. A challenge is
data privacy. In a public system, shared data becomes public and, coming from a
single source, often lacks credibility. A private system gives the parties
control over their data and sources but trades in positive aspects as
transparency. Often, not the data itself is the most critical information but
the result of a computation performed on it.
  An example is research data certification. To keep data private but still
prove data provenance, researchers can store a hash value of that data on the
blockchain. This hash value is either calculated locally on private data
without the chance for validation or is calculated on the blockchain, meaning
that data must be published and stored on the blockchain -- a problem of the
overall data amount stored on and distributed with the ledger. A system we
called moving smart contracts bypasses this problem: Data remain local, but
trusted nodes can access them and execute trusted smart contract code stored on
the blockchain. This method avoids the system-wide distribution of research
data and makes it accessible and verifiable with trusted software.
