¿Es posible explorar la cadena de bloques sin descargar la cadena de bloques?

Estoy haciendo algunos experimentos con bitcoin y blockchain, y necesito acceder a información sobre direcciones, bloques y transacciones. El problema es que necesito muchos datos, por lo que no puedo usar API en línea como blockchain.info. Sé que es posible hacer esas cosas descargando y accediendo directamente a la cadena de bloques, pero esta solución es bastante impracticable, dado su tamaño. ¿Es posible acceder a estos datos sin descargar la cadena de bloques completa? Por ejemplo, ¿realizando directamente algún tipo de solicitud a los nodos?

¿Puedes incluir exactamente lo que necesitas de la cadena de bloques? La respuesta dependerá de lo que necesites y de la información que ya conozcas.
Por ejemplo, me gustaría obtener la cantidad de bitcoins que tiene una dirección o las direcciones involucradas en una transacción

Respuestas (1)

Para obtener algo más que bloques, deberá descargar toda la cadena de bloques. Lo único que puede solicitar de un nodo es un bloque si conoce el hash del bloque y las transacciones, si conoce la identificación de la transacción Y la transacción todavía está en el mempool del nodo. Las transacciones que ya han sido confirmadas no se pueden solicitar ya que el nodo habrá eliminado la transacción de su memoria y la habrá almacenado en el disco con el bloque. Todo lo demás requiere la cadena de bloques completa, ya que en su mayoría son abstracciones humanas de los bloques y transacciones que no son relevantes para la red.

El "saldo" de una dirección (además de que técnicamente no existe) solo se puede encontrar teniendo toda la cadena de bloques y leyendo la cadena de bloques y escaneando todas las transacciones en busca de entradas y salidas asociadas con esa dirección. Obtener las transacciones en las que está involucrada una dirección requiere hacer lo mismo. Esto se debe a que las direcciones no existen en la red, ya que son solo abstracciones para que los humanos piensen más fácilmente en las transacciones. Los saldos tampoco existen, ya que Bitcoin no utiliza un sistema de cuentas o saldos para rastrear el dinero. Más bien, todo se basa en los resultados de las transacciones.