Una volta ho visto un amico perdere l'accesso a un intero anno di foto. Non perché il cloud le avesse “eliminate”. Non perché un hacker fosse entrato. È successa una cosa piccola: ha dimenticato una password, poi ha perso il codice di backup. Questo era tutto. I dati esistevano ancora da qualche parte, ma avrebbero potuto essere sulla luna.
Quel momento è rimasto impresso in me, perché le app per dati privati sono così. La parte difficile non è “dove lo memorizzo?” La parte difficile è: “chi detiene le chiavi… e cosa succede in un brutto giorno?”
Ora supponi di costruire un'app privata con Walrus (WAL). Walrus è ottimo per memorizzare grandi blob di dati in una rete condivisa. Ma Walrus non è una scatola magica. È più simile a un magazzino robusto. I tuoi dati possono rimanere lì al sicuro, ma la chiave della porta è ancora un tuo problema. E se sbagli la gestione delle chiavi, la privacy si rompe. O peggio, gli utenti vengono esclusi dai propri oggetti.
Quindi, la gestione delle chiavi suona noiosa. Ma è la parte che decide se la tua "app privata" rimane privata nella vita reale. Il modello più sicuro è: cripta prima, poi memorizza. Significa che blocchi il file sul dispositivo dell'utente prima di caricarlo su Walrus. "Cripta" significa semplicemente che mescoli i dati in modo che sembri rumore per chiunque non abbia la chiave. I nodi Walrus memorizzano il rumore. Solo l'utente (o le persone che l'utente consente) possono trasformarlo di nuovo nel file reale.
Ma poi arriva la domanda spaventosa. Dove tieni la chiave?
Se lo mantieni sul tuo server, hai un grande cartello "per favore hackami". Se lo mantieni solo sul telefono dell'utente, possono perderlo. Se cerchi di essere "utile" con il ripristino della password, potresti finire per costruire una backdoor. E le backdoor hanno l'abitudine di diventare porte principali.
Un buon modello mentale è questo: Walrus tiene la valigia bloccata. La gestione delle chiavi è come impedire che la chiave cada nell'oceano, senza dare una copia a sconosciuti. Vuoi recupero senza tradimento. Questo è il gioco intero.
Quindi, come appare una "buona gestione delle chiavi" per un'app di dati privata che utilizza Walrus?
Una mossa forte è utilizzare un piccolo insieme di chiavi, a strati, con ruoli chiari. Pensa a tre chiavi come tre persone in una famiglia. Una è la "chiave dei dati." Blocca e sblocca il file. È veloce e usata molto. Ma non la memorizzi mai in chiaro. Poi hai una "chiave di avvolgimento." "Avvolgere" significa semplicemente che blocca la chiave dei dati. Come mettere una piccola chiave all'interno di una cassaforte, in modo da non portarla sciolta. E poi hai un "piano di recupero," perché la vita succede.
Per l'esperienza dell'utente, le password da sole sono deboli. Le persone le riutilizzano. Le digitano su Wi-Fi scadente. Le dimenticano. Un modello migliore è lasciare che il dispositivo dell'utente aiuti. I telefoni hanno già aree di archiviazione sicure. Non perfette, ma migliori di un file di testo semplice o di un server web. Puoi mantenere la chiave di avvolgimento nell'archiviazione sicura del dispositivo, e la chiave dei dati rimane avvolta per la maggior parte del tempo.
Ma hai ancora bisogno di condivisione. Le app private non sono sempre solitarie. Forse vuoi condividere un file con un amico, o un team, o un nuovo dispositivo. Qui è dove molte app vanno in panico e fanno qualcosa di rischioso, come inviare chiavi via email. Ti prego di non farlo.
Un modo più sicuro è "chiave per persona." Cripti la stessa chiave dei dati per ogni utente autorizzato, utilizzando la chiave pubblica di quell'utente. "Chiave pubblica" suona difficile, ma è semplice: è come un lucchetto che puoi condividere con chiunque. Le persone possono chiudere una scatola con esso, ma solo tu puoi sbloccarla con la tua chiave privata. Quindi la tua app può memorizzare "copia criptate della chiave dei dati" per ogni utente accanto all'oggetto Walrus. Il blob rimane un blob. L'elenco di accesso è solo avvolgimenti di chiavi.
Ora parliamo di recupero. Qui è dove le buone app si sentono umane. Perché le persone perdono i telefoni. Le persone rompono i laptop. Le persone vengono truffate. Se la tua unica risposta è "mi dispiace," la tua app privata diventa un'app di stress.
Un'idea di recupero pulita è "recupero sociale." Non social media. Sociale nel senso di persone fidate. L'utente sceglie, ad esempio, 3-5 guardiani. Ogni guardiano detiene un pezzo di un segreto di recupero. Questo si chiama "condivisione del segreto," e significa che nessun singolo guardiano può rubare la chiave da solo. Ma un gruppo può aiutarti a ricostruirla se perdi l'accesso. Come strappare una mappa del tesoro in pezzi. Un pezzo è inutile. Abbastanza pezzi riportano il percorso.
Un'altra opzione è una chiave hardware. Un dispositivo piccolo che colleghi o tocchi. Può memorizzare una chiave in sicurezza e firmare azioni. Il vantaggio è una forte sicurezza. Il costo è la comodità. Molti utenti non la porteranno. Quindi scegli in base al tuo pubblico. Un'app medica privata potrebbe spingere le chiavi hardware. Un'app fotografica casual potrebbe usare il recupero sociale più l'archiviazione sicura del dispositivo.
Inoltre, registra le tue scelte. Non in modo inquietante. In modo chiaro. Dì agli utenti, con parole semplici, cosa memorizzi, cosa non memorizzi e cosa non puoi ripristinare. Le persone accettano regole rigorose quando le capiscono. Odiano le regole a sorpresa.
Se stai costruendo su Walrus, il grande cambiamento di mentalità è questo: l'archiviazione non è privacy. La gestione delle chiavi è privacy. Walrus può rendere i dati durevoli e disponibili. Ma le chiavi decidono chi può leggerli, per quanto tempo e sotto quali errori.
Penso che la maggior parte delle app "private" fallisca perché trattano le chiavi come un dettaglio. Costruiscono prima il magazzino, poi aggiungono i lucchetti dopo. Dovrebbe essere il contrario. Inizia con il lucchetto, il piano di recupero, le regole di condivisione. Poi memorizza la cosa bloccata su Walrus.
Se sei un costruttore, prova questa rapida lista di controllo prima di spedire: Il server può mai vedere i dati in chiaro? Un utente può recuperare senza che tu abbia le chiavi master? La condivisione può essere rimossa in seguito? Un dispositivo perso può essere sostituito senza panico? Se puoi dire di sì a queste, non stai solo usando Walrus. Lo stai usando correttamente.
Se vuoi, dimmi che tipo di app privata stai costruendo con Walrus - foto, documenti, medica, file di squadra, qualcos'altro - e cosa ti spaventa di più: attacchi o blocchi.
@Walrus 🦭/acc #Walrus $WAL #DePIN

