Brainstorm for trustless private key generation
Smart contract that is connected to an IoT device and generates a private key connected to a public key at a predefined point in time. This private key is transmitted to the IoT device stored in the rocket's payload directly before launch. The smart contract generates a public key that is sent to a public destination and transmits the private key directly to the IoT device that will be sent to the moon. These keys are inherently linked and can be used together to access the crypto prize. The keys are generated at random with no need for human interaction.
How to prove the key was actually transmitted to the IoT device?
Synchronize the IoT device to the smart contract in a way that mathematically minimizes the packet error of the uplink to the IoT device.
https://arxiv.org/pdf/1711.00540.pdf ^ (Analysis of the Communication Traffic for Blockchain Synchronization of IoT Devices)
How to prove no eavesdroppers listened in on the creation of the private key?
Answer lies in the research article about utilizing chains of Extensible Markov Models for anomaly detection in IoT devices. Simulate what it would be like to have someone trying to gain access to the private key in the IoT device and then create EMM models based off of that.
https://arxiv.org/pdf/1803.03807.pdf (CIoTA: Collaborative IoT Anomaly
Detection via Blockchain)
The problem is that a human would have to write the smart contract that would generate the keys which allows for a loophole in the system and therefore is not completely trustless.
We would need to have a third party with extensive experience in smart contract auditing (OpenZeppelin) verify the legitimacy of the theoretical smart contract. After the proposed smart contract is completely vetted, there needs to be a "Ceremony" similar to Zcash's methodology in deploying the smart contract to the Ethereum mainnet.
We would also need to optimize the synchronization between the blockchain and IoT device so that once the private key is transmitted to the device before launch, the time period that a malicious agent has to interfere with the system is minimized.
Maybe we can have several decoy devices to trick the hacker into not knowing which one will contain the legitimate private key. That way there are multiple variables hindering the malicious agent from hacking the system (multiple decoy devices with transmitted private keys, EMM's trained for anomaly detection in the IoT system.
The IoT device needs to have a personalized container that protects the device from radiation, vibration, temperature, robotic interception, etc.
Also, we would need to figure out what type of connectivity would allow for the device to transmit its location back to earth within several meters. IoT devices in their current state pose several limitations such as limited connectivity and communication resources. Particle has an abundance of IoT hardware kits and is rolling out IoT devices with LTE connectivity in 2018. Not sure if LTE would be enough to transmit the devices location back to earth.
How to store multiple crypto keys in the device?
I believe this could theoretically be accomplished by a solidity smart contract mapping that links one parent address to multiple child addresses (different crypto private keys)