corda/experimental/sandbox
Michele Sollecito 0b35a99c5a [CORDA-682]: Claim Jigsaw module names (#1824)
[CORDA-682] Specify Jigsaw module names for all JAR projects.
2017-10-06 15:37:33 +01:00
..
src Ignore the flaky sandbox test, which keeps throwing stackoverflow exceptions. 2017-05-26 09:39:42 +01:00
build.gradle [CORDA-682]: Claim Jigsaw module names (#1824) 2017-10-06 15:37:33 +01:00
README.md Move sandbox code into the experimental module to reflect its status 2016-11-29 10:59:13 +00:00

JVM sandbox

The code in this submodule is not presently integrated with the rest of the platform and stands alone. It will eventually become a part of the node software and enforce deterministic and secure execution on smart contract code, which is mobile and may propagate around the network without human intervention. Note that this sandbox is not designed as a anti-DoS mitigation.

To learn more about the sandbox design please consult the Corda technical white paper.

This code was written by Ben Evans.

The sandbox has been briefly reviewed but not yet tested or thoroughly reviewed. It should NOT be used or relied upon in any production setting until this warning is removed.

Roadmap

  • Thorough testing, code and security review.
  • Possibly, a conversion to Kotlin.
  • Make the instrumentation ahead of time only.
  • Finalise the chosen subset of the Java platform to expose to contract code.
  • Create the pre-instrumented sandboxed class files and check them in.
  • Integrate with the AttachmentsClassLoader
  • Add OpenJDK/Avian patches for deterministic Object.hashCode() implementation.