Vai al contenuto
Offerte

Decimen trasferisce file senza WiFi, Bluetooth o cavo: solo QR

In questo articolo Indice dei contenuti 3 sezioni

Decimen è il progetto che prova a spostare un file da un dispositivo all’altro senza WiFi, senza Bluetooth, senza cavo USB e senza cloud, affidandosi soltanto a una sequenza di codici QR che lampeggiano sullo schermo. Il nome completo è Decimen Optical Transfer e l’idea alla base è tanto semplice quanto curiosa: il contenuto viene trasformato in una raffica velocissima di QR animati mostrati sul dispositivo sorgente, mentre la fotocamera del ricevente cattura i fotogrammi e ricostruisce i dati. In pratica il display diventa il canale attraverso cui le informazioni viaggiano.

Chi ha qualche anno sulle spalle riconoscerà subito un certo sapore vintage. Le vecchie porte a infrarossi, i modem che convertivano i dati in suoni, alcuni sistemi industriali di comunicazione ottica: tutti sfruttavano un canale fisico separato dalle reti dati tradizionali. Anche i QR animati non sono una novità assoluta, visto che diversi progetti hanno già giocato con la trasmissione di blocchi binari tramite immagini in sequenza. La differenza è che Decimen mette tutto dentro una web app open source che gira dal browser, senza account, senza associazione tra dispositivi e senza app native da installare.

Come funziona il trasferimento tramite luce

Il progetto gestisce file fino a 64 MB e frammenti di testo fino a 4 MB. L’esperimento da cui nasce ha toccato circa 130 KB/s tra due telefoni, cifre lontane anni luce da WiFi Direct, AirDrop, Quick Share o da un cavo USB moderno. Il punto però non è la velocità: Decimen funziona sempre, anche quando tra i due dispositivi non esiste nessun percorso di rete utilizzabile.

L’uso è lineare. Sul primo dispositivo si apre la pagina di invio, si clicca su Send e si sceglie un file oppure si incolla del testo. Lo schermo comincia a sfornare codici QR che cambiano più volte al secondo. Sul secondo dispositivo si apre la pagina di ricezione, si dà al browser l’accesso alla fotocamera e si inquadra il display del mittente. I due device non devono stare sulla stessa LAN e non hanno bisogno di conoscere i rispettivi indirizzi IP. Serve una connessione solo per il primo caricamento, poi grazie a un service worker e a una cache locale la web app continua a girare offline. Può anche essere installata come Progressive Web App su iOS e Android.

La documentazione suggerisce di usare come mittente il dispositivo con lo schermo più grande, alzare la luminosità, tenere fermo il ricevitore e fare in modo che il QR occupi buona parte dell’inquadratura. Riflessi, vibrazioni, messa a fuoco ballerina e un refresh rate poco adatto tagliano il numero di fotogrammi decodificati e quindi la velocità reale. Un laptop che trasmette verso uno smartphone rende spesso meglio di due telefoni tenuti in mano.

Il trucco dei fountain code

Un collegamento schermo-fotocamera viaggia in una sola direzione. Il ricevitore non ha un canale di ritorno per chiedere di rimandare un blocco perso, e qualche fotogramma finisce inevitabilmente perso tra movimento, sfocatura e autofocus. Con una sequenza numerata tradizionale la perdita di un solo QR costringerebbe ad aspettare l’intero ciclo. Per questo Decimen usa i fountain code, codici che distribuiscono di continuo informazioni ridondanti. Il file viene diviso in blocchi e ogni fotogramma non ne contiene uno solo, ma il risultato di un’operazione XOR su un sottoinsieme pseudocasuale. Al ricevitore basta raccogliere abbastanza fotogrammi distinti, anche in disordine, per ricostruire tutto. La stima del progetto parla di circa il 15% di frame in più rispetto al minimo teorico.

Ogni QR porta con sé un header di 20 byte con identificatore di sessione, numero di sequenza, dimensione dei blocchi, lunghezza complessiva e un riferimento hash. Il formato è auto-descrittivo, quindi non serve alcun handshake e la fotocamera può agganciarsi anche a trasmissione già iniziata. A fine ricostruzione Decimen calcola il digest SHA-256 e lo confronta con quello registrato: se non coincide, il file non viene proposto come valido.

La sicurezza dei dati

Sul fronte privacy, Decimen non usa server remoti per lo scambio. File e testi non finiscono su infrastrutture esterne, perché il passaggio avviene direttamente tra display e fotocamera. Il server distribuisce solo l’interfaccia. Chi vuole può adottare la soluzione in self-hosting: il codice è su GitHub con licenza MIT.

Il progetto non rimpiazza Quick Share, AirDrop o un cavo, ma diventa interessante quando una connessione diretta è vietata o impossibile. Un computer isolato dalle reti che deve esportare un piccolo log, un laboratorio dove non si vogliono collegare supporti USB, uno smartphone aziendale con pairing bloccato. E ricorda pure una cosa scomoda: una postazione air-gapped non è automaticamente al sicuro, perché una semplice fotocamera può leggere ciò che appare su uno schermo.

Condividi:
73 Condivisioni