¿Cuál es el riesgo de esperar una sola confirmación para validar una transacción, suponiendo que la contraparte no sea un minero?

Estoy tratando de determinar cuántas confirmaciones sería razonablemente seguro esperar antes de aceptar una transacción de Bitcoin de un atacante que no es un minero y, por lo tanto, no puede confiar en los ataques de Finney, pero que podría intentar duplicar libremente el gasto en función de su observación del estado. de la cadena de bloques.

Entiendo que en la confirmación 0, intentar un gasto doble puede funcionar si, por ejemplo, la tarifa de transacción de la segunda transacción es más alta y la primera transacción aún no se ha difundido ampliamente (por lo que los nodos no la rechazarían como un gasto doble) .

En la confirmación 1, cualquier gasto doble será rechazado automáticamente por todos los nodos que acepten el primer bloque confirmado. Sin embargo, si (i) la cadena de bloques se "reorganiza" con una bifurcación menor que se hace cargo, como entiendo que sucede regularmente (¿hay estadísticas sobre esto?), y (ii) la transacción inicial no se incluye en la bifurcación, el atacante podría inmediatamente vuelva a intentar gastar el doble con la esperanza de que se incluya en el siguiente bloque.

¿Debería preocuparme por tales reorganizaciones de blockchain al aceptar transacciones de confirmación n? ¿Tengo razón al decir que cualquier bifurcación exitosa de 6 bloques abriría el riesgo de aprovechar el doble gasto de TODAS las transacciones no incluidas en la bifurcación, no solo aquellas a las que se dirige el minero deshonesto? ¿O es más probable que la mayoría de los nodos (incluido el minero deshonesto) rechace los intentos de doble gasto gratuitos de todos modos (incluso si sus tarifas de transacción son mucho más altas), ya que la primera transacción en ese momento estaría completamente diseminada?

¿Cómo puede saber si la contraparte es o no un minero? (Tenga en cuenta que "es un minero" incluye "puede pagarle a un minero para que haga algo en su nombre").
Esta es una suposición. También excluyo la posibilidad de que la contraparte intente pagarle a un minero para que haga algo en su nombre. Básicamente, estoy interesado solo en el caso de gastos dobles de uso gratuito.

Respuestas (1)

¿Debería preocuparme por tales reorganizaciones de blockchain al aceptar transacciones de confirmación n?

Las bifurcaciones ocurren con bastante frecuencia , y si solo necesita una única confirmación, la contraparte tendrá la oportunidad de gastar el doble cada vez que ocurran estos bloques huérfanos.

¿Tengo razón al decir que cualquier bifurcación exitosa de 6 bloques abriría el riesgo de aprovechar el doble gasto de TODAS las transacciones no incluidas en la bifurcación, no solo aquellas a las que se dirige el minero deshonesto?

Sí, una bifurcación exitosa de 6 bloques permitiría duplicar el gasto para todas las transacciones de confirmación n no incluidas en la bifurcación, donde n ≤ 6.

¿La mayoría de los nodos (incluido el minero deshonesto) probablemente rechazarían los intentos de doble gasto de todos modos (incluso si sus tarifas de transacción son mucho más altas), ya que la primera transacción en ese momento estaría completamente diseminada?

Difícil de decir. El protocolo bitcoin no tiene explícitamente una regla para n-confirmaciones (esto es solo un número aceptado de confirmaciones después de las cuales el receptor de una transacción puede estar razonablemente seguro de que no ocurrirá un gasto doble), por lo que de acuerdo con el protocolo, las transacciones serían Sé valido. Dudo que haya muchos mineros con lógica incorporada para lidiar con este escenario, ya que cuando se vuelve casi imposible (una entidad que tiene aproximadamente la mitad del poder de cómputo de la red), la moneda probablemente no tendrá legitimidad (por lo tanto, no valor en ellos actuando como mineros).