Warum es sicher ist

Zwei Journale, und sie müssen übereinstimmen.

Ein Gutschein ist ein Inhaberpapier. Wer ihn hält, kann ihn einlösen — die einzige Frage, die zählt, ist also, ob der vor Ihnen echt und unverbraucht ist. Wir beantworten das, indem wir den Datensatz an zwei Orten halten, die nicht von denselben Händen bearbeitet werden können.

bullmark

Hält den Gutschein selbst — wer ihn hat, was er wert ist, ob er eingelöst wurde.

Sendet den Hash nie den Inhalt

axowl

Hält den Anker — einen Fingerabdruck dieses Datensatzes und seine eigene Uhr, die sagt, wann er ankam.

axowl sieht nie, was ein Gutschein sagt. Ihm wird ein Fingerabdruck übergeben, den es mit einem eigenen Zeitstempel speichert. Das ist die ganze Anordnung, und sie macht beide Seiten unabhängig: Einen Gutschein zu ändern heißt, seinen Fingerabdruck zu ändern — und der Fingerabdruck steht nicht in unserer Hand.

Was abgedeckt ist

Der Fingerabdruck wird über diese genommen

Nicht die ganze Zeile — eine benannte Liste, damit es wissbar ist statt Vertrauenssache. Ändern Sie eines davon, und der Fingerabdruck passt nicht mehr.

Das Produkt die Marke wer ihn hält sein Einlösecode seine Seriennummer der Endkundenpreis der Preis, den er gewährt wann er abläuft ob er eingelöst wurde wann er eingelöst wurde die E-Mail des Inhabers

Die letzten drei kamen im August 2026 dazu, und sie waren die wichtigen. Ein eingelöster Gutschein, in der Datenbank auf „unbenutzt“zurückgesetzt, behielt früher seinen Fingerabdruck und bestand jede Prüfung — die Einlösung war anderswo erfasst, also konnte die Zeile selbst sagen, sie sei nie angefasst worden. Das geht nicht mehr.

Zwei Dinge bleiben bewusst draußen, weil sie sonst Fehlalarme erzeugen würden. Die Reservierung ist eine Sperre, keine Tatsache über den Wert — ein Gutschein, der dreißig Sekunden an der Kasse gehalten wird, ist kein veränderter Gutschein. Der Ablauf ist bereits ableitbar, da das Ablaufdatum selbst versiegelt ist; auch den Zustand zu versiegeln hieße, dass ein Gutschein, der montags sauber geprüft wurde, dienstags scheitert, ohne dass jemand ihn angefasst hat. Einen Prüfer, der ständig Alarm schlägt, lernen Menschen wegzuklicken.

Wo jeder Angriff stirbt

Vier Wege, von innen zu betrügen, und was sie stoppt

Einen Gutschein in der Datenbank ändern

Den Preis senken, den Ablauf hinausschieben, den eigenen Namen daraufsetzen. Der Fingerabdruck ändert sich und passt nicht mehr zum Anker bei axowl. Die eigene Kopie neu zu berechnen hilft nicht — die Kopie, die entscheidet, liegt nicht in unserer Datenbank.

Denselben Gutschein zweimal einlösen

Die Einlösung liegt jetzt im Siegel, also ändert ein Zurücksetzen auf „unbenutzt“den Fingerabdruck. Und die Einlösung wird separat als eigener versiegelter Eintrag erfasst, verkettet mit dem davor — zwei Aufzeichnungen müssten sich auf die Lüge einigen, und eine davon ist nicht unsere.

Einen prägen, der nie ausgegeben wurde

Das Ausgeben versiegelt den ganzen Stapel als eine Tatsache: so viele, zu diesem Preis, bis zu diesem Datum. Ein hunderterster Gutschein widerspricht einem bereits geschriebenen Datensatz. Und ein neuer Anker trägt axowls Uhr, nicht unsere — er kann heute entstehen, nie letztes Jahr.

Ihn still auf jemand anderen übertragen

Der Inhaber steckt im Siegel, also kann ein Gutschein nicht durch Ändern eines Feldes den Besitzer wechseln. Das Übergeben schließt die Kopie des Gebenden und gibt dem Empfangenden eine eigene mit derselben Seriennummer aus, beide Hälften im Datensatz. Es gibt keine Version der Geschichte mit nur einer Seite.

Kopierte Codes

Was, wenn jemand meinen QR-Code kopiert?

Ein QR-Code ist nicht der Gutschein. Er ist ein Zeiger auf eine nummerierte Zeile bei uns, und die Zeile ist der Gutschein. Ein Foto eines QR-Codes ist also genau so viel wert wie die Zeile dahinter in dem Moment, in dem jemand ihn vorlegt — so denkt man am besten über jeden der folgenden Fälle.

Ein erfundener Code

Das Einlösen schlägt den Code nach; es liest keinen Wert aus dem Bild. Ein nie ausgegebener Code zeigt auf nichts, wie überzeugend der QR-Code drumherum auch aussieht. Man kann einen Gutschein nicht in die Existenz zeichnen.

Eine Kopie eines echten

Eine Kopie ist derselbe Code, also derselbe Gutschein — kein zweiter. Die erste Einlösung wird in die Zeile versiegelt; jeder spätere Versuch, von der Kopie oder vom Original, bekommt gesagt, dass er bereits verwendet wurde. Zehn Screenshots sind immer noch ein Gutschein.

Ein Screenshot, aufbewahrt vor dem Verkauf

Einen Gutschein zu übergeben — Geschenk oder Weiterverkauf — schließt die Zeile des Gebenden und gibt dem Empfangenden eine neue Zeile mit einem neuen Code unter derselben Seriennummer aus. Der Code im alten Screenshot zeigt nun auf eine geschlossene Zeile. Einen Gutschein zu verkaufen und dann der Käuferin beim Einlösen zuvorzukommen, funktioniert nicht.

Ein Code, den jemand anderes zuerst sah

Dieses Risiko ist echt, und wir sagen es lieber: Ein Gutschein ist ein Inhaberpapier, und einer Marke, die per Code einlöst, wird nicht gesagt, wer das Telefon hält. Das Scannen eines QR-Codes gibt den Code nicht preis — ein Scan zeigt, dass der Gutschein echt und unverbraucht ist, und den Code nur der angemeldeten haltenden Person und der ausgebenden Marke — aber ein Code, den Sie posten oder vorlesen, ist ein Code, den jemand anderes nutzen kann. Behandeln Sie ihn wie eine Geschenkkartennummer. Eine Marke, die das schließen will, kann uns fragen, welche Gutscheine ihre angemeldete Kundschaft tatsächlich hält, und sie aus dieser Liste wählen lassen, statt einen getippten Code anzunehmen — dann hat ein kopierter Code nirgends Platz zur Eingabe.

Und wie es auch ausgeht, es steht im Protokoll. Ausgabe, Übergabe, Reservierung und Einlösung sind je ein versiegelter Eintrag, verkettet mit dem davor. Eine Marke kann für jeden ihrer Gutscheine die ganze Kette abrufen — Inhalte inklusive — und jeden Fingerabdruck selbst neu herleiten; „wer hat das wann eingelöst“hat also eine Antwort, die nicht von unserem Wort abhängt.

Markenguthaben

Können wir es heimlich drucken?

Markenguthaben ist geldförmig: Eine Marke lädt es auf, gibt Gutscheine dagegen aus und zahlt sich aus, was sie verdient. Die faire Frage ist also nicht, ob Außenstehende einbrechen können — sondern ob wir unserem eigenen Journal eine Zeile hinzufügen und hoffen können, dass es niemand merkt.

Das Journal wächst nur

Einträge werden angefügt, nie bearbeitet oder entfernt. Eine Korrektur ist ein weiterer Eintrag, der sagt, was er korrigiert — Fehler und Korrektur bleiben beide sichtbar. Es gibt keine Version des Saldos, aus der die unangenehme Zeile entfernt wurde.

Jeder Eintrag ist versiegelt und verkettet

Jeder trägt den Fingerabdruck des vorhergehenden. Einen alten Eintrag zu ändern bricht jeden Eintrag danach — die Kosten einer einzigen stillen Änderung sind das Neuschreiben der ganzen Kette, an zwei Orten, von denen einer nicht unserer ist.

Auch Insider sind nicht ausgenommen

Datenbankzugriff ist hier nicht dasselbe wie Journalzugriff. Wer volle Rechte an unserer Produktionsdatenbank hat, kann eine Zeile immer noch ändern — nur kann er den Anker bei axowl danach nicht dazu bringen, dem zuzustimmen. Genau darum liegt die zweite Kopie dort, wo unsere Administratoren keine Administratoren sind.

Sie können es prüfen, ohne uns zu fragen

Eine Marke kann ihre eigenen Eintrags-IDs einer Buchprüferin geben, die die Fingerabdrücke aus der offenen Kette neu herleitet und prüft, ob die Summen aufgehen. Die Prüfung läuft nicht über bullmark — es gibt also nichts, wobei wir behilflich sein könnten.

Was wir nicht behaupten

Wir prüfen eine E-Mail. Das ist die Grenze.

Wir prüfen keine Reisepässe, betreiben keine Identitätsauskunfteien und tun nicht so, als wüssten wir, wer hinter einer Adresse steht. Ein Siegel belegt, dass ein Datensatz nicht verändert wurde — es macht eine ungeprüfte Behauptung nicht wahr, und ein Unternehmen, das beides verwischt, verkauft Ihnen ein Gefühl.

Hier also das genaue Versprechen: dieser Gutschein, zu diesem Preis, wurde an diese E-Mail-Adresse zu dieser Zeit ausgegeben und seither nicht angefasst. Die E-Mail ist die, mit der sich das Konto authentifiziert hat, nie ein von jemandem getipptes Formularfeld. Alles jenseits dieser Adresse liegt außerhalb dessen, was wir beweisen können, und wir sagen das lieber, als Sie es später herausfinden zu lassen.

Prüfen Sie es selbst

Sie müssen uns nicht glauben

Jeder versiegelte Eintrag ist lesbar, und die Mathematik dahinter ist offen. Geben Sie die Kette unserem JavaScript-SDK — oder allem, was sha-256 kann — und leiten Sie die Fingerabdrücke selbst neu her. Die Prüfung läuft vollständig auf Ihrer Seite; sie fragt bullmark nichts.

GET /integrity/events/VoucherInstance/{id}

Es liefert Hashes und Urteile, nie Nutzdaten oder Einlösecodes — so kann es offen bleiben, ohne zu einem Weg zu werden, fremde Gutscheine zu lesen.

Starten Sie den Kreislauf

Ohne Vorkasse.

Startup eintragen So funktioniert es

Loading…
an unhandled error has occurred. reload