Heatrail

Peatükk 04

Jäljed

Jälg on hulk tehnilisi tunnuseid, mis ilmusid samadel tellimustel, hoitud koos sellel põhjusel ja mitte ühelgi teisel. Ta ei ole isik, ta ei ole konto, ja miski süsteemis ei otsusta kunagi, et ta on üks ostja. See artikkel räägib, miks nõrgem väide on kasulikum, ja mida maksab kellegi alt välja pääsemine.

Omadus

Jälg on ajaloo omadus, mitte isiku oma. Tunnused, mis ilmusid koos tellimustel, kus kahju hiljem kinnitati, jäävad seotuks, ja värske tunnus, mis ilmub nende kõrvale, pärib selle seose. Keegi ei väida, et jälg on üks isik. Kirje ütleb ainult, et need asjad nähti koos.

Miks see kehtib

Juhtum, mille järele see ehitati

Enne, kui oli kuhugi kontrolli saata, töötas üks Eesti veebipood oma logides tagurpidi läbi terve rea pettustellimusi. Mitu tellimust paari päeva jooksul, millest igaüks oli võtmisel näinud tavaline. Mis neid sidus, ei olnud nimi ega konto, sest need olid iga kord erinevad. See oli väike hulk tehnilisi tunnuseid, mis ilmusid ikka samas seltskonnas.

Huvitav oli, kuidas hulk püsis. Üks tellimus jagas tunnust järgmisega, see tellimus jagas teist tunnust järgmisega, ja lõpuks kattis ahel tellimusi, millel ei olnud midagi nähtavalt ühist. Kui pood kahju kinnitas ja need tellimused märkis, maandusid märgid hulgal, mitte isikul, ja kellelgi ei tulnud selgeks teha, kes selle taga oli. Kasulik objekt osutus isikust väiksemaks ja palju kindlamini teadaolevaks.

Joonis 1

Kolm tunnust, mis olid samal tellimusel koos, seotud üksteisega sel põhjusel ja mitte ühelgi teisel.Kolm ringi seisavad reas, nimedega tunnus A, tunnus B ja tunnus C. Sirged jooned ühendavad A ja B ning B ja C, ja kohal olev kaar ühendab A ja C, nii et kõik kolm on üksteisega seotud. Kaare kohal ütleb märkus, et nad on seotud, sest neid nähti koos. Igast ringist laskub õhuke joon all olevasse laia kasti nimega Üks tellimus, mille tekst ütleb, et iga ülal olev tunnus oli sellel tellimusel olemas ja et see on ainus fakt, mida kirje hoiab. Alumine rida ütleb, et sellel pildil ei väideta ühtegi nime, kontot ega inimest.seotud, sest neid nähti koostunnus Atunnus Btunnus CÜks tellimusIga ülal olev tunnus oli sellel olemas. See on ainus fakt, mida kirje hoiab.Sellel pildil ei väideta ühtegi nime, kontot ega inimest.
Jälg on hulk tunnuseid, mis nähti koos. Ta ei ütle midagi selle kohta, kellele nad kuuluvad.

Koosesinemine, mitte väide

Seos on täpselt ühel põhjusel: kaks tunnust olid samal tellimusel. See on vaatlus tellimuse viitega taga, mitte järeldus, ja mitte väide, et kaks asja kuuluvad samale inimesele. Identiteedi lahendamise süsteem teeks järgmise sammu, otsustaks, et kirjegrupp on üks isik, ja arutleks avatud toimiku üle. Heatrail keeldub sellest sammust.

Tagajärg kõlab kirja panduna veidralt, ja see on disaini mõte: jälg võib isiku kohta vale olla ja ajaloo kohta ikka õige. Kui kaks seosetut inimest jagasid ühel tellimusel tõesti tunnust, jääb kirje, et nad jagasid, tõeseks, ja lause, mis oleks vale olnud, on see, mida keegi ei öelnud.

See paneb paika ka keele. Kontroll vastab, et see tellimus puudutab jälge, millel kahju on kinnitatud. Ta ei vasta kunagi, et see ostja on pettur, sest süsteemil ei ole subjekti, kelle kohta sellist lauset saaks moodustada. Tagasi tuleb skoor ja põhjused tellimuse kohta, ja inimene poes otsustab, mida nendega teha, mis on nõuandev konstruktsiooni järgi ja põhjused, mida saab lugeda teema.

Pärimine, ja miks rotatsioon ei lähtesta midagi

Jälg kasvab samamoodi, nagu ta algas. Kui tellimus kannab tunnust, mis on juba jäljel, on kõik muu sellel tellimusel nüüd temaga seotud, sealhulgas midagi, mida pole kusagil varem nähtud. Ta saabub millegi kõrvale, mis ei ole uus, ja seos tehakse osa pealt, mis ei ole uus.

See on suurem osa vastusest ilmsele küsimusele sellise süsteemi kohta, nimelt miks keegi lihtsalt identifikaatorit ei vaheta ja edasi ei lähe. Ühe identifikaatori vahetamine toodab tellimuse, mis kannab värsket tunnust tuttavate kõrval. Värske tunnus liitub jäljega saabumisel ja jääb sinna omal õigusel, nii et asendus midagi maksis ja ei midagi võitnud.

Joonis 2

Tunnus, mida keegi ei ole varem näinud, saabub tellimusele koos tunnusega, mis on juba jäljel, ja liitub jäljega just tema tõttu.Esimese joonise kolm ringi, nimedega tunnus A, tunnus B ja tunnus C, on joonistatud kuumas värvis, et näidata kinnitatud kahju tellimusel, mis neid puudutas. Nad on üksteisega ühendatud nagu varem. Tunnusest B laskub nool neljanda ringi juurde, mille nimi on tunnus D, uus, joonistatud samas kuumas värvis. Noole kõrval olev tekst ütleb, et hilisem tellimus kandis taas tunnust B ja seda tunnust, mida ei olnud varem nähtud. Paremal olev kast kirjeldab seda hilisemat tellimust. Alumine rida ütleb, et miski siin ei otsusta, kelle oma tunnus D on, vaid ainult seda, et tunnus D oli seal.Joonise 1 jälg, pärast seda kui kahju sai kinnitatud tellimusel, mis teda puudutas.tunnus Atunnus Btunnus Chilisem tellimus kandis taas tunnust Bja seda tunnust, mida polnud varem nähtudtunnus DuusHilisem tellimusseose teeb see osa, mis ei ole uusMiski siin ei otsusta, kelle oma tunnus D on. Kirja läheb, et tunnus D oli seal.
Värske tunnus, mis saabub vana kõrvale, pärib seose. Rotatsioon peab olema täielik, et olla rotatsioon üldse.

Üks jälg, igas poes teine nimi

Jäljel ei ole avalikku identifikaatorit. Iga pood näeb teda läbipaistmatu aliase all, mis on genereeritud ainult selle poe jaoks, seega kannab sama jälg igas liikmepoes teist käepidet, ja kaks poodi, kes oma kirjed kõrvuti panevad, ei saa käepidemeid joondada. Omadus on osa lepingust API viites: stabiilne teile, erinev kõigile teistele, kes sama asja vaatavad.

Ta on kasulik teie enda kirjetes, kus ta laseb poel oma tellimusi rühmitada ja samale asjale kaks korda viidata. Ta ei ole võti võrgustikku: ta ei saa küsida jälje kohta, mida teie tellimused ei ole puudutanud, ja päring teise poe ressursi kohta vastatakse nii, nagu ressurssi ei oleks, mis on isolatsioonireegel. Käepide, mis poodide vahel reisiks, saaks asjaks, millest räägitakse, ja asi, millest räägitakse, saab asjaks, mida koheldakse isikuna.

Mida vältimine maksab

Mida ründaja kulutab

Iga tunnus, mis jälge puudutas, peab järgmiselt tellimuselt puuduma, kõik korraga. Üks kordus tühistab pingutuse, sest üksainus tuttav tunnus uute kõrval ehitab seose uuesti ja kannab jälje edasi kõigele muule sellel tellimusel. See ei ole üks uus aadress ega üks uus number. See on kogu hulk, igal tellimusel, nüüdsest, igas võrgustiku poes, ilma võimaluseta teada saada, kas see töötas, sest vastus läheb poele ja mitte kunagi ostjale.

Mida ründaja võidab

Ühe tellimuse veel, ühes poes veel, kes saab ta samal päeval märkida. Signaal on võrgustiku, mitte ühe poe oma, seega pood, kes kahju kinnitab, ei pea olema see, keda esimesena tabati. Täielik asendus ostab ühe tehingu ja tuleb siis järgmise jaoks uuesti, täies mahus, teha. Kaks poolt ei ole lähedal, ja just see ebavõrdsus on kogu disaini mõte.

Kuidas kontrollida

Väide siin räägib sellest, mida vastusel on lubatud öelda, seega kontrollitakse teda üht lugedes. Saatke kontroll omaenda tellimuse kohta:

# Sign it for real and send an Idempotency-Key: both are checked before the
# payload is, so a placeholder signature answers 401 and a missing key 400.
curl -s -X POST https://api.heatrail.eu/v1/check \
  -H "Content-Type: application/json" \
  -H "Authorization: HR1 {key id}:{signature}" \
  -H "Idempotency-Key: chk-verify-what-a-reason-says-01" \
  -d @order.json

# What comes back: a score, reasons that describe this order and the
# trail it touched, and an opaque trail_alias that means something
# only inside your shop. No name, no account, no other shop's data,
# and no sentence about a buyer.

Seejärel lugege vastusevälju ja põhjuskoode API viites hulgana, ja pange tähele, millist laadi laused nad kõik on. Igaüks kirjeldab teie ees olevat tellimust või jälge, mida see tellimus puudutas. Ükski ei kirjelda isikut, ja välja, kuhu sellise kirjelduse saaks panna, ei ole.

Teine pool on alias. Võtke viide, mida teie pood pole kunagi saanud, ja küsige seda. Te saate 404 not_found, sama vastuse kui viitele, mida pole kusagil kunagi olnud, seega alias on käepide teie enda konto sees, mitte tee üle võrgustiku. Turvaleht selgitab, miks see staatusekood ja mitte ilmsem.

Heatrail

This site is not public yet

Heatrail is in a private pre-launch period. Enter the access password to continue.

Enquiries: hello@heatrail.eu