Me doy cuenta de que si alguien realiza una transacción sin ningún cargo y aún no ha habido ninguna confirmación, entonces la transacción podría gastarse el doble simplemente gastando las mismas entradas en una dirección diferente, pero con un cargo estándar.
Mi pregunta es, si alguien envía una transacción con una tarifa estándar y aún no ha habido ninguna confirmación, ¿podría anularse esa transacción con la misma facilidad reescribiéndola, pero con una tarifa más alta? Si es así, ¿cuáles serían las implicaciones para una parte que acepta transacciones de confirmación cero como BitPay?
El diseño original asume un comportamiento común de procesamiento de la transacción entrante sobre la base de FIFO . Eso significa que la primera transacción recibida por un minero gana y todas las transacciones en conflicto recibidas después serán ignoradas (sin importar si la primera ya está confirmada o no).
Si bien este comportamiento estándar es beneficioso para la Red en su conjunto, algunos mineros "inteligentes" pueden emplear un enfoque un poco diferente: al construir un bloque, siempre tome la transacción con la tarifa más alta, sin importar el orden en que se recibió.
Puede parecer que esto es solo un mal uso marginal del protocolo y no habrá suficientes mineros deshonestos haciendo esto, por lo que no importa. Bueno, desafortunadamente, ya hay (al menos) un grupo minero que intenta construir su negocio explotando esta idea. Si prevalece, los servicios que aceptan transacciones de confirmación cero deberán reconsiderar su política.
Si un nodo recibe una transacción, la guarda. Si ahora envía otra transacción con la misma entrada, la rechaza porque ya hay una transacción. Así que no puedes gastar el doble de esta manera.
Si enviara la segunda transacción con tarifas a un minero que no recibió su primera transacción, tal vez la incluiría más rápido y, por lo tanto, anularía las primeras transacciones, aún así las primeras transacciones no se pueden incluir en un nuevo bloque porque la salida fue ya usado.
Si un comerciante acepta transacciones de confirmación 0, debe aceptar que la transacción se puede revertir. Entonces solo debería hacer eso si confía en usted por más de la cantidad que le transfirió.
Brian Fabián Crain
knaperek
muro
knaperek