A non-transitory computer-readable medium storing a bridge program configured to execute in a secure execution environment to interact with a first pool of warden servers to facilitate secure transfer of assets between a first blockchain network and a second blockchain network, the bridge program comprising instructions that, when executed by the secure execution environment, cause a secure-execution server to perform operations comprising:
- determining to initiate a migration from a first master secret to a second master secret;
- receiving a corresponding portion of the first master secret from each warden server of the first pool;
- receiving, from the first pool of warden servers, a listing of second assets;
- receiving, from the first pool of warden servers, a listing of first assets;
- generating a second master secret;
- generating, from the second master secret and for each warden server of a second pool of warden servers, a corresponding second portion of the second master secret;
- deriving address information from the second master secret for the first blockchain network and the second blockchain network;
- generating, for each second asset, second transaction-data to instruct the second blockchain network to transfer the second assets to a second wallet of the second blockchain network, the second wallet referenced with the address information derived from the second master secret;
- generating, for each first asset, first transaction-data to instruct the first blockchain network to transfer the first assets to a first wallet of the first blockchain network, the first wallet referenced with the address information derived from the second master secret;
- generating a migration-prepared data-object comprising encrypting each of the second portions of the second master secret, the first transaction-data, and the second transaction-data;
- generating, for each warden server of the second pool, a migration-prepared instruction corresponding to the warden server of the second pool, by encrypting, with the corresponding second portion of the second master secret, i) the migration-prepared data object, ii) the first master secret, and iii) the second master secret;
- sending, to each warden server of the second pool, the corresponding migration-prepared instruction;
- sending, to each warden server of the second pool, the corresponding second portion of the second master secret;
- and
- sending, responsive to receiving, from each warden server of the second pool, acknowledgement of receipt of the corresponding migration-prepared instruction, a complete migration request configured to cause each warden server of the second pool to migrate from the first master secret to the second master secret.