Kann eine Segwit-Wallet Nicht-Segwit-Adressen generieren und verwenden?
Ich verwende Bitcore von Bitpay , um Wallets zu erstellen und neue Adressen für die Benutzer meiner Plattform zu generieren. Ich verwende auch den Bitcore-Wallet-Client, um Transaktionen zu signieren.
Meine Benutzer haben derzeit Legacy-Wallets. Ich beabsichtige, ihre Brieftaschen auf natives Segwit zu migrieren, aber sie werden auch Legacy-Adressen benötigen, damit sie Münzen von überall empfangen können. (Rechts?)
Ist es möglich, nur eine Brieftasche pro Benutzer zu haben, die beide Arten von Adressen generiert, oder muss ich zwei Brieftaschen pro Benutzer verwalten?
Und wenn ich zwei Wallets pro Benutzer verwalten muss, sind Utxos von einem Wallet natürlich nicht für das andere verfügbar. Was ist der beste Weg, um mit ihrem „gespaltenen Gleichgewicht“ umzugehen? Sollte ich Benutzer darauf hinweisen, alle ihre Münzen an die bc1-Adresse der neuen Segwit-Brieftasche zu senden? Aber dann, wenn sie Gelder an ihre alten Adressen erhalten, müssten sie erneut an die bc1-Adresse überweisen, um Segwit-Transaktionen durchzuführen. Es macht keinen Sinn - oder doch? Was vermisse ich?
Ich bin nicht mit den Wallets vertraut, die speziell von BitPay’s Bitcore generiert werden, aber es gibt kein allgemeines Problem, das verhindert, dass ein Wallet Adressen in verschiedenen Ausgabeformaten generiert. Wenn die Wallets von BitPay nur entweder das eine oder das andere können, wäre das eine Eigenart der lokalen Implementierung.
Während es möglich ist, separate Wallets für jeden Benutzer zu führen, ist es ziemlich kostspielig, Ihre Buchhaltung on-chain zu führen.
Die üblichere Betriebsweise für Dienste, die Benutzergelder verwahren, besteht darin, nur eine einzige Einzahlungsbörse zu führen. Sie würden dann für jede Benutzereinzahlung eine neue Adresse auf dieser „Omnibus-Brieftasche“ generieren. Da die Adressen eindeutig sind, können Sie anhand der Adresse feststellen, welcher Kunde in Ihrer internen Buchhaltung gutgeschrieben werden soll.
Auf der operativen Seite können Sie jedoch mehrere Abhebungen in einer einzigen Transaktion zusammenfassen und sogar einen Teil der Gelder in eine Cold Wallet verschieben, um Ihre Sicherheit zu verbessern.
Kann ein einzelnes Wallet sowohl SegWit- als auch Nicht-SegWit-Adressen generieren (und verwenden)?
Ja. Beispiel: In Bitcoin Core können Sie getnewaddress mit address_type
im Argument ausführen
Ich beabsichtige, ihre Brieftaschen auf natives Segwit zu migrieren, aber sie werden auch Legacy-Adressen benötigen, damit sie Münzen von überall empfangen können.
Die meisten Apps, Websites, Dienste usw. unterstützen jetzt native Segwit-Adressen, jedoch können p2sh-Segwit-Adressen verwendet werden, wenn bech32-Adressen nicht unterstützt werden.
Daniel Portugal
Murch