Multisignature Wallet 2/2 wiederherstellen

Hallo ihr Lieben,

ich möchte eine 2/2 Multisig Wallet einrichten - für mich und meine Frau.

Jetzt lese ich in Blogbeiträgen immer, dass Multisig so gefährlich sei.

Es ist immer folgender Hinweis zu finden:

  • alle Seeds aufschreiben! (also bei mir z. B. alle 2)
  • Auf jedem Backup müssen alle Extended Public Keys stehen!

Und ich habe ein Problem mit der letzten Aussage, dass ich alle Extended Public Keys auch in einer 2/2 Konstellation sichern muss.

Bin ich blöd und verwirrt? Warum genügt es nicht „nur“ die 2 Seeds atombombensicher aufzubewahren? Kann man nicht alleine, wenn man alle Seeds der 2/2 Konstellation hat, das Multisig Wallet wiederherzustellen?

Vielen Dank im Voraus!

Liebe Grüße

2 „Gefällt mir“

Hey schau dir mal den angehängten Beitrag an.

Zitat daraus:
„Your hardware wallet should verify […] the xpubs of the cosigners in order to prevent an attacker from swapping them“.

Das Thema wird dort sehr ausführlich aufgearbeitet und zeigt die Relevanz des xPubs für jede MultiSig-Lösung. Der xPub dient als Abgleich und garantiert dir, dass die zweite Signatur tatsächlich von dem Gerät stammt, das es vorgibt zu sein.
Stell es dir vielleicht wie ein Bankschließfach vor, für das man neben dem Schlüssel auch noch einen Ausweisdokument braucht, damit nicht einem Schlüssel-Dieb Zugang zum Schließfach gewährt wird.

Hi BlueBallrum,
danke dir!
Ich kenne den Blogeintrag. Jedoch beantwortet er nicht meine konkrete Frage.

Ich weiß eigentlich wofür ein xPub gut ist. Dementsprechend wundern mich die Aussagen, dass man bei 2/2 alle Extended Public Keys sichern muss. Ich bin der Meinung, dass alle 2 Seeds genügen, um die 2/2 Multisig Wallet wiederherzustellen. Aber vielleicht übersehe ich auch etwas?

Aah okay, das ist schon mal super!

Ich denke, du hast vollkommen recht. Meines Wissens braucht man für die Wiederherstellung lediglich die beiden Seeds und den Ableitungspfad. Ich glaube der xPub ist für die Widerherstellung nicht von Bedeutung, sondern ist nur für den von mir beschriebenen Zweck gedacht.
Ich hoffe, ich habe deine Frage jetzt richtig verstanden :sweat_smile:

Weiß es jemand sicher? :smiley:

(Ja, als Ableitungspfad nehme ich einfach einen, der überhaupt nicht Standard ist ironie)

Hier beschreibt Stadicus das recht ausführlich:

Vorsicht! Sehr gefährlich!

Die öffentlischen Schlüssel können entscheidend für die Wiederherstellung sein, und bei den meisten Multisig Setups sind sie das auch!

Hier im Kontext eines 2/2 Setups ist es egal, da man sowieso beide Backups braucht (und damit auch alle Schlüssel hat bzw. haben muss). Aber genau aus diesem Grund ist ein 2/2 Setup für einen privaten Anwender auch nicht sinnvoll.

@mangosun Schau mal in meinen Beitrag rein:

Eine 2/2 Multisig macht wenig Sinn, da du es dir technisch verkomplizierst und dabei aber nur den selben Vorteil wie bei einer optionalen Passphrase erreichst, die deutlich einfacher umzusetzen ist.

Der große Vorteil von einem Multisig Setup liegt doch gerade in einer 2/3 oder auch 3/5 Aufteilung: Nämlich der zusätzliche Schutz gegen Backupverlust. Das ist für Anwender wie uns der eigentliche Hauptgrund Multisig zu nutzen, auf den du aber mit 2/2 verzichtest.

Bei einem 2/3 Setup brauchst du unbedingt, wie im verlinkten Artikel beschrieben, den xpub des dritten Backups (welches dir ggf. nicht vorliegt), denn du brauchst alle öffentlichen Schlüssel um die Adressen zu derivieren, während du nur 2 private Schlüssel brauchst für eine gültige Signatur.

Genau, kann man.

Multisig kann man sich aber beliebig zurecht legen. Also eine 2/3, 3/5, 9/10, 1/2, … Aufteilung. 2/2 oder n/n ist sozusagen der Sonderfall bei dem die Geschichte mit den xpubs nicht gilt – 2/2 ist aber auch die am wenigsten sinnvolle Kombination (im Kontext eigene Coins sicher verwahren) – finde ich.

Grundsätzlich kann man logischerweise immer wiederherstellen wenn man alle Backups eines Setups hat.

5 „Gefällt mir“

Hallo @sutterseba ! DANKE für deine sehr gute Erklärung! :sunglasses:

Mir ist klar, dass man gerade in Unternehmen oder in anderen Konstellationen eher z. B. 2/3 verwendet und dies mehr Sinn macht. Dementsprechend braucht man bei Fällen, wo N ungleich M ist, unbedingt alle xpub.
Erkläre das nur mal meiner Frau, die gerne mitsprechen möchte und in dem Fall auf 2/2 besteht. :sweat_smile:

Jedoch verstehe ich deine Aussage dabei nicht:

Eine 2/2 Multisig macht wenig Sinn, da du es dir technisch verkomplizierst und dabei aber nur den selben Vorteil wie bei einer optionalen Passphrase erreichst, die deutlich einfacher umzusetzen ist.

Kryptographisch besteht aber doch ein Unterschied zwischen einer Singlesig Wallet mit optionaler Passphrase und einer 2/2 Multisig Wallet. Also wenn ich die kryptographische Implementierung bei Bitcoin richtig verstehe, dann besteht dort doch kryptographisch ein deutlicher Unterschied. Oder bin ich jetzt komplett blöd und verwirrt?

Natürlich, das sind zwei völlig unterschiedliche Verfahren!

Es geht uns hier am Ende darum welchen Effekt wir damit erreichen, und der ist jeweils sehr ähnlich.

Auch wenn wir über Sicherheit sprechen, sind die beiden Optionen sehr ähnlich, zumindest solange unsere Passphrase gut ist.

Szenario Multisig 2/2:

  • Angreifer findet 1/2 Backups und kann damit nichts anfangen, er müsste das zweite Backup Brute-Forcen.

  • Du verlierst oder zerstörst 1/2 Backups und verlierst sofort alles. (!)

Szenario Passphrase:

  • Angreifer findet 1/2 Backups (Mnemonic oder Passphrase) und kann damit nichts anfangen, er müsste die Passphrase oder die Mnemonic Brute-Forcen.

    Besonderheit: In einem Fall (Angreifer findet Mnemonic) liegt die Sicherheit bei der Qualität der Passphrase. Mit der kannst du es aber beliebig übertreiben, eine Entropie von 128 bit ist aber ausreichend.

  • Du verlierst 1/2 Backups und verlierst sofort alles. (!)

Szenario Multisig 2/3:

  • Angreifer findet 1/3 Backups und kann damit nichts anfangen, er müsste ein zweites Backup Brute-Forcen.

  • Du verlierst 1/3 Backups aber das ist kein Problem, denn du hast noch 2 weitere die ausreichend sind. (Vorteil ggü. 2/2)

Ich würde außerdem behaupten dass die optionale Passphrase und eine 2/2 Multisig kryptographisch genau gleich sicher sind (bei guter Passphrase), da ein Brute-Force Angriff sowieso direkt über Private Keys gehen würde und die Unterscheidung keine Rolle mehr spielt.

Mit „verlieren“ sind natürlich auch zerstörte oder gestohlene Backups gemeint.

Darauf wollte ich nicht hinaus. Der durchschnittliche Bitcoiner der sich eine Multisig einrichtet, wählt 2/3, einfach weil es am sinnvollsten ist.

Denn wie gesagt: Eine optionale Passphrase ist einfacher, universeller (funktioniert mit fast jeder Wallet) und günstiger (nur eine Hardware Wallet)! – Bei gleichem Effekt unterm Strich!

Deswegen würde ich dir empfehlen:

  • Du willst 2/2 Backups: Nutz eine optionale Passphrase, lies dir vorher unbedingt den verlinkten Beitrag dazu durch und sichere deine Backups jeweils doppelt ab, also 2/4.

    Optionale Passphrase ("25. Wort") - Braucht man das wirklich?

  • Du bestehst auf Multisig: Dann wähle eine 2/3 Aufteilung, damit es dir überhaupt was bringt. Vorteil hier: Du musst die Backups nicht doppelt sichern weil du den zusätzlichen Schutz bereits dabei hast. Somit musst du dich um ein Backup weniger kümmern.

    Solltest du auf 2/2 Multisig bestehen: Backups wie bei der Passphrase doppelt sichern!

4 „Gefällt mir“

Danke @sutterseba ! :smiling_face_with_three_hearts:

Deine Empfehlungen muss ich mir jetzt ganz in Ruhe überlegen und deine Verlinkungen auch nachlesen. :eyes:

Gibt es zu dieser zitierten Aussage irgendwo Material, wo man genau das nachlesen (auch technisch und kryptographisch) kann? :nerd_face: Weil ich dachte bisher, dass eine 2/2-Multisig-Wallet wesentlich sicherer ist als eine Singlesig-Wallet mit guter Passphrase. :scream:

Gerne :slight_smile:

Wir reden hier ja einfach über Brute Force und beziehen die Sicherheit nur auf die Backups.

Wenn du zum Beispiel dein Vetrauen nicht in eine einzige Hardware Wallet stecken willst, kannst du einen SPOF ausschließen indem du zwei verschiedene Wallets (z.B. BitBox02 & SeedSigner) wählst. Damit hast du dann, nach persönlicher Auffassung, mehr Sicherheit gegenüber einer Passphrase die nur auf einem Gerät (SPOF) verwendet wird. Aber genauso könnte man für die Passphrase die Plausible Deniability erwähnen. Das sind dann spezifische Vor- und Nachteile. Das eine ist nicht per se sicherer als das andere.

Du musst auch sparsam sein mit dem Ausdruck „kryptographische Sicherheit“, das ist nochmal eine etwas andere Diskussion.

Passphrase:

Jemand findet deine Mnemonic, ihm fehlt jetzt aber die Passphrase. Er müsste jetzt alle Möglichkeiten durchprobieren, bis er in der richtigen Wallet landet. Die Sicherheit misst sich also an der Qualität der Passphrase.

Wenn du eine Passphrase mit, machen wirs mal richtig, 256 bit Entropie wählst, dann ist es genauso „unmöglich“ diese zu brechen, wie es bei der Mnemonic unmöglich ist, es gibt schließlich genauso viele (2^{256}) Möglichkeiten und das Verfahren ist exakt das gleiche (siehe Beitrag Passphrase).

In der Realität ist es aber viel „einfacher“ direkt einen private key zu suchen, anstatt den Umweg über das sehr aufwendige Ableitungsverfahren von Mnemonic zu Seed zu gehen (mehrere tausend Rechenschritte). @skyrmion hat das hier erklärt:

Wenn du an der Haustür eine fette Sicherheitstür installierst aber im Hinterhof nur eine Gartentür hast, dann ist es egal wie sicher der Vordereingang ist, denn ein Angreifer nimmt sich immer den leichtesten Weg. (Damit will ich nicht sagen dass 2^{96} eine Gartentür ist… :sweat_smile: – Es geht nur ums Prinzip)

Jetzt zur 2/2 Multisig:

Jemand findet eine Mnemonic, ihm fehlt die andere. Jetzt müsste er alle anderen Möglichkeiten durchprobieren, bis er in der richtigen Wallet landet. Wie viele Möglichkeiten sind das? 2^{256}, genau wie bei der Passphrase mit 256 bit Entropie.

Das stimmt natürlich schon irgendwo. Nämlich wenn ich als Angreifer gar kein Backup kenne.

Ich muss für die Wallet mit Passphrase „nur“ einen Private Key für die gewünschte Adresse finden, ich brauche ja auch nur einen um auszugeben.

Bei einer 2/2 Multisig muss ich entsprechend zwei Private Keys finden, was nochmal schwieriger ist.

Aber das ist für deine Entscheidung nicht relevant. Und wir scheifen von den relevanten Fragen ab, Brute Force (was du wahrscheinlich mit kryptographische Sicherheit meinst) ist eigentlich das geringste Problem.

Es geht viel mehr darum eigene Fehler zu vermeiden, das eigene Konzept verstanden zu haben und die Backups richtig zu verwalten. Und da bist du ja auf gutem Weg.

Wie gesagt: In meinen Augen ist der für dich relevante Vorteil bei Multisig die Absicherung gegen Backupverlust (2/3).

Eine 2/2 Aufteilung kriegst du mit einer Passphrase einfacher hin.

Schau dir auch noch den 2/3 Mnemonic Split aus dem Artikel oben an.

4 „Gefällt mir“

@sutterseba: Danke für deine Informationen!

Ja, ich bekomme alle genannten Versionen jetzt hin und verstehe sie jetzt auch - Dank deiner schönen Erklärungen die Unterschiede. Schade, dass man sonst kaum so eine gute Erklärung in Blogs oder Büchern zu Bitcoin findet!

Jetzt muss ich mir nur in Ruhe überlegen, welche Varianten für mich passen :slight_smile:

2 „Gefällt mir“

Jetzt habe ich doch noch einige Fragen dazu, nachdem ich alle genannten Links durchgearbeitet habe :see_no_evil:

Wenn man sich für 2/2 Multisig entscheidet.
Dann hat uns ja @sutterseba so genial erklärt, dass man sich hierfür ausnahmsweise nicht die zwei xpub notieren muss, wenn man davon ausgeht, dass man 100% beide Seeds hat. (Das gilt auch für 3/3, oder?) Soweit, so gut.

Aber muss man unbedingt den Ableitungspfad für jeden Seed dazu aufheben? Ist das absolut notwendig (wenn man es beim Standard belässt)?

Und was ist der Unterschied zwischen BIP und Ableitungspfad? Ich dachte immer, dass BIP39 zum Beispiel diese Wortliste ist, aus der dann deterministisch der Private Key erzeugt wird.

Und ersetzt das Notieren von BIP den Ableitungspfad oder umgekehrt?

1 „Gefällt mir“

Ja, genau.

Nein, das ist einfach nur eine hilfreiche Notiz. Wenn sich deine Enkel in 50 Jahren dein Backup anschauen gilt wahrscheinlich ein anderer Standard, dann ist es praktisch diese Info direkt zu haben.

Natürlich würde man trotzdem, auch ohne diese Notiz, wiederherstellen können.

BIP = Bitcoin Improvement Proposal

Ableitungspfade:

2 „Gefällt mir“

@sutterseba: Danke für deine echt guten Informationen! Ich habe mir jetzt alle Links und alles von euren Kommentaren durchlesen. Bitcoin ist echt Neuland, wie das Internet 1996. :exploding_head:

Du hast mir oben den Link „optionale Passphrase“ zum Lesen gegeben und entweder Multisig 2/3 oder Singlesig mit Passphrase empfohlen. :thinking:

Damit habe ich aber ein geistiges Problem. Angenommen die Mnemonic ist nicht bekannt, dann ist diese ja relativ hart zum Herausfinden, da HMAC-SHA512 die 512-bit Seed erzeugt. Jetzt aber angenommen die Mnemonic ist nicht bekannt und ich wähle eine „dumme einfache“, nicht auf Zufallswerten erzeugte, Passphrase.

Verschlechtert sich in diesem Fall nicht meine Sicherheit?

Nein, das hat mit der Key Stretching Funktion erstmal nichts zu tun. Die streckt den Zufall (optional zusammen mit einer Passphrase) einfach auf eine 512 bit Zahl weil ich für die Ableitung anschließend zwei mal 256 bits brauche (musst du nicht näher verstehen).

Dadurch wird der Zufall aber nicht besser, genau wie die Auflösung nicht besser wird wenn du einen Full HD Film auf einem 4K Fernseher schaust. Darum geht es aber auch gar nicht.

Es gibt 2256 verschiedene Mnemonic Phrases und in dieser Zahl liegt auch die Sicherheit begraben. Hier erfolgreich zu brute-forcen ist auch nicht „relativ hart“ sondern nahezu unmöglich.

Ich nehme an du wolltest hier schreiben dass die Mnemonic bekannt ist, oder?

Ja, bei bekannter Mnemonic hängt natürlich alles an der Passphrase, wie oben erwähnt.

Wenn die Mnemonic nicht bekannt ist spielt es keine Rolle wie gut oder schlecht die Passphrase ist.

Ja, wenn es sein muss.

Generell würde ich empfehlen es erstmal bei einer einfachen Single Sig zu belassen und erstmal noch rein zu finden.

1 „Gefällt mir“

Ich meinte schon den Fall Mnemonic unbekannt vs. Mnemonic + dumme Passphrase unbekannt.

Wenn die Mnemonic bekannt ist, dann ist mir klar, dass alles an der Passphrase liegt, die ich als Mensch vermutlich bei weitem nicht so sicher hinbekommen kann, wie das die algorithmengenerierte Mnemonic tut. Das hast du mir ja bereits oben so schön erklärt :wink:

Natürlich kannst du eine Passphrase sicher genug hinbekommen. Die muss doch keinen NSA Angriff aushalten, sondern dir genügend Zeit verschaffen deine Bitcoin in Sicherheit zu bringen.

m:*4%`krV2&{"f/

Sowas ist massig ausreichend (ca. 100 bit Entropie – das ist übrigens auch die Empfehlung vom BSI) und auch noch kurz genug (15 Zeichen) damit man beim Eingeben nicht wahnsinnig wird.

Nochmal: Brute Force hat sich ab einer bestimmten Größenordnung erstmal bis auf weiteres erledigt, also mach dir da nicht „zu viele“ Gedanken.

Ich nutze übrigens selbst erst seit kurzem eine Passphrase, und das eigentlich nur weil ich anderen die BitBox02 und App zeigen können möchte ohne ihnen direkt meinen Bestand unter die Nase zu halten. Dank Plausible Deniability kann ich einfach in irgendeine neue Wallet hüpfen.

Multisig wäre mir persönlich zu umständlich.


Übrigens: Nur weil Zufall aus einem Algorithmus kommt ist das noch lange kein guter Zufall. Keine Angst, der Zufall der BitBox02 ist gut, weil er mehrere, voneinander unabhängige, Quellen nutzt, aber grundsätzlich gibt es in der Informatik (fast) nie „echten“ Zufall.


Schau, falls noch nicht geschehen, auch in diesen Artikel rein:

Multisig als Sicherheitsupgrade ist komplexer als man denkt. Ich würde auf Basis dieses Artikels auch behaupten dass 2 x BitBox02 im Setup sicherer ist als über den Hersteller zu diversifizieren.

Aber es ist und bleibt einfach kompliziert und nicht einfach zu beantworten…

1 „Gefällt mir“

Bei einem 2/2 Multisig wird man aber mehr oder weniger dazu gedrängt, 2x 24 Wörter auf Stahl zu sichern. Wer macht das mit der optionalen Passphrase?

Der Artikel ist aber veraltet. Darin steht z. B., dass man xpubs nicht mit dem Ledger verifizieren kann. Das stimmt aber nicht.