¿Cómo funcionan las API como Blockchain.info y BlockExplorer?

Cuando consulto una dirección utilizando cualquiera de los servicios, ¿simplemente consultan el último bloque que se ha extraído?

¿O esos servicios tienen nodos en la red que recopilan datos que aún no han sido codificados en un bloque?

A veces, mis consultas devuelven la información "correcta" casi al instante, pero a veces se necesita mucho tiempo para que se reflejen las transacciones más recientes, y me pregunto por qué es así. Parece extraño que pudiera enviar btc, hacer una consulta en la dirección de recepción y devolver el saldo actualizado en 3 segundos, e inmediatamente realizar otra transacción y realizar una consulta exitosa, mientras que en otras ocasiones la consulta API no reflejará la última transacción durante mucho tiempo. Se agradecen las ideas.

Respuestas (1)

Los servicios públicos de inspección de Bitcoin, como BlockExplorer y BlockChain.info, funcionan casi exactamente como el cliente habitual de Bitcoin .

Operan como un nodo en la red Bitcoin y, como todos los demás nodos, almacenan la cadena de bloques completa. Esta cadena de bloques consta de todas las transacciones realizadas y se utiliza para calcular el saldo de una dirección.

Al igual que otros nodos, también reciben transacciones de otros nodos y probablemente también las mostrarán antes de que se confirmen (por supuesto, indicando explícitamente que no lo están). El tiempo que tarda una transacción en llegar a todos los nodos varía. No todos los nodos saben acerca de todos los demás nodos, por lo que puede tomar unos segundos para que todos los nodos noten una transacción .

Dependiendo de si el servicio almacena información en caché o no , puede transcurrir algún tiempo entre la llegada de la transacción del nodo y el momento en que aparece en el sitio web. Probablemente comprenderá que cuando realiza consultas 10 veces poco después una de la otra para obtener los mismos datos, es muy costoso realizar la misma búsqueda en el índice de la cadena de bloques varias veces. Debido a esto, creo que es probable que la mayoría de estos clientes realicen algún tipo de almacenamiento en caché, pero no demasiado extenso. Probablemente un minuto como máximo, porque saben que en el procesamiento de transacciones de Bitcoin, pueden pasar muchas cosas en ese tiempo.

Además de eso, el tiempo de carga también puede depender de la carga del servidor . Cuando varios usuarios intentan acceder al saldo de su dirección al mismo tiempo, es probable que algunos de ellos tengan que esperar.