Estoy ejecutando una cadena de bloques de Ethereum privada. Cuando configuro uno de los nodos como mío, ese nodo crea bloques continuamente, incluso si no hay transacciones dentro de él. ¿Cuál es el propósito de esto?
Un beneficio de una cadena de bloques es que, en la práctica, solo se agrega con bloques pasados inmutables.
Estos bloques anteriores son inmutables porque es muy difícil (a través de la prueba de trabajo) crear un bloque competidor que "reescribe la historia". Además, hay que tener en cuenta que los bloques posteriores añaden su propia dificultad. Entonces, para cambiar un bloque en el pasado y ser aceptado por otros nodos, debe cambiar ese bloque pasado y todos los que vinieron después.
Entonces, para volver a su pregunta, esos bloques vacíos agregan constantemente nuevas capas de dificultad para garantizar la inmutabilidad práctica de los bloques anteriores.
La concesión de nuevos Ethers está ahí para incentivar a los mineros a proteger bloques anteriores.
En una cadena pública, tiene perfecto sentido seguir creando bloques, porque un minero aún obtendrá la recompensa del bloque de 5 ETH, con o sin transacciones internas. Por lo tanto, geth minará continuamente mientras se le indique. No sabe que la cadena no es pública. Es posible escribir un script para controlar la minería de geth. Ver esta pregunta.
Si está buscando una cadena de bloques privada para probar dapps, un simulador como testrpc probablemente sea más adecuado que un nodo completo genuino. testrpc solo "mina" cuando hay una transacción, y esta minería es simulada, no se produce un hashing real.
En la cadena de bloques de ethereum creamos bloques cada N tiempo (15 s) consulte https://etherscan.io/charts/blocktime
lo hacemos con 2 propósitos:
1-incluir transacciones.
2-generar nuevos Éteres.
Si no hay transacciones para incluir o el minero se niega a incluirlas, crea un nuevo bloque sin transacciones, pero que contiene los Ethers recompensados.
por lo tanto, un bloque no puede contener transacciones en su interior, pero tenga en cuenta que un bloque validado necesita algunas confirmaciones (bloques adicionales después) para ser más confiable [12 confirmaciones para realizar cambios "irreversibles" en los datos].
thomas jay prisa
Xavier Leprêtre B9lab