plasma-contracts icon indicating copy to clipboard operation
plasma-contracts copied to clipboard

Modification of the contract deployment mechanism to support production deploys

Open 0x234 opened this issue 5 years ago • 4 comments

Issue Type

[ ] bug report
[X] feature request

Current Behaviour

When the contracts are deployed the private key address of the authority and maintainer accounts are required. https://github.com/omisego/plasma-contracts/blob/master/plasma_framework/truffle-config.js#L31-L32

Desired Behaviour

We're building a secure enclave that provides access to the authority address material but never exposes it. This means that we require the contract deployment mechanism to be changed to support these production deploys so that the private key material never leaves the secure enclave. The process would look like this:

  1. The contracts are deployed via Truffle
  2. The authority address is created inside the secure enclave
  3. The secure enclave provides access to activateChildchain() and it is called, incrementing the nonce to 1.
  4. The contracts are ready for submitBlock() from the authority address only

Motivation for Change

This means the private key of the authority address is never viewed by a human.

0x234 avatar Jan 28 '20 04:01 0x234

Cc @thec00n

0x234 avatar Jan 28 '20 04:01 0x234

do we have example or document of how to use/call the Secure Enclave?

boolafish avatar Feb 18 '20 08:02 boolafish

I would like to add here that this will be the same for maintainer in that the key material will not be available at deployment. The maintainer should be able to trigger all contract interactions as part of a separate deployment stage. Support for multi tx signing needs to be added as well.

thec00n avatar Jun 03 '20 23:06 thec00n

@thec00n can you elaborate what you mean? I'm not exactly sure I understand what you mean.

Are you saying that you want to access all 'maintainer operations' through the vault? Are you saying that you want to create the 'maintainer' through the vault?

Can you describe the process and needed changes in full, this needs to be additional requirement for the immutability vault.

InoMurko avatar Jun 04 '20 11:06 InoMurko