ElementsProject / ElementsProject/elements

Would be nice to have more graceful failure of blinding on very big number of outputs (+ other cases, error descriptions)

Offen
#542 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
C++
Sterne
1.2k
Forks
416
Ø Merge
1 T. 23 Std.
Gemergte PRs (30 T.)
15

Beschreibung

Right now if transaction with more than 10k outputs is supplied to blindtransaction, the node would crash on assert.

https://github.com/ElementsProject/elements/blob/dd1623af0a4b028175e1078f7ec7a88d78cee8c0/src/blind.cpp#L404

While 10k outputs seem to be non-realistic for blinded transaction, it can happen with software doing payment batching (that was created and tested on non-blinded txs). The developer might be confused why the node crashes. Graceful failure with indication of what is wrong would be nice.

It would also be nice to have more descriptive messages for other failures of blinding, that would greatly improve the debugging experience when working with confidential transactions.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne in src/blind.cpp bei der Assertion um Zeile 404 und reproduziere blindtransaction mit einer Transaktion, die mehr als 10k Outputs enthält. Verfolge die anderen im Issue erwähnten Pfade für fehlgeschlagenes Blinding und überprüfe anschließend, dass zu große und andere Fehler beschreibende Fehlermeldungen zurückgeben, anstatt abzustürzen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cpp
Bereich
blockchain, cryptography
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.