¿Cuáles son las necesidades de espacio en disco de Ethereum?

¿Qué tan rápido está creciendo la cadena de bloques de Ethereum y qué tan grande es probable que crezca en el futuro? ¿Sigue siendo alrededor de 1 GB por mes? ¿Hay algoritmos de poda o compresión de datos implementados o planeados para ser utilizados?

Dato curioso: a partir de octubre de 2022, los contratos inteligentes de Ethereum aumentaron de 0 contratos inteligentes en 2015 a un máximo de 44 023 contratos inteligentes durante el mercado alcista de 2018, a máximos históricos en 2022 con 117 922 contratos inteligentes, un aumento del 50 % desde 2021. Básicamente, el número de bloques está aumentando y a un ritmo cada vez más rápido. (fuente: alchemy.com/blog/web3-developer-report-q3-2022 )

Respuestas (7)

Actualización el 9 de diciembre de 2018 / Bloque ~ 6_850_000: es bastante molesto mantener esta respuesta actualizada.

Geth (Ir)

Última actualización: 14 de mayo de 2018 / Bloque ~ 5_600_000

Client / Mode         | Block Number   | Disk Space
======================|================|===========
geth light            | 5_600_000      | 363M
geth fast full        | 5_600_000      | 142G
geth full full        | ?_???_??? [1]  | 239G + [1]
geth full archive     | 4_980_000 [2]  | 671G
  • [1]Mi disco estaba lleno, no esperaba que esto se quedara sin espacio y no pude repetir este modo de sincronización
  • [2]No logré sincronizar el nodo de archivo en seis semanas, desafortunadamente por completo.
  • Obtener 1.8.3
  • Ubuntu 16.4 LTS, instancia de VPS con almacenamiento respaldado por SSD

Paridad (óxido)

Última actualización: 14 de mayo de 2018 / Bloque ~ 5_600_000

Client / Mode         | Block Number   | Disk Space
======================|================|===========
parity light          | 5_600_000      |  89M
parity warp fast      | 5_600_000      |  82G
parity full fast      | 5_600_000      |  78G
parity full archive   | 5_600_000      | 1.1T
  • Paridad 1.10.0
  • Ubuntu 16.4 LTS, instancia de VPS con almacenamiento respaldado por SSD

Actualización: 29 de noviembre de 2017. Afri ha escrito una publicación de blog sobre esto, especialmente. Modos de poda de paridad: el tamaño de la cadena de bloques de Ethereum no superará 1 TB en el corto plazo .

Alguna Hoja.

Si ethereum se usa tanto como bitcoin hoy en día (alrededor de 5tx/seg), esa tasa de crecimiento es 28x. Suponiendo que las personas usen más contratos inteligentes y no solo especulen como lo hacen con Bitcoin, verá muchas transacciones más pequeñas. Habrá cierta consolidación a medida que se extraigan más transacciones en un bloque (que usa un poco menos de bytes por transacción), pero en general, esperaría un crecimiento de la cadena de bloques de 600 gb-1 TB por año si Ethereum se vuelve popular.
@5chdn Suponiendo que estas cifras sigan siendo correctas, si configurara una nueva billetera e hiciera mi primera sincronización usando geth -fast, ¿el ancho de banda que usaría para esa primera sincronización sería de alrededor de 4.348 GB? ¿Está bien?
Sí. Debería ser un poco más por ahora.
Publica tu dirección ETH, te enviaré una donación.
@nchinda2 0x006ed403807ae87b9f958f25c33862927ba1b57b:)
@ 5chdn, ¿no debería ser de 1,75 GB en caso de modo ligero en Geth? Estoy en el proceso de sincronización en torno al bloque 300k con 140 MB de datos recopilados. Parece que terminará ligeramente por encima de los 2 GB.
Debería existir la opción de interfaz de usuario para elegir la ubicación de los datos de la cadena y el tipo de sincronización...
Estamos a fines de noviembre de 2017 ahora y mi --syncmode "fast"cadena de bloques en mi computadora ahora tiene un tamaño de 220 GB . Me preocupa no poder operar un nodo completo por mucho más tiempo, ya que realmente necesita SSD.
Desafortunadamente, Geth no poda continuamente la base de datos. Es posible que desee considerar el uso de la paridad.
¿Cuál es la diferencia entre geth full archivey geth full full nodo? @Waqar Lim
@alper uno es un nodo completo (estados históricos podados) y el otro es un nodo de archivo (todos los estados históricos), consulte dev.to/5chdn/…

Actualmente, la red está creciendo alrededor de 1 GB por mes . Es difícil anticipar cuánto podría crecer y a qué ritmo, pero ya se están realizando esfuerzos para implementar la poda de árboles estatales en varios clientes. Estas técnicas contribuirán a los llamados "clientes ligeros".

En el gráfico vinculado anterior, la evolución del tamaño del bloque estima el tamaño del bloque en bytes a lo largo del tiempo que se puede usar para estimar la velocidad (tasa). El gráfico más adecuado depende de lo que entienda específicamente por tasa de crecimiento de bloque .

¿Cuál (¿o combinación?) de los gráficos vinculados anteriormente muestra la tasa de crecimiento del bloque? Ninguno de los gráficos individuales parece mostrar esto directamente.
La "evolución del tamaño del bloque" será una estimación del tamaño del bloque en bytes a lo largo del tiempo que se puede usar para estimar la velocidad (tasa). El gráfico más apropiado depende de lo que entienda específicamente por "tasa de crecimiento de bloque"
Traté de encontrar una definición de lo que etherchain.org significa por "evolución del tamaño del bloque", pero no pude encontrar ninguna. Mi interpretación (posiblemente incorrecta) es que esto representa el tamaño de los bloques individuales promediados diariamente. Para traducir esto a una estimación de la tasa de crecimiento del tamaño de la cadena de bloques durante un mes (que es lo que quise escribir en mi mensaje anterior), tendríamos que multiplicar esto por la cantidad de bloques agregados en un mes.

A partir del 01/11/2016, la cadena de bloques ethereum (ETH, es decir, compatible con la bifurcación DAO) descargada en modo completo ocupa 75 GB en mi disco. El cliente es geth (go-ethereum), versión 1.4.18, creado a partir de una fuente clonada de https://github.com/ethereum/go-ethereum , que se ejecuta en CentOS Linux, versión 7.2.1511.

A partir de hoy debería ser, a partir de mm/dd/aaaa para todas y cada una de las respuestas...

Me he topado con los siguientes enlaces:

1- proporciona un gráfico en línea que presenta la evolución del tamaño actual de la cadena de bloques de Ethereum junto con el tamaño de la cadena de bloques de Bitcoin.

http://bc.daniel.net.nz/ ingrese la descripción de la imagen aquí

2- proporciona detalles sobre la red Ethereum, incluido el tamaño de la cadena de bloques https://bitinfocharts.com/ethereum/

Puntos de referencia realizados en Homestead en junio de 2016

Geth 1.4.9 en i7 3720QM 16GB ram y SSD

-----------------------------------------
|      -    |  Full  |  Fast  |  Light  |
|-----------|--------|--------|---------|
| Disk      |  22GB  | 4.8GB  |  600 Mo |
| Time      |  5h    | 21m    |  21m    |
-----------------------------------------

Paridad 1.2 en i7 3720QM 16GB ram y SSD

-------------------------------------------
| -         | Archive  |  Fast  |  Light  |
|-----------|----------|--------|---------|
| Disk      |  22GB    | 3.7GB  |  2.5GB  |
| Time      |  2h      | 1h30   |  2h     |
-------------------------------------------
Me pregunto por qué mis necesidades de espacio en disco de resultados de hace un mes son más altas que las suyas ahora...
Los actualizaré en unas pocas horas.

A partir del 1 de febrero, el tamaño de la cadena de bloques es de ~940k bloques, y se crea un nuevo bloque cada 17,2 segundos. Esto significa que, en promedio, la cadena de bloques aumenta en 152 790 bloques cada mes.

Un tamaño de bloque promedio aproximado, en este momento, es de alrededor de 1225 bytes. Con este tamaño de bloque promedio, el aumento del tamaño de la cadena de bloques es de 187 MB por mes (152 790 bloques x 1225 bytes).

Referencia utilizada: https://www.etherscan.io

Estoy sincronizando un nodo en modo completo. Actualmente está en el bloque 5005306 (finales de enero de 2018) y tiene 700 Gb. Probablemente ha estado funcionando durante más de 20 días.

¿Usaste geth o paridad? Si geth usaste la --gcmode=archiveopción?
geth con la opción syncmode=full. No utilicé la opción gcmode. Ni siquiera sabía lo que era antes de tu comentario. Parece algo nuevo en geth 1.8? estoy usando 1.7
Sí, en Geth 1.8, la poda automática está habilitada de forma predeterminada. gcmode=archive lo deshabilita.
¿Tengo razón al suponer que es nuevo en 1.8? porque en el modo de sincronización 1.7 completo es suficiente para evitar la poda
Si eso es correcto.