Aussehen
Suche Einloggen
[c] [meta] [fefe] [erp]

/c/ – Eine der letzten echten Webseiten


Antwort erstellen

(≤ 4)



[Zurück]

  • [l] Creepy crawlies Feef Mon, 31 Aug 2026 12:46:29 GMT Nr. 164825
    PNG 1500×975 267.9k
    >A few months later, the bots were back, solving difficulty 4. No problem, we said, let's raise difficulty to 5.
    >The legitimate users were more annoyed now. Difficulty 5 takes a few seconds to solve on a mobile device, and the phone gets uncomfortably warm as it's doing the number crunching. However, it was effective and bought us a few more months of peace [0].
    >Then... the bots started solving difficulty 5.

    [0] https://people.kernel.org/monsieuricon/creepy-crawlies
  • [l] Felix Mon, 31 Aug 2026 12:51:49 GMT Nr. 164826
    PNG 706×340 74.5k
    Hat Anubis kein Gedächtnis? Es kann nicht so schwer sein einen neuen Hash anzufordern, wenn Zugriffe stark außerhalb der Normalverteilung erfolgen.
  • [l] Felix Mon, 31 Aug 2026 16:29:56 GMT Nr. 164842
    >>164826
    >Hat Anubis kein Gedächtnis?
    Klassischerweise sind PoW-Systeme zustandslos, damit der Servierer keine Tabelle mit einem Eintrag für jeden Klienten vorhalten muss. Soweit Felix weiß, gilt das auch für Anubis.

    Felix hat jedoch, nachdem Felix sein eigenen PoW-System gebaut hat (genauer: Es versauert zu 80 % fertig auf Felixens Festplatte) erhebliche technische Kritik an Anubis. Anubis benutzt JWT-Signaturen über einen Cookie, womit der Servierer bei jeder Klient-Anfrage eine HMAC-SHA256-Signatur berechnen muss (besteht aus 2x SHA256-Berechnungen zu je 64 Runden, plus noch etwas Gedönse).

    Seitennotiz: Bei Anubis kann man die ersten paar Runden der ersten SHA256-Berechnung voroptimieren, weil der Anfang jedes Cookies immer gleich ist (Felix glaubt, die erste SHA256-Berechnung geht somit in 60 statt in 64 Runden).

    Man kann stattdessen das ganze auch mit Berechnung einer einzigen SHA256-Prüfsumme (über einen String, welcher insbesondere auch die Ablaufzeit beinhaltet) implementieren, womit die Rechenlast für Anubis sich auf dem Servierer halbieren würde. Felix hält Anubis für etwas zu sehr auf Show getrimmt, mit guter PR, aber technisch nicht gut umgesetzt. Es war schlicht zum richtigen Zeitpunkt am richtigen Ort *einsetzbar* vorhanden, wobei das aktuell die zweite Iteration von Anubis ist (die erste Version benutzte, ironischerweise, ein KI-generiertes Bild von Anubis).

    >Suddenly, the crawlers were coming from millions of random residential or mobile IPs, all pretending to be random modern browsers. An IP like that would make 4-5 requests and then never show up in the logs again. There was no point in banning them, because by the time you figured out that they were bots, they were already done with you. You just needlessly ballooned your firewall ruleset by adding IPs that would never be back.
    Das ist das erste Mal für Felix, dass jemand Seriöses™ tatsächlich (nach den AWS/Azure/Google Cloud/OVH-Heinis) den Finger auf residentielle IP-Adressen richtet, ohne Anreize, die Cloud-Anbieter in Schutz zu nehmen. Wobei, wer waren nochmal Sponsor der Linux-Foundation...

    >Today, git.kernel.org receives about 6M daily requests demanding to see random commits.
    Hash-Tabelle wird also nicht allzu groß werden.

    Bei 6 Mio. Anfragen pro Tag ist so eine Tabelle also durchaus drin. Doch dann kann man direkt statt PoW-Challenges schlicht einen Timer bauen, und jeder neue Klient muss warten, bis der Timer auf 0 runtergezählt hat, und dann kriegt der Klient z.B. 500 Seitenzugriffe. Ein Timer ergibt Sinn, denn ein Scraper kann durchaus mehr Hardware ranschaffen, um die PoW-Challenges schneller zu lösen, aber den Fortschritt der Zeit (auf dem Servierer) kann der so nicht beschleunigen.
  • [l] Felix Mon, 31 Aug 2026 16:32:31 GMT Nr. 164843 SÄGE
    PNG 1650×810 145.0k
    PNG 1500×975 267.9k
    JPG 912×501 74.2k
    >>164842
    >Bei 6 Mio. Anfragen pro Tag ist so eine Tabelle also durchaus drin. Doch dann kann man direkt statt PoW-Challenges schlicht einen Timer bauen, und jeder neue Klient muss warten, bis der Timer auf 0 runtergezählt hat, und dann kriegt der Klient z.B. 500 Seitenzugriffe. Ein Timer ergibt Sinn, denn ein Scraper kann durchaus mehr Hardware ranschaffen, um die PoW-Challenges schneller zu lösen, aber den Fortschritt der Zeit (auf dem Servierer) kann der so nicht beschleunigen.
    Nachtrag: Timer neben PoW-Challenge ergibt mehr Sinn.
  • [l] Felix Mon, 31 Aug 2026 16:45:47 GMT Nr. 164845
    Ich hab mal vor etlichen Jahren an einem freien, und jetzt schon lange toten, anonymen Social News Aggregator ein bisschen mit rumgestümpert. Das Voting dort funktionierte mit argon2-basierendem PoW, und wir haben Bloom-Filter eingesetzt, um effizient nur eindeutige Votes zu zählen. Das hat gut funktioniert.

    Was nicht funktioniert hat: Mehrkern-CPU rechnete 200k hashes/s, gutes Smartphone unter 5k hashes/s (Zahlen frei erfunden). Es war eine Katastrophe, weil ein paar wenige Trolle mit ihren 64 Epyc-Kernen alles dominiert haben.

    Das Projekt hat nicht lange genug existiert, um das Problem lösen zu können.
  • [l] Felix Mon, 31 Aug 2026 20:02:31 GMT Nr. 164846
    >>164843
    Naja, da kannst du ja die Schwierigkeit anhand des Commitalters erhöhen. Wer so scharf auf einen Commit aus dem Jahr 2009 ist, kann darauf auch mal ein paar Minuten warten.
    >>164845
    Am Ende hilft nur zu wissen wo die User wohnen um ihnen bei Bedarf aufs Maul zu hauen. Clue by four ist ein Ding.
  • [l] Felix Mon, 31 Aug 2026 21:45:06 GMT Nr. 164847
    Naja, die Trolle waren aber im Recht: wer dort mehr Macht haben wollte, musste mehr Rechenleistung (und damit letzlich Geld) investieren. So war das gedacht, so sollte es funktionieren. Du willst deine Sichtweise hervorheben? Dann kämpfe darum. Das Recht des Stärkeren, ein libertärer Traum.

    Das Problem war, dass die (naiverweise) erhoffte Gegenwehr aus einem anderen Lager auch über längere Zeit ausblieb. Es hatte einfach keiner Lust drauf, sich mit den früh etablierten Spielern anzulegen. Die erwünschten großen Hashrate-Kriege zwischen den Lagern sind nie ausgebrochen, es blieb alles auf niedrigem Niveau. Mit zwei guten Rechnern warst du König.

    Am Ende wurden nur noch sinnlose Beiträge gepusht und keine echten Artikel mehr. Alle haben rumgejammert, aber die Benutzer waren einfach nicht willens, aktiv zu werden und sich zu wehren, obwohl sie zusammen locker hätten gewinnen können. Jeder wollte nur konsumieren, keiner wollte sich engagieren.

    Der Initiator des Projekts war sehr idealistisch, aber auch trottelig naiv. Gelernte Lektion: PoW-Voting ist keine gute Idee.
  • [l] Felix Mon, 31 Aug 2026 21:46:15 GMT Nr. 164848
    >>164842
    >Today, git.kernel.org receives about 6M daily requests demanding to see random commits.
    Warum zum Fick klonen die nicht einfach einmal das ganze Repository? Wissen die nicht, was git ist?
  • [l] Felix Tue, 01 Sep 2026 09:21:04 GMT Nr. 164850
    >>164848
    Wenn man einen HTTP-Hammer hat, sieht alles wie ein HTTP-Nagel aus.


[Zurück]
[c] [meta] [fefe] [erp]