Skip to content

PDO To Do List

Mic Bowman edited this page Mar 12, 2019 · 13 revisions

This is non-comprehensive to-do list for PDO:

  • Authentication mechanism for shutting down the storage, enclave and provisioning services; this should probably take the form of a signed nonce where the authorized key is stored in the service configuration file.
  • We have start, stop and status scripts for provisioning, enclave and storage services. These are all roughly the same shell script. It would be nice to have a more general mechanism for starting and stopping the services.
  • Prevent contract creator from provisioning other enclaves. This will require changing the registration transaction for Sawtooth to take a list of enclaves and then will require it to reject provisioning keys for any other enclaves. The provisioning service should also check to make sure that requesting enclaves are in the ledger.
  • In the test procedures (test-secrets, test-request and test-contract) replace the secrets helper with a wrapper for the provisioning service enclave like what we already do for the contract enclave.
  • DONE Replace the code passed in the invocation request with a hash. Require that the code be pushed into the storage service prior to any method invocation. That should remove one more big chunk of data from the slow path.
  • DONE Replace the JSON encoding for the contract invocation request and response. This adds a number of additional format conversions that just slow things down. The JSON was helpful for getting the APIs figured out & debugging, but need to be replace with something faster.
  • Remove the root block from the Sawtooth transaction. There is no particular value in pushing it with the storage service replication policy. That is, the root block is just another block.
Clone this wiki locally