Saltar al contenido
buybitcoinsmart

Glosario / Referencia para desarrolladores

PP memo

¿Qué es PP memo?
PP memo, el campo memo del protocolo de pago (BIP70), era una nota de texto libre en UTF-8 que un comerciante, un pagador o un servidor que acusaba recibo podían adjuntar a un pago para que la leyera una persona.

Se especifica en el BIP-70.

Tres de los cuatro mensajes de BIP70 llevaban un memo, lo que lo convierte en el único campo del protocolo que viajaba en ambos sentidos. Era texto solo para mostrar: ninguna billetera lo interpretaba, ninguna firma protegía la copia que el pagador enviaba de vuelta y nada de él llegaba a la blockchain. Las notas de pago siguen funcionando así hoy, y por eso son un mal lugar para poner cualquier cosa importante.

Cómo funciona

Estado: histórico. El memo aparecía como campo 5 del mensaje PaymentDetails, campo 4 del mensaje Payment y campo 2 del mensaje PaymentACK, y todos ellos salieron de Bitcoin Core cuando se eliminó la compatibilidad con BIP70 en la 0.20.0, el 3 de junio de 2020.

Cada uno de los tres tenía un autor distinto y un lector distinto.

El comerciante escribía el primero, y la billetera lo mostraba en la pantalla de confirmación junto al monto: un número de pedido, el nombre de un producto, una línea de condiciones. Como estaba dentro de los detalles serializados, la firma del comerciante lo cubría, así que al menos no podía reescribirse en tránsito.

El pagador escribía el segundo y lo enviaba de vuelta junto con la transacción difundida. Aquí iban las instrucciones de reembolso y las notas para el soporte, y nada las firmaba.

El comerciante escribía el tercero en el acuse de recibo, normalmente un agradecimiento o una estimación del envío. Eso tampoco lo firmaba nada.

BIP70 no establecía ningún límite de longitud, así que las billeteras lo truncaban allí donde se les acababa el espacio en pantalla. Esa pequeña laguna tiene un filo peligroso. Un texto aportado por un atacante y mostrado junto al nombre verificado de una empresa es una superficie de phishing, y una nota que parece una instrucción oficial para enviar un pago más resulta convincente justo en el lugar donde el cliente es menos escéptico.

Dónde aparece

Las notas de texto libre adjuntas a los pagos siguen muy vivas, y cada versión moderna tiene su propia peculiaridad.

Los enlaces de pago BIP21 llevan un parámetro message, con codificación porcentual, que la billetera muestra y después olvida. Lightning va más allá: una factura BOLT11 pone su descripción en el campo d y, como un campo etiquetado admite como máximo 1.023 grupos de cinco bits, aproximadamente 639 bytes, cualquier texto más largo debe reemplazarse por su hash de 256 bits en el campo h. Los exchanges ofrecen en sus formularios de retiro un campo de referencia cuyo contenido nunca sale de su propia base de datos.

La única nota que viaja realmente on-chain es una salida OP_RETURN. La política de retransmisión de Bitcoin Core permitía una carga útil de 40 bytes cuando ese tipo de salida pasó a ser estándar en la 0.9.0, y de 80 bytes a partir de la 0.11.0. Por esos bytes se paga una comisión y son públicos para siempre, así que usar una salida así como nota privada es un error que nadie comete dos veces.

Todo lo demás es local para usted. Una nota escrita en su propia billetera vive en el archivo de la billetera y no en la frase semilla, así que restaurar en un dispositivo nuevo recupera las monedas y ninguna de las palabras que usted escribió sobre ellas. Exporte antes de migrar.

PP memo frente a etiqueta

Un memo describe un pago; una etiqueta nombra a una parte o una dirección. Los memos de BIP70 se escribían para una transacción y se mostraban una vez, en el momento de pagar. Una etiqueta de BIP21 identifica a quién se paga, y una etiqueta de billetera es la nota de archivo privada que usted asocia a una dirección o a una transacción y conserva en su propia máquina. Ninguno de los tres va firmado por alguien cuya palabra se pueda comprobar, y ninguno es visible para la red.

No confundir con

Preguntas frecuentes

¿Se puede adjuntar un mensaje a una transacción de bitcoin?

Solo mediante una salida OP_RETURN, que cuesta una comisión y es pública para siempre. Las notas de un enlace de pago, de una factura Lightning o de su billetera se guardan off-chain, así que el destinatario solo las ve si el software que ambos usan se las hace llegar.

¿Debería confiar en la nota que aparece en la pantalla de confirmación de un pago?

No más de lo que confía en quien creó la solicitud. Las notas de pago son texto sin verificar elegido por el remitente, así que una instrucción de enviar un monto adicional o de pagar a otra dirección es un patrón de phishing, no una política del comerciante.

Para seguir leyendo

Términos relacionados

Más en la sección Referencia para desarrolladores

Leer esta página en inglés