BIP324 beschreibt, wie Nachrichten zwischen Bitcoin-Knoten verschlüsselt werden. Ein Knoten ist ein Programm, das Transaktionen und Blöcke prüft und sich mit anderen Netzwerkteilnehmern austauscht. Solche direkten Verbindungen zwischen Netzwerkteilnehmern heißen P2P-Verbindungen; die verschlüsselte Variante wird v2 transport genannt. Wer eine Verbindung nur belauscht, soll ihren Inhalt nicht ohne Weiteres lesen können. Die Verschlüsselung bestätigt allerdings nicht, mit welchem Knoten man tatsächlich kommuniziert. Die öffentliche Blockchain und die Gültigkeitsregeln für Transaktionen bleiben unverändert.
Ein Block ist ein Paket von Transaktionen, das in die gemeinsame Bitcoin-Historie aufgenommen wird. Blöcke sind öffentlich. Ihre Verbreitung zu beobachten ist aber etwas anderes, als die fertige Kette zu lesen. Wer eine unverschlüsselte Verbindung überwacht, sieht auch die Reihenfolge der Nachrichten, Anfragen und den Zeitpunkt, zu dem ein Node eine Transaktion weitergab. Das kann helfen, Netzwerkaktivität Personen zuzuordnen. BIP324 erschwert dieses einfache Mitlesen durch passive Beobachter. [1] [2] [7]
Zwei Nodes mit entsprechender Unterstützung vereinbaren beim Verbindungsaufbau Schlüssel und kommunizieren anschließend verschlüsselt. Sie müssen weder vorher die Identität des anderen kennen noch ein Zertifikat einer zentralen Stelle besitzen. Genau deshalb bedeutet verschlüsselt nicht vertrauenswürdig. Der andere Node liest die Nachrichten selbstverständlich und kann weiterhin einem Angreifer gehören. [1]
Beim Verbindungsaufbau, dem sogenannten Handshake, erzeugen beide Knoten vorübergehende Schlüssel. Ein privater Schlüssel ist ein geheimer Zahlenwert; der zugehörige öffentliche Schlüssel kann weitergegeben werden. Mit ECDH berechnet jede Seite dasselbe gemeinsame Geheimnis, ohne private Schlüssel auszutauschen. Daraus werden die Schlüssel zum Schutz der Übertragung abgeleitet. ElligatorSwift stellt öffentliche Schlüssel so dar, dass dieser Teil des Austauschs zufälligen Daten ähnelt und schwerer anhand eines festen Musters zu erkennen ist. Diese Schlüssel gehören ausschließlich zur Netzwerkverbindung. Es sind weder private Schlüssel zum Verfügen über Bitcoin noch ein Seed, also der geheime Ausgangswert zur Ableitung von Wallet-Schlüsseln. Um die verschlüsselte Übertragung einzuschalten, muss niemand seine Wallet-Sicherung weitergeben. [1] [8]
Angenommen, jemand fängt unterwegs eine Nachricht ab und verändert sie. BIP324 verwendet ChaCha20Poly1305: Verschlüsselung mit einer Prüfung, ob die Nachricht zum Verbindungsschlüssel passt und unverändert ist. Ohne diesen Schlüssel kann ein Angreifer nicht einfach die Daten umschreiben und eine gültige Nachricht erzeugen. Die Prüfung belegt aber nicht, dass der Schlüssel mit dem beabsichtigten Knoten geteilt wird. Ein aktiver Vermittler kann beim Verbindungsaufbau beiden Seiten jeweils als Gegenstelle erscheinen. Dann unterhält er zwei getrennte verschlüsselte Verbindungen und liest und übermittelt die Nachrichten dazwischen. Nachrichtenschutz und Überprüfung der Gegenstelle sind deshalb unterschiedliche Aufgaben. [1]
Die Schlüssel werden während der Verbindung erneuert. Werden alte Geheimnisse korrekt gelöscht, erschließt ein späterer Zugriff auf aktuelle Schlüssel nicht automatisch die gesamte frühere Aufzeichnung. Diese Eigenschaft heißt forward secrecy. Nachrichten, die der andere Knoten bereits gelesen oder gespeichert hat, kann sie nicht schützen. Auch gegen einen Angreifer mit dauerhafter Kontrolle über den Rechner hilft sie nicht; die jüngste Nachrichtengruppe kann zudem weiterhin offengelegt werden. [1]
Der ältere v1 transport bleibt aus Kompatibilitätsgründen unterstützt. Scheitert eine v2-Verbindung, kann die Software v1 versuchen. Ein aktiver Angreifer kann deshalb verschlüsselte Verbindungen blockieren und einen unverschlüsselten Rückfall erzwingen wollen. BIP324 verteuert passive Überwachung, verspricht aber weder allgemeinen Schutz vor einem Downgrade noch die Verfügbarkeit der Verbindung. [1] [4]
BIP324 verbirgt weder IP-Adressen noch sämtliche zeitlichen Muster und Datenmengen des Verkehrs. Eine IP-Adresse ist die Netzwerkadresse, die ein Gerät bei der Kommunikation über das Internet verwendet. Tor kann einen anderen Teil des Problems angehen; auch gemeinsam ergeben sie keine automatische Anonymität. Unabhängig vom Übertragungsweg muss ein Full Node Transaktionen, Signaturen und Blöcke prüfen. Verschlüsselung allein verhindert keinen Eclipse Attack, bei dem Angreifer einen Node umgeben. [1] [6]
Bitcoin Core 26.0 unterstützte v2 erstmals 2023, zunächst standardmäßig deaktiviert. Version 27.0 aktivierte es standardmäßig. Das Jahr dieses Eintrags bezeichnet daher die erste Unterstützung in Bitcoin Core, nicht den Ursprung des Vorschlags. Jede Verbindung handelt den Transport einzeln aus; Unterstützung in der Software bedeutet nicht, dass alle verbundenen Peers v2 nutzen. [3] [4]
Wer Bitcoin Core betreibt, kann den Verbindungsstatus mit bitcoin-cli getpeerinfo abfragen. Der Aufruf nutzt RPC, eine Schnittstelle zur Steuerung des Knotens und zum Abrufen von Informationen; dieser Befehl verbreitet keine Transaktionen im Bitcoin-Netz und ändert keine Einstellungen. Die Ausgabe führt jede Verbindung einzeln auf. Bei transport_protocol_type bedeutet v2 verschlüsselte Übertragung, v1 die ältere unverschlüsselte Übertragung und detecting eine noch offene Auswahl. session_id enthält die Kennung einer v2-Verbindung und ist sonst leer. Die Kennung allein bestätigt die Gegenstelle nicht. Zwei Betreiber können sie für ihre gemeinsame Verbindung über einen anderen vertrauenswürdigen Kanal vergleichen, um einen Vermittler zu erkennen; automatisch geschieht das bei gewöhnlichen Verbindungen nicht. Das Ergebnis beschreibt diese Verbindung, nicht den gesamten Weg einer Transaktion durch das Netz. Die Ausgabe enthält außerdem Netzwerkdaten, die nicht veröffentlicht werden müssen. [5] [1]
BIP324 nennt Dhruv Mehta, Tim Ruffing, Jonas Schnelli und Pieter Wuille als Autoren. Die Nummer wurde 2019 zugewiesen; bei der Prüfung am 17. Oktober 2026 lautet der Status Deployed. Die Einführung braucht weder einen Soft Fork noch eine Änderung der Bitcoin-Geldmenge. Sie verbessert die Kommunikation schrittweise; ihr Nutzen hängt von korrekter Implementierung und tatsächlich verwendeten Verbindungen ab. [1]
Für ein möglichst vollständiges Bild lies diesen Eintrag zusammen mit Full Node, Eclipse Attack, Bitcoin-Privatsphäre, Bitcoin Core. Auf diesen Eintrag verweisen außerdem Mix Network.