Zum Inhalt springen
buybitcoinsmart

Glossar / Entwicklerreferenz

URI-QR-Code

Was ist ein URI-QR-Code?
Ein URI-QR-Code ist das quadratische schwarz-weiße Muster, das einen bitcoin:-URI kodiert, damit eine Kamera die Adresse und den Betrag lesen kann, die sonst getippt werden müssten.

Das Scannen ersetzt das Tippen, und beim Tippen entstehen die Fehler. Eine in Großbuchstaben geschriebene bech32-Adresse passt in den alphanumerischen Modus von QR-Codes, der laut BIP173 etwa 45 Prozent kompakter ist als der Byte-Modus, sodass Codes in Großbuchstaben weniger Module haben und zuverlässiger gescannt werden. Was ein QR-Code nicht leisten kann, ist Ihnen zu sagen, dass die darin enthaltene Adresse der Person gehört, für die Sie sie halten.

So funktioniert es

Ein QR-Code ist ein universeller Datenbehälter, standardisiert als ISO/IEC 18004, und Bitcoin legt einfach einen Text-URI hinein.

Das Format bietet mehrere Kodierungsmodi. Der alphanumerische Modus umfasst einen Zeichensatz aus 45 Zeichen: die Ziffern, die Großbuchstaben, das Leerzeichen und neun Satzzeichen. Er packt zwei Zeichen in 11 Bit. Der Byte-Modus nimmt alles auf, verbraucht aber volle 8 Bit pro Zeichen. Kleinbuchstaben fehlen im alphanumerischen Zeichensatz, weshalb Wallets die gesamte Zeichenkette oft in Großbuchstaben darstellen, etwa als BITCOIN:BC1Q.... URI-Schemata unterscheiden nicht zwischen Groß- und Kleinschreibung, und bech32-Adressen sind in beiden Schreibweisen gültig, solange sie nicht gemischt werden, sodass die Großschreibung sicher ist und das Raster verkleinert.

Base58-Adressen, die mit 1 oder 3 beginnen, haben diese Möglichkeit nicht, weil ihr Zeichensatz zwischen Groß- und Kleinschreibung unterscheidet und ein geänderter Buchstabe die Adresse ändert. Das ist ein kleiner, konkreter Vorteil von bech32, der selten erwähnt wird.

Die Fehlerkorrektur wird bei der Erzeugung gewählt. Die vier Stufen stellen ungefähr 7, 15, 25 und 30 Prozent eines beschädigten Codes wieder her. Ein gedruckter Aufkleber, der Witterung ausgesetzt ist, rechtfertigt die höchste Stufe; ein Bildschirm nicht. Die Kapazität ist hier nie die begrenzende Größe: Die größte QR-Version fasst 4.296 alphanumerische Zeichen, während ein typischer Bitcoin-URI zwischen 50 und 120 liegt.

Wo Sie ihn sehen

Vier Oberflächen erzeugen täglich Bitcoin-QR-Codes, und sie sind nicht gleich vertrauenswürdig.

Einzahlungsbildschirme von Börsen erzeugen einen für die Adresse, die Sie aufladen sollen. Das eigene Display einer Hardware-Wallet erzeugt einen für eine Adresse, die sie intern abgeleitet hat, und das ist die einzige Version, deren Herkunft Sie prüfen können. Kassen von Händlern drucken einen einheitlichen Code, der sowohl eine On-Chain-Adresse als auch eine Lightning-Rechnung trägt. Bitcoin-Automaten zeigen einen im Moment des Kaufs an, meist mit einem Countdown.

Der Unterschied zwischen der zweiten Oberfläche und den übrigen ist das gesamte Sicherheitsargument für Hardware-Wallets. Malware, die Ihren Bildschirm steuert, kann einen QR-Code neu zeichnen; den auf einem Display von Trezor oder Ledger kann sie nicht neu zeichnen. Erzeugen Sie den Code auf dem Gerät und prüfen Sie dann die Zeichen, die das Gerät ebenfalls darunter ausgibt.

Physische Codes sind das leichtere Ziel. Das Internet Crime Complaint Center des FBI veröffentlichte am 18. Januar 2022 eine öffentliche Warnung dazu, dass Kriminelle ihre eigenen QR-Aufkleber über legitime kleben, und die Technik ist nicht verschwunden. Behandeln Sie jeden auf Papier gedruckten Code an einem öffentlichen Ort als ungeprüft, bis die Zieladresse mit etwas übereinstimmt, das Sie selbst erwartet haben.

Es gibt eine harmlose Verwendung, die es zu kennen lohnt. Vom Netz getrennte Signiergeräte übertragen teilweise signierte Transaktionen über animierte Abfolgen von QR-Codes hinein und hinaus, mit mehreren Bildern pro Sekunde, weil Kamera und Bildschirm einen Datenkanal ohne Kabel und ohne USB-Stack bilden, der angegriffen werden könnte.

URI-QR-Code vs. Adresse

Eine Adresse ist Text; ein URI-QR-Code ist das Bild eines längeren Textes, der zufällig eine Adresse enthält. Das Scannen eines Codes, der eine reine Adresse enthält, gibt Ihrer Wallet ein Ziel und sonst nichts, sodass Sie den Betrag weiterhin eingeben. Das Scannen eines Codes, der einen vollständigen URI enthält, füllt den Betrag, die Bezeichnung und manchmal auch eine Lightning-Rechnung aus. Beide sehen für das Auge identisch aus, weshalb eine Wallet, die Ihnen nach dem Scan eine vorausgefüllte Summe zeigt, Ihnen etwas Nützliches darüber sagt, was sie tatsächlich gelesen hat.

Nicht zu verwechseln mit

Häufig gestellte Fragen

Warum verwenden manche Bitcoin-QR-Codes nur Großbuchstaben?

Damit der Code kleiner wird. Der alphanumerische Modus von QR-Codes kennt keine Kleinbuchstaben, und BIP173 weist darauf hin, dass er etwa 45 Prozent kompakter ist als der Byte-Modus, sodass die Großschreibung einer bech32-Adresse und des bitcoin:-Schemas ein weniger dichtes Raster ergibt, das zuverlässiger gescannt wird.

Ist das Scannen eines QR-Codes sicherer als das Kopieren einer Adresse?

Es vermeidet Malware in der Zwischenablage, bringt aber ein eigenes Risiko mit sich. Ein gedruckter Code kann mit einem betrügerischen Aufkleber überdeckt werden, wovor das FBI im Januar 2022 gewarnt hat. Prüfen Sie das Ziel in jedem Fall auf dem Bildschirm Ihrer Hardware-Wallet.

Weiterlesen

Verwandte Begriffe

Mehr zum Thema Entwicklerreferenz

Diese Seite auf Englisch lesen