mercoledì 15 febbraio 2017

Cosa Sono I Trilemma? CAP, PACELC e Zooko Theorem

Oggi parleremo del Trilemma: ovvero tre opzioni (o requisiti, se preferite) sfavorevoli di cui una deve essere per forza scelta (trovando magari un compromesso).
Oppure le tre opzioni possono essere apparentemente favorevoli ma solo due di tre rispetteranno il dato criterio stabilito.
Ad esempio la tecnologia RAID (tecnica di raggruppamento dei dischi rigidi del PC) può offrire due dei tre valori favorevoli voluti: economicità, velocità o affidabilità.
Il RAID 0 è veloce ed economico, ma inaffidabile.
Il RAID 6 è estremamente veloce ed affidabile ma costoso.


CAP THEOREM
Applicato per la prima volta nel 1998 e noto anche come Teorema di Brewer, afferma che è impossibile per un sistema informatico distribuito rispondere simultaneamente a tutte e tre le seguenti garanzie:

1) Consistency (tutti i nodi vedono transitare gli stessi dati nello stesso momento)
2) Availability (ogni richiesta deve ricevere una risposta su ciò che è riuscito o fallito)
3) Partition Tolerance (il sistema continua a funzionare nonostante perdite di informazione)

Secondo il teorema, un sistema distribuito è in grado di soddisfare al massimo due di queste garanzie allo stesso tempo, ma non tutte e tre insieme.


PACELC THEOREM
Si tratta di un'estensione del CAP Theorem.
Nel caso di partizionamento di rete (P) in un sistema informatico distribuito, si deve scegliere tra la disponibilità (A) e consistenza (C) (secondo il teorema CAP), ma per il resto (E), anche quando il sistema è in esecuzione normalmente in assenza di partizioni, si deve scegliere tra latenza (L) e consistenza (C).


TEOREMA DEL TRIANGOLO DI ZOOKO
Questo teorema invece riguarda la denominazione dei partecipanti a protocolli di rete.
I criteri sono: Human-Meaningful (nome facile da ricordare), Secure (sicuro, cioè una sola entità al cui il nome si applica), Decentralized (decentralizzato).
Sostanzialmente, come si sarà capito, un nome non può essere allo stesso tempo facile da ricordare, sicuro e decentralizzato (cioè quando non si ha bisogno di un ente centrale per la risoluzione del nome).
Solo due di queste tre garanzie saranno rispettate.
Ad esempio i nomi di dominio sono facili da ricordare, globali ma assolutamente non sicuri.
Gli indirizzi .onion (del protocollo TOR) sono decentralizzati, mediamente sicuri ma non facili da ricordare.
I DNSSEC sono facili da ricordare e sicuri ma non decentralizzati.


LA TEORIA DI STIELGEL
Stiegel sostenne che utilizzando il sistema "Petname", tramite concatenamento di diversi fattori, si potrebbe riuscire ad incarnare tutte e tre le garanzie volute dal teorema di Zooko.
I criteri leggermente modificati sono:

1) Memorable (cioè facile da ricordare, leggendolo su un'insegna o un bus)
2) Global (nome deve rimandare ad una singola entità, non deve essere quindi ambiguo)
3) Securely Unique (nome che non può essere contraffatto o imitato. Nel primo caso il nome viene replicato, nel secondo caso no ma è talmente simile all'originale che inganna l'essere umano: si veda il Phishing ad esempio e i tentativi di spacciarsi per siti internet o mail di date società cambiando un simbolo al link o all'indirizzo mail)

Il Petname è sicuro e facile da ricordare ma non globale.
Un essere umano può utilizzare l'Alias (globale e facile da ricordare ma non sicuro) per recuperare la chiave (globale e sicura ma non facile da ricordare) e per selezionare un Petname.
Facendo riferimento a quest'ultimo si avrà un collegamento privato e bidirezionale con la chiave, dato che quest'ultima sarà associata sempre ad un Petname (riservato per accrescerne la sicurezza).
Per esempio l'Alias potrebbe essere il mio nome e cognome, la chiave il mio numero di cellulare ed infine il Petname il mio nomignolo.


Nessun commento:

Posta un commento