Beta to Live Transition

What do you guys think of this idea for doing the MAID to SAFE coin exchange:

  • There is a function ClaimSAFEcoins(maidSourceAddress, safeDestinationAddress, amount, attestationSignature)
  • attestationSignature is a message signed using the private key of the source address holding the MAID. Could be a predefined message like “MAIDtoSAFE”, or some dynamic concatenation of the other 3 arguments.
  • When network is ready to go live, an immutable snapshot of MAID account balances at a given block is stored on the network. Storing a snapshot at a certain block # avoids the need for network participants to run a BTC node in order for new burn transactions to be verified for example, and also makes it so that the exchange doesn’t need to be done in some centralized way, like a clear net site operated by MaidSafe.
  • The ClaimSAFEcoins function verifies that the attestation signature is valid for the given source address. It also verifies that the amount being claimed is valid as per the snapshot, and there would also need to be a running balance of how much each address has been credited so far. I guess the section nearest to the destination address could be responsible for keeping this running balance of claimed coins?
  • Once elders reach consensus that the claim is valid, claimed coins balance is updated and coins are released