Hey, wie trustless ist eigentlich die Phoenix Wallet auf der Version 2? Auf der Website steht, dass die Wallet trust-minimized ist. Sie sagen, dass wenn ACINQ verschwindet man trotzdem seine Lightning Channels schließen kann und an seine on-chain funds rankommt.
Ich habe mal probiert den Seed von der Phoenix Wallet mit dem gleichen Derivation Path in Sparrow zu importieren. Sie schreiben, dass sie den Standardableitungspfad BIP84 Native Segwit verwenden. Wenn ich probiere den Seed zu importieren, bekomme ich aber andere Adressen als die Phoenix Wallet mir ausgibt. Wie kann das sein? Meine Vermutung ist, dass im Hintergrund eine Multisig Wallet erstellt wird mit meinem Seed und einem Seed von ACINQ. Wenn das aber der Fall ist kommt man nicht mehr an seine on-chain funds wenn ACINQ nicht mehr da ist. Daher wäre Phoenix nicht trustless. Ist das so?
Wirklich trustless wäre nur Deine eigene Node.
Du kannst bei Phoenix in der App Deinen Kanal schließen und dafür eine Bitcoin-Adresse angeben, wohin die Sats gesendet werden. Sollte ACINQ nicht mehr erreichbar (down) sein, gibt es nach Ablauf der hinterlegten Zeitsperre eine Zwangsschließung mit dem von Dir übermittelten (letzten) Kontostand.
So zumindest habe ich es verstanden und freue mich über eine Korrektur, wenn ich falsch liegen sollte.
Was mir nicht klar ist: wo verbleiben die Sats, die dem Kanalpartner gehören? Denn dieser hat ja keine Adresse angegeben und die Node ist ja nicht erreichbar, um eine zu liefern. Habe bislang noch keine Zwangschließungen gehabt. Gehen die Sats wieder an die Ursprungsadresse?
So, wollte eigentlich schon viel früher antworten, aber hatte Corona und diesmal hat es mich ziemlich ordentlich erwischt.
In Bezug auf was genau?
Sicherheit deines Guthabens: ACINQ kann dir keine Funds stehlen, selbst wenn sie wollten. Soweit ich es verstehe gibt es hier nur eine Ausnahme: Der Moment, nachdem du eine Lightning-Zahlung empfangen hast, die zu groß für deinen aktuellen Kanal ist (nicht genügend Eingangs-Kapazität), und die daher für eine Vergrößerung deines Kanals sorgt (Splicing). So eine Zahlung wird dir trotzdem sofort gut geschrieben und du kannst sie sofort ausgeben, aber technisch gesehen ist dieser Teil deines Guthabens erst dann wieder unmöglich für ACINQ zu stehlen, nachdem die entsprechende on-chain-Transkation bestätigt ist.
Durchführung von Zahlungen: Du bist auf ACINQ angewiesen, damit du Lightning-Zahlungen durchführen kannst. Phoenix funktioniert so, dass du nur einen Kanal zu einer sogenannten Trampolin-Node hast und diese Node übernimmt die Routen-Findung für dich. Du hast bei Phoenix keine vollwertige Lightning-Node auf dem Handy, die mit dem p2p-Netzwerk kommuniziert, Routen berechnet und Zahlungen entsprechend durchführt. Phoenix weiß daher wann, wieviel und wem du Sats schickst. Verschwindet ACINQ, verlierst du die Möglichkeit Lightning-Zahlungen durchzuführen. Dein Guthaben können Sie trotzdem nicht stehlen und du verlierst auch nicht den Zugriff, allerdings musst du in diesem Fall einen (teuren) Force-Close machen und deine Sats auf der on-chain Wallet (12 Wörter) z.B. in Electrum wiederherstellen.
Wenn du die 12 Wörter in Electrum importierst, bekommst du exakt dieselben Adressen wie wenn du den Master public key (Einstellungen → Erweitert → Wallet-Informationen) importierst. Das ist die Wallet (also der Adress-Raum), wo deine Sats nach einem Force-Close landen. Es sind aber nicht die Adressen, wo du on-chain Transaktionen empfängst, die sofort in Lightning geswapped werden. Hierfür brauchst du keinen private key, eben weil das immer sofort automatisch geswapped wird.
Okay danke. Sind die on-chain Transaktionen denn trustless? Wo liegen die Sats, die ich auf die Adresse schicke? Ist das eine swaping Adresse von ACINQ? Denn ich habe ja auf diese Adresse keinen Zugriff. Von dieser Adresse aus wird dann ein Lightning Channel zu meiner Phoenix Wallet gemacht mit ein bisschen Liquidität. Kann ich denn die Phoenix Wallet wiederherstellen ohne die Phoenix Wallet? Gibt es ein static channel backup bei der Phoenix Wallet?
Wenn du on-chain Sats empfängst, werden diese Sats nach 3 Bestätigungen automatisch in Lightning geswapped, sofern der von dir konfigurierte Gebühren-Schwellwert hierfür nicht überschritten wird (ob dafür ein neuer Kanal geöffnet werden muss, hängt von deiner Eingangs-Kapazität ab).
Ja, die empfangenen on-chain Sats werden von Phoenix kontrolliert bis sie geswapped sind. Phoenix ist eine Lightning-Wallet.
Siehe: https://phoenix.acinq.co/faq#i-sent-funds-on-chain-to-phoenix-why-are-they-displayed-as-sleeping-
Nein, es wird ggf. per Splicing dein bestehender Kanal erweitert, aber auch nur falls nötig.
Ja mit deinen 12 Wörtern… Aber dafür ist ein Force-Close erforderlich, den du nur machen solltest, wenn es wirklich nicht anders geht (unnötig hohe Gebühren und die zahlst du, nicht Phoenix). Die bessere Methode ist, dein Guthaben woanders hinzuschicken und DANN die Phoenix Wallet zu deinstallieren, wenn du sie nicht mehr benutzen möchtest.
Mit extra Liquidität meine ich, dass ACINQ einen Lightningchannel zu dem Benutzer erstellt mit inbound und outbound Liquidität. ACINQ stellt also Liquidität zur verfügung. Kann ich einen Force-Close auch ohne die Phoenix Wallet machen?
Theoretisch auf jeden Fall. Konkret weiß ich aber nicht, ob es weitere Software (neben der Phoenix Wallet App) gibt, die das einigermaßen nutzerfreundlich anbietet.
Was auf jeden Fall geht: Force-Close aus deiner eingerichteten Phoenix Wallet App heraus machen, obwohl ACINQ und all seine Services, Kanäle usw. tot sind.
Was ich nicht genau weiß: Ob du mit deinen 12 Wörtern eine neu installierte Phoenix Wallet App (die kriegst du ja auch, wenn es ACINQ nicht mehr gibt; könntest dir die APK-Datei für Android zB auch selbst speichern) restoren und dann force-closen kannst. Interessante Detailfrage, wenn auch praktisch wohl nur äußerst, äußerst selten relevant.
Natürlich ist das äußert unwahrscheinlich, dass es ACINQ nicht mehr gibt aber trotzdem ist es interessant. Meines Wissens nach speichert ACINQ für den Nutzer das Backup der Lightning Channels. Wenn man also seine 12 Wörter eingibt, schickt ACINQ dir dein Backup damit du deine Wallet restoren kannst. Wenn ACINQ weg ist kann man nur einen Force Close machen wenn die Phoenix Wallet eingerichtet hat. Wenn man nur seine 12 Wörter hat, wird man nicht an die Sats kommen. Was in der Theorie möglich wäre ist, dass man das Backup der Phoenix Wallet exportieren könnte und dann in eine eigene Lightning Node zu importieren, mit den gleichen 12 Wörtern. Aber ich habe keinen Punkt gefunden, bei dem man das Backup exportieren kann. Man kann allerdings das Backup in der Cloud speichern. Falls also ACINQ weg ist kann man bei einer eingerichteten Phoenix Wallet einen Force Close machen, oder die 12 Wörter eingeben und das Cloud Backup nutzen.
Das bezweifle ich, weiß es aber leider nicht.
Laut FAQ:
Restoring a 1.x wallet on a 2.x app or vice versa will cause issues, and potential force-closes of channels.
(Quelle: https://phoenix.acinq.co/faq#can-i-restore-my-android-wallet-on-an-ios-device-or-vice-versa)
Klingt für mich also so, als ob die App auch beim Restoren einen Force-Close einleiten kann, wenn irgendwas nicht klappt.