Conspiración contra transacciones de Bitcoin “instantáneas”: RBF, CPFP y Scorched Earth
Todos asumen que las transacciones de Bitcoin son instantáneas y durante la mayor parte de la historia de Bitcoin esto fue prácticamente cierto – Podrías asumir esto sin mucho riesgo. Sin embargo, si miramos un poco más profundo, vemos que esta no puede ser la realidad por mucho tiempo..
Contents
¿Qué es el doble gasto??
El “doble gasto” es el gran desafío técnico que Bitcoin resolvió para los sistemas descentralizados. Como ocurre con todo archivo digital, es prácticamente imposible darle valor, que se puede intercambiar ya que las computadoras pueden copiar y pegar tan fácilmente.
Si imaginamos las transacciones de Bitcoin como un cheque, que especifica de dónde viene el dinero y a dónde va (junto con una firma criptográfica), todos podemos verificar fácilmente esta información: es su inclusión en la cadena de bloques de Bitcoin lo que hace que este cheque realmente válido.
Dado que uno puede firmar miles de estos cheques, todos con el mismo dinero, todos los cheques rebotarán excepto el que está incluido en la cadena de bloques. Esta es la transición de una transacción de confirmación cero a una transacción confirmada. Por otro lado, las transacciones en conflicto que utilizan las mismas monedas más de una vez se denominan gastos dobles.
De momento, y según el comportamiento actual de la red Bitcoin, la primera transacción que se verá será la que se incluirá en el blockchain. Esto es fácil y cómodo. Los mineros descartarían transacciones conflictivas, por lo que en el momento en que vea una transacción válida en la red (que es instantánea), podría asumir que no se gastará dos veces y que eventualmente se incluirá en la cadena de bloques (no instantánea)..
¿Se recomienda confiar en este?
He recomendado confiar en transacciones de confirmación cero, pero solo para transacciones pequeñas. Por el bien de las transacciones pequeñas, un atacante que planee cometer fraude en una transacción de confirmación cero tendría que orquestar un ataque complejo, probablemente requiriendo algún elemento de manipulación o soborno, y esto es extremadamente improbable que suceda cuando están en juego transacciones pequeñas. como comprar café o una laptop.
Sin embargo, la realidad es que las transacciones de confirmación cero no son “bendecidas” por la cadena de bloques y, por lo tanto, no reciben todas las promesas que ofrece Bitcoin, ya que son potencialmente “reversibles” (hasta que reciben confirmaciones)..
Entonces, ¿esto significa que las transacciones de Bitcoin no pueden ser irreversibles e instantáneas?? La respuesta corta es “verdadera”: las transacciones estándar de Bitcoin no disfrutan de estas dos propiedades a la vez. La respuesta más larga es obviamente más complicada.
El niño paga por el padre (CPFP) frente al reemplazo por tarifa (RBF)
Como sabemos, los mineros son responsables de incluir transacciones en la cadena de bloques y, a cambio, reciben las tarifas de transacción, además de recibir la recompensa de bloque por bloques extraídos (acuñando nuevas monedas) otorgada directamente desde el protocolo..
Si asumimos que los mineros priorizarían las ganancias, podemos suponer que un minero inteligente incluirá transacciones no rentables (transacciones sin comisiones) si están vinculadas a transacciones con tarifas suficientes para cubrir las ganancias de ambas transacciones..
Por ejemplo, si estoy pagando a una empresa y ellos saben que la tarifa es demasiado pequeña, pueden tomar esas monedas y enviarlas a otra dirección con una nueva transacción que tiene el doble de la tarifa. Esto significa que el minero comprenderá que solo puede obtener la tarifa doble si incluye la primera transacción en el proceso..
Este método de dar un motivo de lucro a los mineros por aceptar transacciones se llama “El niño paga por el padre” (CPFP), y podemos asumir que en algún momento los mineros se comportarán así de manera confiable. Esto permite resolver ciertos problemas de tarifas, como permitir que el extremo receptor de los pagos pague la tarifa de transacción y, en general, garantizar que ciertas transacciones se incluyan en la cadena de bloques..
Esto permite que el extremo receptor motive a los mineros a confirmar una transacción específica. Sin embargo, el remitente también puede motivar a los mineros a confirmar una transacción específica utilizando un gasto doble que tiene una tarifa más alta. Después de todo, es igualmente razonable suponer que los mineros elegirán gastos dobles con tarifas más altas. Se llama “Reemplazar por tarifa” (RBF), que es válido y legítimo según el protocolo, y contradice la recomendación de basarse en transacciones de confirmación cero. Esto también permite resolver ciertos problemas de tarifas, como permitir que el remitente cancele o arregle transacciones (siempre que aún no estén confirmadas en la cadena de bloques).
A partir de ahora, los mineros realmente no se comportan así, por lo que aún puede asumir que la mayoría de las transacciones pequeñas de confirmación cero son seguras. Sin embargo, no hay forma de prometer que esto seguirá siendo así a lo largo del tiempo..
Espere … Si tanto el remitente como el receptor pueden motivar de forma independiente a los mineros para que confirmen transacciones específicas, ¿quién gana? El doble gasto o la transacción original.?
Tierra quemada
Si combinamos estos dos conceptos, que son legítimos y quizás incluso anticipados, llegamos a una conclusión un poco extraña: ni el remitente ni el receptor ganan. Solo los mineros lo hacen. Como se mencionó, todos estos fines de lucro se logran aumentando la tarifa que el minero espera recibir de una determinada transacción y, por lo tanto, cada vez que el remitente o el receptor intenta motivar al minero, la tarifa aumenta y el minero se beneficia..
Probemos con un ejemplo.
Supongamos que Bob quiere cancelar una transacción de un mBTC que envió a Alice, pero Alice quiere asegurarse de que la transacción se lleve a cabo. Originalmente, Bob ni siquiera agregó una tarifa y la billetera de Alice se da cuenta de esto, por lo que automáticamente usa CPFP y agrega el doble de la tarifa (tarifa de 0.2 mBTC, asumiendo que la tarifa estándar es de 0.1 mBTC).
Cuando los mineros vean esta segunda transacción, querrán incluir la transacción original porque es la única forma de obtener la tarifa doble. Bob quiere cancelar esto, por lo que usa RBF y crea una nueva transacción conflictiva que le envía el mBTC original, excepto con una tarifa de 0.3 mBTC. Dado que las tarifas se deducen del total, Alice está realmente dispuesta a comprometerse y obtener solo 0.8 mBTC y pagar 0.2 mBTC a los mineros, mientras que Bob está dispuesto a obtener solo 0.7 mBTC (con 0.3 mBTC usados como tarifas).
Un minero que esté mirando esto verá un conjunto de transacciones que le reportarán 0.2 mBTC en tarifas, y otra transacción que le reportará 0.3 mBTC en tarifas, y probablemente querrá confirmar la transacción de Bob. Alice lo sabe y crea una nueva transacción de CPFP con una tarifa más alta de 0.4 mBTC. Después de todo, es mejor obtener los 0.6 mBTC sobrantes que no obtener nada. Bob sigue adelante y eleva su RBF a 0,5 mBTC. Como puede imaginar, esto continuará hasta que Bob ofrezca 0.9 mBTC en tarifas, mientras recupera solo 0.1 mBTC. Alice, ahora extremadamente furiosa, ofrecerá una nueva transacción sin sobras y el mBTC completo como tarifas para los mineros solo para molestar a Bob..
Toda esta carrera de tarifas ha hecho que Alice y Bob gasten todo el dinero y lo usen como tarifas hasta que no quedó ningún cambio. Todos actuaron de manera racional y esperada. ¿Quién gana? El minero, que obtuvo la transacción completa como una tarifa en lugar de la pequeña tarifa estándar. Y aquí llegamos a lo que se ha llamado la “Tierra Quemada” de las transacciones de confirmación cero..
Bueno, es por esta razón y otras que las transacciones no confirmadas no se consideran seguras, especialmente en comparación con transacciones que tienen muchas confirmaciones. Aunque esta no es la realidad hoy en día, todo esto es válido y legítimo según el protocolo y no requiere que suceda nada, salvo que los mineros comiencen a actuar de manera más “racional” y prioricen las ganancias..
No existen transacciones de Bitcoin “instantáneas”?
En el mundo del dinero tradicional, las transacciones instantáneas solo pueden realizarse con efectivo en persona o con un tercero. Bitcoin está diseñado para eliminar la necesidad de terceros, y aunque podemos anticiparnos a Scorched Earth, resulta que las transacciones instantáneas aún son posibles sin terceros, pero no con las transacciones estándar de Bitcoin..
Los canales de pago son otro concepto que teóricamente puede permitir transacciones instantáneas o de alta frecuencia, y en realidad utiliza el hecho de que puede firmar transacciones sin necesariamente transmitirlas para que se incluyan en la cadena de bloques de inmediato.
Estas ideas, junto con otras soluciones fuera de la cadena, generalmente requieren “bloquear” fondos por adelantado, pero podrían ofrecer tarifas más económicas, transacciones instantáneas y, en general, una mayor flexibilidad, todo ello sin tener confianza en terceros..
En conclusión, las transacciones estándar de Bitcoin no tienen la suerte de ser instantáneas, al menos no por el protocolo. Sin embargo, las transacciones de Bitcoin no estándar, como los canales de pago fuera de la cadena, pueden ser instantáneas y quizás ofrecer incluso más que las transacciones estándar..