El tema es que los nodos testigos, los que confirman las transacciones no pasan de 101, por definición del protocolo. Esto no quiere decir que solo haya 101, hay muchos más esperando ser elegidos para ello, pero no funcionano como nodo completo. Esta gente dispone de servidores de considerable potencia de proceso, comunicación y almacenamiento, lo que permite al resto la utilización de clientes ligeros o wallets online.
No te pordría decir qué se necesita exactamente para construir un nodo, porque no soy delegado ni está tampoco serlo entre mis intenciones próximas. Si hay alguien por ahí que tenga uno, que venga y nos lo cuente…
He visto aquí los requerimientos del servidor. salvo lo del disco SSD los requerimientos son muy normalillos. De cualquier forma voy a consultarlo a ver
Las pruebas nos demostraron consistentemente que LevelDB y el acceso al disco eran el principal cuello de botella de BitShares. Cada vez que se procesa una transacción, hay literalmente decenas de claves que se consultan a nivel de de bases de datos, y cada vez que se accede a estas bases de datos hay acceso al disco. Queríamos mantener todo sincronizado a través de una base de datos probada como LevelDB para que los nodos fueran robustos contra fallas de energía. Como demostraremos a continuación, este fue un requisito negativo.
Esta lección puede parecer contraintuitiva para aquellos que están familiarizados con los enormes requisitos de RAM que BitShares ha exigido, a menudo se acercan a 2 GB o más a veces. La realidad es que casi toda esa memoria RAM se estaba utilizando para cachés de base de datos. Pero los requisitos de datos reales para una cuenta individual que consta de un nombre, una clave y un par de saldos está muy por debajo de 1 KB de datos, por lo que el conjunto completo de saldos para todas las cuentas BTS podría mantenerse con sólo 30 MB de RAM. De hecho, podríamos mantener fácilmente todos los datos asociados a 1 millón de cuentas con sólo 1 GB de RAM. Cuando esta realidad se nos hundió, se hizo evidente que nuestro problema no eran los datos que necesitábamos almacenar, sino cómo elegimos representarlo y la sobrecarga asociada a los diversos índices de la base de datos.
Si eliminamos la base de datos completamente y simplemente cargamos todos los estados al inicio y guardamos todos los estados al salir, entonces es posible procesar todos los bloques y transacciones en el historial de BitShares en segundos. Esto cambia de juego. Lo único que BitShares 2.0 registra en disco en tiempo real son nuevos bloques a medida que vienen y este acceso al disco se realiza de forma asíncrona para que no ralentice el procesamiento de bloques. En el caso de una interrupción de suministro eléctrico resulta trivial reproducir el historial de bloque para recuperar el estado.
https://bitshares.org/blog/2015/06/08/lessons-learned-from-bitshares-0.x/#keep-everything-in-memory
Es decir, hay que guardar todo en memoria. Más adelante dice por 15K Dólares se podría comprar 1 Tb RAM con lo cual se daría servicio a un billón de usuarios!