Zašto lista isključenja nije heširana
U ovom članku
Pravljenje sajta znači otvarati ga dvadeset puta dnevno. Na brojaču sa četrdeset posetilaca mesečno, pola statistike je autor. Zato postoji podešavanje: ne broji posete sa moje adrese.
Svuda drugde u ovoj usluzi adrese se heširaju tajnom soli i datumom, a sama adresa nikada ne dospeva u skladište. Na ovom jednom mestu čuva se tačno onako kako je uneta, u čitljivom obliku. To je namerna odluka i zaslužuje da bude izgovorena naglas, a ne da se otkriva slučajno.
Verzija koja je prva isprobana
Prva implementacija je čuvala kontrolni zbir adrese, u skladu sa svim ostalim. Radila je, čuvala je manje, i bila gotovo beskorisna: većina kućnih veza dobija novu adresu svakog dana. Isključenje je bilo ispravno u trenutku kada je postavljeno i bezvredno sledećeg jutra.
Ono što preživljava dnevnu promenu je opseg — obično /24 ili /16 provajdera, koji ostaje isti dok se poslednji deo menja. A opseg se ne može porediti kao kontrolni zbir. Heširanje namerno uništava redosled, a „da li je ova adresa unutar ovog opsega“ je pitanje o redosledu. Nema pametnog zaobilaznog puta; ta dva zahteva vuku u suprotnim smerovima.
Zato se opseg čuva kako je unet, normalizovan, uz njegove dve granice od po šesnaest bajtova, a jedan BETWEEN odlučuje. IPv4 se zapisuje u svom IPv6 obliku, pa su obe porodice iste širine i jedno poređenje pokriva obe.
Zašto je ova razmena ovde prihvatljiva
Ono što se čuva je sopstvena mreža operatera, koju je on sam uneo, koja mu se prikazuje nazad i koju on može da obriše u svakom trenutku. To nije adresa posetioca. Politika privatnosti kaže istu stvar istim rečima, jer bi alternativa — opisivanje usluge kao da hešira sve uz tiho izuzimanje ovoga — bila ona vrsta tvrdnje koja je u grubim crtama tačna, a vredi manje od nikakve tvrdnje.
Ograničenje je deset unosa po brojaču: dovoljno za kuću, kancelariju i mobilnu mrežu, premalo da lista postane skladište adresa opšte namene.
Druga vrsta, za stvari koje se kreću
Neki saobraćaj ima stabilan identitet i nestabilnu adresu: nadzor dostupnosti, preuzimač pregleda linkova iz programa za ćaskanje, servis za proveru. Nijedan opseg ih ne hvata.
Za njih se isključenje umesto toga poklapa sa delom identifikacije pregledača. Unos uptimerobot hvata punu nisku koju taj program šalje. Minimum je četiri znaka, jer bi se dvoslovni deo pojavljivao u skoro svakoj identifikacionoj niski i potpuno isključio brojač.
Opšta poenta
Dizajn privatnosti je skup kompromisa, a zanimljivi su delovi gde je pravilo moralo da popusti. Pravila koja nikada ne popuštaju obično znače da ih niko još nije testirao naspram stvarnog zahteva.
Ono čega treba da se klonimo je popuštanje u tišini. Heširano polje koje zapravo nije heširano, a u dokumentaciji je opisano kao da jeste, gore je od običnog polja opisanog običnim rečima — troši poverenje koje nije zaslužilo, a neko će ga na kraju otkriti, neko ko nije očekivao da mora da proverava.