¿La cadena de bloques completa (incluido el bloque de génesis) se almacena para siempre?

Pregunta rápida: ¿Se almacena la cadena de bloques completa para Ethereum mientras exista la moneda? Si no, ¿qué determina la cantidad de tiempo que puede existir el binario para un contrato para ser llamado? En caso afirmativo, ¿presentaría eso un problema de escalabilidad a medida que la moneda envejece?

Respuestas (2)

, aunque hay una discusión en curso sobre "Blockchain Rent" .

El argumento por el cual el almacenamiento no sería un problema de escalabilidad es que la tasa de almacenamiento que se abarata es más alta que la tasa de almacenamiento que necesita la cadena de bloques: por lo tanto, todos pueden pagar cómodamente y comprar más almacenamiento, para todos los propósitos generales, y el consumo de espacio de la cadena de bloques sería solo una fracción de eso. Pero todavía hay discusiones sobre "alquiler", como se vincula anteriormente en el repositorio de EIP de Ethereum, ya que podría mejorar aún más el sistema.

Parte de lo que define una "cadena de bloques" es que los nuevos datos se basan intrínsecamente en datos más antiguos. La criptografía nos permite lograr esto calculando un hash e incrustándolo en bloques de datos posteriores. Cambiar un solo valor en cualquier parte del historial requeriría alterar todos los datos secundarios, invalidando todo.

Sin embargo, este concepto es diferente de la idea de búsqueda de rentas por espacio en la cadena de bloques. Durante el desarrollo se consideró cobrar un contrato por el espacio consumido en el tiempo, sin embargo esto no estaba incluido en la versión inicial de la red principal. En la actualidad, todos los contratos implementados existen para siempre a menos que se destruyan a través del SUICIDEcódigo de operación ( también nombradoSELFDESTRUCT ).

Esto se considera un problema de escalabilidad y se han hecho varias propuestas sobre cómo manejar este problema en particular , aunque no existen implementaciones concretas. Algunas técnicas adicionales para lidiar con el aumento del tamaño de la cadena de bloques pueden ser la poda de estado o la división de la red en fragmentos discretos .