¿Cuántas direcciones se pueden manejar de manera confiable en una billetera?

Estoy trabajando en un proyecto que puede terminar generando unos pocos cientos (o incluso más) de direcciones de bitcoin al día. Según tengo entendido, en teoría, no hay límite en la cantidad de direcciones de bitcoin en una billetera, pero temo encontrarme con problemas de escalabilidad con bitcoind a largo plazo.

¿Aumentará significativamente el uso de RAM o CPU? ¿Hay algún límite conocido del número de direcciones?

Nota: Probablemente el 60-80% de estas direcciones nunca recibirán ninguna transacción. No sé si esto hace la diferencia.

Respuestas (2)

No hay un problema con el almacenamiento, pero hay un problema con el tiempo de cálculo necesario cuando se construyen transacciones de gasto que involucran una gran cantidad de entradas de su billetera.

Este es un problema que evidencian aquellos que ejecutan bots de apuestas Martingale contra SatoshiDICE, por ejemplo. Después de obtener varios miles de direcciones de bitcoin con transacciones, sus transacciones de apuestas posteriores que se extraen de esas monedas comienzan a rastrearse.

Una versión futura del cliente de Bitcoin.org abordará esto al cambiar de BDB a LevelDB. Además, el objetivo del lanzamiento futuro es "ultraprune", que también reducirá los requisitos de almacenamiento.

Mientras tanto, InstaWallet es un servicio que pudo encontrar una solución que mitigó el problema. Es posible que puedan ofrecer algunas sugerencias.

Por lo que escuché, Bitcoin usa una tabla hash para almacenar sus direcciones al verificar nuevos bloques y transacciones para ver si están relacionados con nuestra billetera o no. Esta estructura de datos debería permitir un manejo de datos bastante eficiente, lo que significa que debería escalar bastante bien con una cantidad creciente de direcciones.

Entonces, para cualquier cantidad razonable de direcciones, Bitcoin debería escalar bien. En general, el tamaño de wallet.dat es pequeño en comparación con la cantidad de RAM que tiene incluso una máquina de gama baja, por lo que no debería ser un gran problema.