App immuni Coronavirus come la faresti?

Ciao ragazzi!,quando ieri ho sentito il telegiorale di questa app ho pensato subito ai piccioli che si farà questa società!
Scherzo,pare che l’app sia rilasciata gratuitamente,ovviamente penso che la società sarà pagata per il lavoro.
Poi ho pensato al grande vantaggio per la salvaguardia della salute pubblica.
Ma sarà veramente cosi? Lo sapremo tra qualche anno.
Incominciamo a capire come funziona.

Come funziona

A quanto pare l’app dovrebbe comunicare con tecnologia Bluetooth con altri telefoni ,capire se quel telefono serve un cliente infetto ,e se si ,segnalare ,tramite internet ,a un centro di monitoraggio l’identificativo del telefono.
Dopo qualche ora ci si troverà’ l’ambulanza sotto casa,o si sarà fermato per strada(Scherzo..),no penso saremo contattati dal ASL e invitati a eseguire un tampone(mi auguro non a nostre spese..).

Come verrà sviluppata?

Ovviamente lo sapranno pocchi eletti,sia perchè lo sviluppatore è sempre restio e geloso della propria app,e sia perchè questa app tratta dati molto sensibili.
Quindi non e’ dato sapere come verrà implementata.

Occorre un buon algoritmo!

Sì perche’ il primo problema che mi sono posto e’ proprio questo,cioè se fossi io a doverla progettare ,come la progetterei?(preciso che non so programmare )
Se fossi in uno spazio aperto non avrei problemi:Farei fare uno scanner dei dispositivi bluetooth,li metterei in una lista ,e interrogherei il server dati per conoscere se uno dei dispositivi e’ segnalato come immune.
Se questo fosse il semplice algoritmo e supponendo di incontrare 5 persone in 10 secondi ,non dovrei far altro che fare
10 interrogazioni, 5 ai dispositivi e 5 al server (uno per ogni dispositivo).Ognuna delle 5 persone avra’ un telefono che fara’ la stessa cosa.

Così in 10 secondi quante trasmissioni si avranno?

Lo scambio fra i 5 telefoni comporta 10 scambi ,ogni telefono interroghera’ il server 5 volte ,si avranno quindi 5*5+10 scambi in totale 35 scambi.

L’app in Treno

Cosa succede quando siamo in treno?
Supponendo un treno affollato intorno alle 17 del pomeriggio dove in ogni vagone ci saranno 50 persone avremo n*(n-1)/2 scambi fra i nostri telefoni + 50*50 connessioni al server ,avremo dunque 50*49/2 +50*50 =3725 connesioni ogni quanti secondi?
Non lo sappiamo ,supponiamo che il controllo venga effettuato ogni 10 secondi,supponiamo che il nostro viaggio duri
30 minuti ,avremo che durante il viaggio saremo esposti a quante connesioni?
Basta fare (30*60 secondi/10)*3725=670500 connessioni.

Quanta energia assorbiremo?

Non so quanta energia assorbirei ,penso(non ho studiato elettronica) che si formerebbe un campo elettrico con un energia
pari a 670500*costanteunitariaenergiabluetooth.
Contemporaneamente ognuno di noi navighera’ in internet aggiungendo al campo elettrico un totenergia in piu’.

Il mio algoritmo non regge

Vi rendete conto che il piu’ semplice algoritmo non puo’ reggere ,non tanto per l’energia prodotta nel vagone,ma perche’ i server avrebbero difficolta’ a reggere tante connessioni.

Correzione all algoritmo

Per evitare le connessioni al server potrei fare in modo che quando non ci sono molti telefoni intorno a me aggiornerei il database degli infetti direttamente sul mio telefono,cosi eviterei di comunicare centinaia di volte con il server.
Ma questo comporta due problemi,il primo quanto sara’ grande il database sul mio telefono?Il secondo problema è che ogni telefono custodirebbe le informazioni sensibili di tutti gli italiani.
Per il primo problema avremo che il nostro database dovrebbe essere teoricamente 4byte*60.000.000 di abitanti e quindi 240 milioni di byte ovvero 240 MegaByte ,una dimensione accettabile per i telefoni moderni.
Il secondo problema invece è un vero problema ,perchè avere tutte le informazioni di tutti gli italiani sul telefono è impensabile anche per il piu’ eleborato sistema di criptografia,il rischio è troppo alto.

Forse forse farei cosi’

Forse forse farei cosi’,adotterei una soluzione intermedia,durante la giornata il telefono registra tutti i dispositivi,
la sera contatta il server e gli comunica i contatti.Il server si conserva tutti i miei contatti in un file ordinato per data.

Cosa fa il server quando un telefono risulta contagiato

In questo caso il server eleborera’ tutti i file fino a 7 giorni prima per individuare tutti i contatti,e a ognuno di essi inviera’ un sms.