ElementsProject / ElementsProject/elements

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

Abierto
#542 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
C++
Estrellas
1.2k
Forks
417
Merge medio
1 d 23 h
PR fusionados (30 d)
15

Descripción

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.

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza en src/blind.cpp, en la aserción alrededor de la línea 404, y reproduce blindtransaction con una transacción que contenga más de 10k outputs. Rastrea las otras rutas de fallo del blinding mencionadas en el issue y, a continuación, verifica que los fallos por tamaño excesivo y otros fallos devuelvan errores descriptivos en lugar de provocar un crash.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
cpp
Área
blockchain, cryptography
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.