¿Cómo calcula blockchain.info el "Valor de transacción estimado"?

Considere la siguiente transacción:

https://blockchain.info/tx/aa5eb27652bd85dc444ea2508bf0ff6ff1b484141e2d7e69f31976fafb21e06e

Cada una de las direcciones de salida nunca antes se ha utilizado y solo hay una dirección de entrada. ¿Por qué blockchain.info supone que se han negociado 0,7695 BTC con 3,7216 BTC como cambio en lugar de lo contrario (ver "BTC negociado estimado")? ¿Simplemente elige la segunda dirección como la dirección de cambio?

En otros casos, puedo adivinar de manera similar a blockchain.info, por ejemplo:

(1) Si se usan varias direcciones de entrada, la dirección de cambio no debe ser mayor que la dirección de entrada más baja (a menos, por supuesto, que esto se ofusque deliberadamente).

(2) Si ambas direcciones de salida se han utilizado anteriormente, pueden ejecutar una consulta de grados de separación para intentar conectar una de las direcciones de salida más estrechamente con las direcciones de entrada, identificándola más estrechamente con las direcciones de entrada y, por lo tanto, como la dirección de cambio.

(3) Si solo una de las direcciones de salida se ha utilizado antes, es más probable que sea la dirección de cambio de acuerdo con la heurística en (2) porque, por definición, la dirección utilizada está más "conectada" que una dirección que nunca se ha utilizado. ha sido usado.

Pero, ¿qué heurística podría usarse si cada una de las direcciones de salida es nueva? ¿El patrón de gastos de la dirección de entrada? Aleatoriedad? ¿Pensamientos?

Puede ver cómo esta pregunta afecta las vistas del volumen total/diario en Bitcoin en conjunto comparando/contrastando los dos gráficos de "Volumen de transacción estimado" disponibles en http://www.blockchain.info/charts . Afirman que el segundo gráfico se ajusta al cambio, pero no brindan detalles sobre el algoritmo.

ellos no saben Ellos tampoco dicen saberlo. Ese es solo el orden en que aparece en la cadena de bloques, que es aleatorio.
Parecen usar algunas heurísticas, como los ejemplos anteriores que mostré. Me pregunto si tienen otra heurística que sea más sutil, o tal vez alguna información pública que detalle cualquier algoritmo que usen o no.
Ah, estás hablando de la parte "BTC estimado negociado", ¿verdad?
Sí. Edité la pregunta anterior para agregar un poco más de detalle.

Respuestas (1)

Para transacciones con una entrada, es difícil adivinar cuál es el cambio y cuál es el pago real. Sin embargo, debido a que pueden tener estadísticas, pueden suponer que para una entrada de ~ 4 BTC, hay un 70% de probabilidad de que el cambio sea la salida más grande y el dinero gastado la más pequeña cuando ambas direcciones de salida son nuevas.

Ahora, si tiene una transacción con varias entradas (como ya ha explicado en su pregunta), es mucho más fácil de adivinar. Si usted tiene :

As input
1Pi87D6NUPB5BxcuowYN4Lj3WLCSFGsuLN (0.24379822 BTC)
1PgBMDggd7GGCifDd1881vdvNe8pkn5BWk (0.08787591 BTC)

And as output
1B6tvnE3oP3mwoA4RMrYXWVup4Z73G6bDw -  0.05377413 BTC
1DswmdznL6exZzN6akJpsPUc4ZWRZo9JQc - 0.2778 BTC

En este caso, puede estar bastante seguro de que la dirección gastada es '1DswmdznL6exZzN6akJpsPUc4ZWRZo9JQc - 0.2778 BTC' y el cambio '1B6tvnE3oP3mwoA4RMrYXWVup4Z73G6bDw - 0.05377413 BTC'.

Porque de lo contrario solo habría una entrada.

este no es necesariamente el caso, cuando armo una transacción, soy libre de elegir cualquier entrada y dirigirla a cualquier dirección de salida que elija. Quizás el software de billetera no haría eso, pero se puede hacer manualmente (a través de createrawtransaction).