My understanding is that JAM services are able to provide continuous computation via pipeline processing, thus enabling real-time data to software applications. I am confused how exactly this works-- how can a program continuously execute between blocks without being vulnerable to an attack? Couldn’t someone alter the data before it is validated?