I have a couple of time-dependent scenarios, and am trying to understand a bit about how correct time-values are assured across the network.
How is time calculated when creating a new block, and secondly when referenced within EVM code processing? Can it be maliciously manipulated in either case?
Could a malicious node trigger a time-dependent state change by adjusting local node time settings? What is the best way to ensure a state change or event trigger within contract data occurs at a given point in time?
A couple of examples to illustrate the kind of scenarios I am considering:
1. Contract rule: send all money to Bob at 12:00 on the 1st Jan 2020.
2. If [Contract_Storage_expiry date/time] is greater than [current date/time] AND [Contract_eventfeed_value1] equals X then send money to Bob, else do nothing.