¿Es posible evitar que los nodos minen en una cadena de bloques privada?

¿Es posible evitar la minería en una cadena de bloques cerrada, en el sentido de que solo un conjunto de direcciones pueden realizar transacciones pero no pueden minar?

La minería siempre debe ser realizada por un número preseleccionado de nodos con direcciones conocidas.

La solución sería preferible usar pyethapp o pyethereum.

Puede configurar geth de modo que no descubra nuevos nodos y tenga un conjunto máximo de pares, con una lista de nodos estáticos predefinidos ( ethdocs.org/en/latest/network/connecting-to-the-network.html ). Aunque esta configuración no rechazará los nodos no válidos. Junto con las reglas de firewall para desconectar conexiones desde ubicaciones desconocidas, puede funcionar para una prueba.
Gracias. Estaba pensando en una solución basada en la lista blanca; permita solo transacciones de un conjunto conocido de direcciones y descarte todas las demás. Me pregunto si eso es posible en las implementaciones de python.

Respuestas (2)

Lo que está buscando es una cadena de bloques autorizada . Los clientes de nodos predeterminados como geth, eth o pyehtereum no implementan este tipo de funcionalidad, por lo que necesita algo más complejo que implemente una capa de permisos.

Algunos buenos puntos de partida son la plataforma Eris (mi preferida, me gusta la arquitectura general y el enfoque de Docker) o la plataforma BlockApps STRATO, la plataforma Ethereum lista para usar y Microsoft Azure ready .

Consulte esta publicación de Vitalik Buterin para obtener más información sobre las cadenas de bloques públicas y privadas.

Básicamente, puede comenzar algunos gethcon y otros sin --mine. Si realmente desea hacer cumplir esto, debe configurar las máquinas con privilegios para que solo puedan iniciar un script que extraiga y algunos que no. Tarea simple de administrador del sistema, ¿verdad?

No, no es una tarea sencilla ya que viola el principio distribuido de la cadena de bloques. Mi configuración es que tengo una instancia en pyethapp ejecutándose en una máquina y otra en una máquina separada (estas casillas tienen direcciones de red distintas) y la que inicialmente almacena la cadena de bloques no debería permitir que la otra mina.