{'fraction_non_alphanumeric': 0.020512820512820513, 'fraction_numerical': 0.0005128205128205128, 'mean_word_length': 5.135220125786163, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Trusted Volunteer Computing

Technology becomes more and more advanced everyday, both from the software and from the hardware perspective. Brand new devices, more powerful and capable of the generation preceding them, are steadily released. Everybody owns laptops, smartphones and many other devices with great compute capabilities, able to easily solve problems a few years ago considered almost impossible. These devices are, however, most of the time underused, resulting in an incredible waste of computational resources. The needs of professional people and scientists are evolving too, alongside the advances of technology. In many fields, from financial and biomedical simulation to insurance predictions, from 3D rendering to mathematical computations etc huge compute capabilities are still required. Despite the always growing presence of powerful devices and their increasingly cheap prices, in many situations using only our own devices is not enough. The contrast between underused devices and needs of computational resources led to the birth of a new approach: volunteer computing. This approach brings a user to be part of a network, sharing his idle CPU (or GPU) cycles in order to solve a subtask of a problem thus contributing, along with many other users, to the solution of a bigger task. In a very large number of cases, however, volunteer computing needs to tackle some serious security concerns. Many tasks, in fact, deal with sensitive information whose disclosure, even in a minimal part, must be avoided. For this reason still many problems are usually not handled by collaborative networks, since it is not possible, in many cases, to hide confidential data from inputs of every subtask. In this paper we present a way to solve the problem described. Through the use of trusted computing we are able to manage complex problems in a distributed network of volunteer computing devices without the risks related to the spread