¿La transacción sin comisión representa un mayor riesgo si el producto se entrega al instante?

Digamos que quiero aceptar pagos al instante en un sitio para descargas digitales.

Así que publico una dirección y espero la transacción no confirmada, veo la transacción y libero la descarga digital.

Sin embargo, el usuario puede haber enviado la transacción sin cargo. Por lo tanto, es posible que los mineros no lo recojan o que el usuario emita una nueva transacción con una tarifa que se procesa en la cadena de bloques.

¿Es correcto mi pensamiento? ¿Y hay alguna forma de detener a este rey del ataque?

Para detener el ataque, puede esperar las confirmaciones y luego enviar un correo electrónico "su descarga está lista" si eso funciona para su tipo de negocio.

Respuestas (4)

Puede verificar si una transacción incluye una tarifa con solo mirar sus entradas y salidas (también puede acceder a esta información en blockexplorer.com ).

Pero tienes razón: aceptar transacciones con 0 confirmaciones es arriesgado y hay otros ataques además del que mencionas (el ataque 51% y el ataque Finney , por ejemplo).

Aquí hay algunas opciones para defenderse de esto:

  • Espere más confirmaciones; esto puede no ser deseable, pero funciona
  • Acepte pagos de un monedero electrónico/intercambio como el mencionado parker_vmg3 ; algunos sitios web como TradeHill o CampBX le permiten enviar bitcoins instantáneamente entre miembros
  • Use direcciones verdes : actualmente, solo están disponibles en MtGox e InstaWallet, pero podrían volverse más populares en el futuro
Si bien 0 confirmaciones tienen riesgo, es probable que el riesgo de compras de poco valor sea menor que aceptar tarjetas de crédito, especialmente cuando se considera el costo adicional de las tarifas de devolución de cargo. Todo riesgo es relativo. Si bien existe riesgo de pérdida con 0 confirmaciones, el riesgo de pérdida nunca es 0, incluso con 6 confirmaciones. Uno tiene que sopesar el costo de requerir múltiples confirmaciones (menos fácil de usar = menos ventas) con el riesgo muy bajo de obtener el doble de gasto.

Debería ser recogido eventualmente, pero sí, el usuario podría gastar el doble antes de eso.

Eso es exactamente para lo que son las confirmaciones. Pero probablemente es poco probable que vea grandes cantidades de "piratería" debido a esto. Simplemente escribiría eso como un costo de hacer negocios. Si se sale de control, puede volver a esperar confirmaciones o aceptar "direcciones verdes".

También tenga en cuenta que si los usuarios no son anónimos con usted (es decir, mantienen algún tipo de relación con usted, aunque solo sea un registro de usuario), tiene recurso (puede negarse a seguir ofreciéndoles acceso hasta que se ajusten las puntuaciones).

Es un equilibrio entre confiar en la confianza (que el usuario paga) y esperar la cantidad de tiempo que se tarda en recibir las confirmaciones.

El riesgo de que una transacción nunca sea recuperada es esencialmente cero. Actualmente, los bloques están en promedio solo un 5% "llenos", por lo que los mineros y los grupos mineros tienden a incluir todas las transacciones. Para que una transacción nunca se incluya, sería necesario que ningún minero del planeta la incluyera.

Si se convirtió en un riesgo, siempre podría solicitar una tarifa si el usuario desea descargar en 0-confirma. Puede hacer cumplir esto comprobando la transacción. El monto de la tarifa si la diferencia entre entradas y salidas. Si son iguales, no hay tarifa. Para los usuarios que ignoran sus instrucciones y envían una transacción sin cargo, solo pueden esperar 1 confirmación.

El mayor riesgo proviene de un "doble gasto" o "ataque del 51%", sin embargo, estos riesgos a menudo se sobreestiman. Permitir descargas digitales pagadas con tarjeta de crédito también conlleva riesgos, por lo que lograr el 0 % de riesgo no es una estrategia comercial viable. Incluso si su software nunca tiene fraude con tarjetas de crédito, es probable que tenga pérdidas debido a la piratería, por lo que la mejor solución es aquella que maximiza los ingresos netos, no una que intente eliminar todo el fraude.

Cada negocio necesita mirar el riesgo de su producto específico. Cuanto mayor sea el valor, más probable es que deba considerar el uso de la confirmación. No tiene mucho valor ejecutar un ataque de doble gasto para obtener una copia de 1 BTC ($ 3 USD al momento de escribir) de, por ejemplo, "Super Angry Birds". Es probable que permitir las descargas instantáneas mejore las ventas lo suficiente como para compensar cualquier aumento insignificante del fraude. Por otro lado, si está permitiendo descargas y claves de licencia para SQL Server Enterprise a 2500 BTC una copia, probablemente debería solicitar confirmaciones.

La confirmación solo puede reducir, no eliminar, el riesgo. Cuanto menos riesgo tenga en 0, menos beneficio hay en retrasar a sus clientes. La verdadera pregunta entonces es si la demora termina costándole más ingresos de lo que le ahorra en un fraude casi inexistente.

+1 para "la mejor solución es la que maximiza los ingresos netos, no la que intenta eliminar todo el fraude"

Si entiendo su pregunta correctamente, puede hacer que le den una dirección de instawallet o tal vez strongcoin como un enlace donde puede transferir fondos directamente a su billetera.