Das Wichtigste in Kürze:
  • Vaults sollen eine bessere Nutzererfahrung ermöglichen, ohne dabei direkt auf Sicherheit verzichten zu müssen.
  • Um Bitcoin aus einem Vault auszugeben, muss dies zunächst angekündigt werden und kann erst nach Ablauf einer festgelegten Zeit tatsächlich finalisiert werden.
  • Unautorisierte Auszahlungsversuche können jederzeit mit einer Transaktion auf eine sichere Adresse abgebrochen werden.
  • Ein aktueller Entwurf für ein BIP vom Entwickler James O'Beirne mit dem Titel "OP_VAULT" stellt einen konkreten Vorschlag zur Umsetzung solcher Vaults vor.

Wer seine Bitcoin selbst verwahrt, also eine eigene Wallet verwendet, trägt dafür die volle Verantwortung. Es gibt keine Service-Hotline, zumindest keine seriöse, die einem im Notfall weiter helfen kann. Viele überlegen sich daher zusätzliche Sicherheitsmaßnahmen, um sich vor Diebstahl oder Verlust zu schützen. Dabei geht es eigentlich immer darum, den Zugriff auf die eigenen Schlüssel zu erschweren. Einige gängige Beispiele für solche Maßnahmen sind:

Zusätzliche Sicherheit ist allerdings nie kostenlos, sondern eigentlich immer mit Kompromissen, vor allem was die Nutzererfahrung angeht, verbunden. Erschwert man den Zugang zu seinen Schlüsseln, dann bedeutet das in der Regel auch mehr Aufwand für einen selbst, wenn man seine Bitcoin ausgeben möchte.

Hot Wallets

Aus genau diesem Grund verwenden viele neben ihrer sicheren Cold Wallet eine gewöhnliche Software Wallet, z.B. auf dem Smartphone, die sie für alltäglichere Zahlungen verwenden. Die Beträge in dieser Wallet sind dann natürlich bewusst klein gewählt, ähnlich wie Bargeld, das man im Geldbeutel mitführt, da die Wahrscheinlichkeit, das Geld zu verlieren einfach höher ist.

Das eigentliche Problem wird damit aber nicht gelöst: Man verwendet trotzdem eine potenziell unsichere Hot Wallet, wenn auch nur für kleinere Beträge, und es ist weiterhin mit relativ viel Aufwand verbunden, Bitcoin aus der sicheren Cold Wallet auszugeben.

Genau hier setzt die Grundidee eines Bitcoin Vaults an, die wir im Folgenden näher unter die Lupe nehmen. Konkret schauen wir uns dabei einen Vorschlag des Bitcoin Core Entwicklers James O'Beirne an, welcher Anfang dieses Jahres vorgestellt wurde, und seit kurzem auch als Entwurf für ein Bitcoin Improvement Proposal (BIP) vorliegt.

Eine Wallet mit Notausgang

In einer gewöhnlichen Bitcoin Wallet braucht es einen (oder mehrere) Schlüssel, um eine gültige digitale Signatur zu erzeugen und Bitcoin auszugeben. Die Sicherheit dieser Schlüssel, und wie diese verwendet werden, bestimmen die Sicherheit der Wallet, denn wer den Zugang zu den Schlüsseln hat, kontrolliert schließlich auch die zugehörigen Bitcoin.

Ein Vault (dt. Tresor) führt hier neue bzw. zusätzliche Bedingungen ein: Um Bitcoin aus einem Vault auszugeben, muss dies zunächst öffentlich mit einer Transaktion signalisiert, also angekündigt, werden. Erst nachdem eine vorher festgelegte Zeit verstrichen ist, kann die eigentlich gewünschte Zahlung stattfinden. In der Zwischenzeit ist es jederzeit möglich, den Versuch der Auszahlung abzubrechen. Bemerkt der Besitzer eines Vaults also einen unerlaubten Zugriff, hat er die Möglichkeit diesen zu verhindern und seine Bitcoin in Sicherheit zu bringen.

Bevor wir uns die aus solch einem Ansatz resultierenden Vor- und Nachteile genauer anschauen, müssen wir zunächst den konkreten Vorschlag besser verstehen.

OP_VAULT

James O'Beirne schlägt konkret zwei neue Opcodes, also Befehle für die Bitcoin Script Sprache, und damit neue Funktionen für Bitcoin Transaktionen vor, um eine Vault-Funktion wie oben beschrieben zu ermöglichen.

Nehmen wir an, Alice nutzt einen solchen Vault und möchte ein Auto von Bob kaufen. Bitcoin, die auf einer Vaultadresse von Alice liegen, sind an drei, von dieser Adresse (bzw. dem dahinter liegenden Script) festgelegten Parameter geknüpft:

  1. Eine Wiederherstellungsadresse zu einer sicheren und vertrauenswürdigen Wallet, z.B. eine Multisignatur Wallet mit mehreren Hardware Wallets, die an unterschiedlichen Orten gelagert sind.
  2. Eine beliebige (relative) Zeitangabe.
  3. Eine Bedingung, die z.B. von einer weniger sicheren Wallet, in unserem Beispiel ist das die gewöhnliche Hot Wallet auf dem Smartphone, erfüllt werden kann.

Alice hat nun zwei verschiedene Möglichkeiten Bitcoin aus dem Vault auszugeben:

  1. Sie kann jederzeit an die festgelegte Wiederherstellungsadresse auszahlen. Hierfür wird nicht einmal eine Signatur benötigt und es gibt auch keine (zusätzliche) Wartezeit.
  2. Signalisieren eines Ausgabewunsches, welcher erst nach Ablauf der im Vault festgelegten Zeit finalisiert werden kann. Dafür reicht z.B. die Signatur der Hot Wallet aus.

OP_UNVAULT

Alice möchte nun Bob für das neue Auto bezahlen. Dafür wählt sie die zweite der oben beschriebenen Möglichkeiten und löst damit eine Auszahlung aus, der Tresor wird sozusagen „geöffnet“. Sie erstellt eine neue Transaktion mit einem Output, der den zweiten neuen Befehl nutzt, OP_UNVAULT, welcher auch wieder drei Angaben enthält:

  1. Die gleiche Wiederherstellungsadresse wie im Vault Output der ausgegeben werden soll.
  2. Die entsprechend gleiche Zeitangabe.
  3. Das eigentliche Ziel der gewünschten Zahlung, also in unserem Beispiel eine Adresse* von Bob für das Auto.

* Zur Vereinfachung wird hier und auch zuvor von „einer Adresse“ gesprochen. Tatsächlich steht im Output ein Hashwert über alle eigentlichen Outputs, die später erstellt werden sollen. Die Funktion bietet also relativ viel Flexbilität.

Diese Transaktion veröffentlicht Alice ganz normal im Bitcoin Netzwerk und wartet auf eine Bestätigung. Entscheidend ist, dass Bob noch nicht bezahlt, sondern dies nur angekündigt wurde. Erst nach Ablauf der festgelegten Zeit kann Alice eine weitere Transaktion erstellen, die den Unvault Output an die bereits festgelegte Adresse von Bob ausgibt. Sobald diese zweite Transaktion auch bestätigt ist, hat Bob seine Bitcoin für das Auto erhalten und Alice hat erfolgreich Bitcoin von ihrer Vault ausgegeben, alleine mit einer Signatur ihrer Hot Wallet und ein bisschen Wartezeit.

Jederzeit, sowohl vor als auch nach der Unvault Transaktion, hätte sie den Vorgang abbrechen und ihre Bitcoin auf der Wiederherstellungsadresse in Sicherheit bringen können. Natürlich nur solange die festgelegte Zeit noch nicht abgelaufen ist bzw. die Auszahlung noch nicht finalisiert wurde.

Flussdiagramm Bitcoin Vault
Vereinfachte Darstellung einer Auszahlung aus dem Vault.

Mit einem Bitcoin Vault nutzt man also die Vorteile von leicht zugänglichen Software Wallets, wie z.B. einfache und bequeme Bedienung auf dem Smartphone ohne dabei direkt auf Sicherheit verzichten zu müssen. Voraussetzung ist natürlich, dass die „sichere“ Wiederherstellungswallet auch tatsächlich sicher und gut durchdacht ist.

Erstmals könnte man die eigene Cold Wallet kompromisslos auf Sicherheit optimieren, ohne sich Gedanken um einfache Nutzung oder Zugänglichkeit machen zu müssen. Schließlich muss man nur in (hoffentlich) seltenen Ausnahmesituationen tatsächlich auf die sicheren Schlüssel zugreifen.

Nachteile und Risiken

Dieser angesprochene Gewinn an Bequemlichkeit führt aber, wer hätte es gedacht, zu einigen Nachteilen, die unbedingt beachtet werden sollten.

  • Grundsätzlich holt man sich mit einem Vault eine Eigenschaft mit an Bord, die man bisher in dieser Form eigentlich nur aus dem Lightning Netzwerk kennt: Man muss ohne Unterbrechung online sein und das Bitcoin Netzwerk stets im Auge behalten, um einen unerlaubten Auszahlungsversuch zu erkennen und abzubrechen.

    Verliert man den Zugang zum Bitcoin Netzwerk (z.B. durch einen Stromausfall oder sonstigen technischen Defekt) hat man nicht nur keine Möglichkeit einen Auszahlungsversuch zu verhindern, man würde ihn wahrscheinlich nicht einmal bemerken. Bereits jetzt sind daher, ähnlich wie im Lightning Netzwerk, sogenannte Watchtower im Gespräch, die als dritte Instanz die Aufgabe der Überwachung des Netzwerks übernehmen und im Notfall einschreiten. Wie auch immer man einen solchen Watchtower realisiert (also z.B. ob selbst verwaltet oder über einen Dienstleister), sorgt es für zusätzliche Komplexität und damit auch Fehleranfälligkeit.

  • Bei der Wahl der zeitlichen Verzögerung steht man vor einem Dilemma: Einerseits möchte man möglichst bequem Transaktionen aus dem Vault tätigen. Je kürzer also das Zeitlimit gewählt wird, desto bequemer wird es. Andererseits sollte man sich immer genug Zeit verschaffen, um unerlaubten Zugriff rechtzeitig zu bemerken, was bei einem kleineren Zeitraum zunehmend schwieriger und riskanter wird.

  • Die Nutzung eines Vaults ist grundsätzlich mit höheren Kosten verbunden, sowohl finanziell durch zusätzliche Transaktionsgebühren als auch durch die Zeit, die jeweils abgewartet werden muss. Um Bob das Geld für ihr Auto zu schicken, musste Alice zwei Transaktionen erstellen und diese natürlich auch bezahlen. Bob musste außerdem mindestens doppelt so lange warten, bis er seine Bitcoin (sicher) erhalten hat.

  • So wie von James O'Beirne vorgeschlagen kann jederzeit eine "Rettungstransaktion" auf die im Vault angegebene Wiederherstellungsadresse durchgeführt werden, ganz ohne Signatur. Damit wird sichergestellt, dass man diese im Notfall auch immer veranlassen kann. Allerdings können dadurch auch dritte Parteien die Wiederherstellung durchführen, sofern sie die Zieladresse kennen, obwohl man das selbst gar nicht möchte. Zwar stellt dies kein Risiko dar und der "Angreifer" müsste für die Transaktion selbst bezahlen, aber es wäre trotzdem ziemlich nervig für den Besitzer des Vaults.

    Von einigen kommt daher auch der Vorschlag für die Wiederherstellung eine Signatur, z.B. durch die Hot Wallet, zu fordern, um solche Denial of Service Angriffe zu vermeiden.

Fazit

Bitcoin Vaults sind eine spannende Entwicklung im Bereich der Selbstverwahrung und würden Nutzern neue Möglichkeiten geben, sicher und verantwortungsvoll mit Bitcoin zu bezahlen, ohne dabei zu viele Abstriche in der Nutzererfahrung machen zu müssen. Ob sich der Vorschlag wie hier beschrieben durchsetzen wird oder nicht, wird die Zukunft zeigen. Neue Funktionen für Bitcoin sollten immer sehr genau geprüft und gegen alle Nachteile und Eventualitäten abgewogen werden, um keine ungewollten Folgen oder gar Fehler zuzulassen. Das von James O'Beirne vorgeschlagene Update wäre mit einer sogenannten Soft Fork, also einem vorwärts kompatiblen Update, umsetzbar, also vergleichbar mit dem Taproot Update aus 2021.

Wie immer, wenn es um zusätzliche Sicherheitsmaßnahmen für die eigene Wallet geht, sollte man sich zunächst gründlich informieren und genau überlegen, ob und wie die Maßnahme sinnvoll sein kann.

Für Nutzer, die häufig Transaktionen mit höheren Beträgen tätigen und dabei trotzdem eine relativ komplexe Cold Wallet verwenden wollen, könnten Vaults eine praktische Zwischenlösung darstellen, um Sicherheit und einfache Benutzung miteinander zu vereinen. Auch für Unternehmen, vor allem solche, die viel Geld für ihre Kunden verwahren, könnten Vaults spannende neue Möglichkeiten bieten.