Dosificación del estado, el desafío de escalabilidad de Ethereum

A pesar de un aumento en el límite de gas de ethereum, el tamaño de bloque no ha cambiado mucho porque no hay una relación completa entre la cantidad de transacciones y la cantidad de datos.

Mucho se reveló hace algún tiempo cuando ethereum alcanzó su punto máximo capacidad a pesar de procesar solo la mitad de sus transacciones más altas de todos los tiempos.

Obviamente hay alguna relación entre bytes y gas en ethereum como se puede ver arriba y si se tratara de un gráfico de líneas, entonces vería un aumento general. Sin embargo, es una relación un poco desordenada.

El gas en ethereum es una unidad abstracta de medida de cuántos recursos informáticos se requieren para realizar una acción.

A medida que los contratos se completan, puedes tener infinitos bucles de tiempo. El gas pone un límite a eso y ese límite actualmente es de 12 millones.

 Transacciones de Ethereum, junio de 2020 Transacciones de Ethereum, junio de 2020

A pesar de un aumento del 50% en el límite de gas, las transacciones de ethereum todavía están muy lejos. Esto se debe a que gran parte del gas se toma mediante transacciones simbólicas o transacciones de contratos inteligentes.

Una transacción simbólica simple requiere 80,000 unidades de gas, mientras que, en términos éticos, son 20,000. Una transacción dapp dependería, pero a menudo requieren más unidades de gas que incluso una transacción simbólica.

Eso hace que las cosas sean un poco más complejas que en bitcoin donde una transacción es de solo 250 bytes o que puede ser la base y luego cada transacción es de 20 bytes.

En ethereum no existe tal compresión de transacciones a nivel de protocolo y eso se debe a que usa cuentas.

Para que la red administre estas cuentas, actualiza cada bloque lo que se llama estado. Griffin Ichiba Hotchkiss, de la Fundación Ethereum, dice:

"El" estado "completo de Ethereum describe el estado actual de todas las cuentas y saldos, así como los recuerdos colectivos de todos los contratos inteligentes implementados y funcionando en el EVM.

Cada bloque finalizado en la cadena tiene un solo estado, que es acordado por todos los participantes en la red. Ese estado cambia y se actualiza con cada nuevo bloque que se agrega a la cadena. ”

El equivalente muy simplificado del estado para bitcoin es UTXO, ambos conceptos difíciles de entender con una descripción simplificada que es memoria (ram) o una instantánea de la red para que todos sepamos quién tiene cuánto o qué función de código contiene un contrato.

Para sincronizar ethereum desde el bloque de génesis, debe pasar por 400 millones de 'nodos', que de manera menos confusa pueden describirse más como puntos de conexión, que le brindan estas instantáneas con todo esto tomando alrededor de una semana.

Cada bloque, unos 3,000 puntos de conexión, que son pequeñas compresiones de interacciones o cambios en la cuenta, deben ser actualizados por todos los nodos de alrededor de 10,000 para mantenerse sincronizados.

Eso significa que la memoria RAM de su computadora se mantiene constantemente ocupada con cada bloque, cada 15 segundos, y su disco también está leyendo y escribiendo cada bloque estos cambios que le están sucediendo a la red ethereum.

re, cuanto más ocupado esté su memoria RAM y su disco, hasta que en algún momento haya algún límite en sus recursos y pierda la sincronización. Y eso no está en el pasado en el historial de descargas, sino en el presente en el procesamiento de la red.

A eso se agrega un documento del año pasado que revela la difícil tarea de los codificadores de participar en matemáticas bastante altas para vincular cosas como gas y bytes o, en este caso, "el costo de ejecución y los recursos utilizados, como CPU y memoria".

"Descubrimos una serie de discrepancias en el modelo de medición, como inconsistencias significativas en el precio de las instrucciones". dicen, agregando además:

“Diseñamos un algoritmo genético que genera contratos con un rendimiento en promedio 200 veces más lento que los contratos típicos.

Luego mostramos que todas las principales implementaciones de clientes de Ethereum son vulnerables y, si se ejecutan en hardware básico, no podrían mantenerse sincronizadas con la red cuando están bajo ataque ”.

El equivalente en bitcoin aquí sería hacer un bloqueo eso está diseñado para ser muy difícil de validar, por lo que su sistema de minería de computadoras incluso puede fallar.

Sin embargo, en bitcoin, si lo hiciera, hay una buena posibilidad de que pierda su recompensa de 6,25 bitcoin y si continúa así un grupo, hay una buena posibilidad de que pierdas a todos tus mineros.

Si bien en ética solo perderías por mucho que cueste publicar el contrato, lo que según los investigadores es muy desproporcionado con respecto a los efectos que puede tener. 19659002] Hacer que el escalado de la red ethereum en su forma actual sea una tarea muy complicada y que requiera mucho tiempo si alguien como Trustnode aún puede ejecutarlo para nuestro propio análisis interno de blockchain si lo deseamos.

Siempre hay Infura, por supuesto, los nodos en el proveedor de la nube que impulsa incluso la mayoría de las operaciones de red ethereum.

Su incubadora, ConsenSys, recientemente a través de algún tipo de proyecto respaldado se asoció con AMD para construir "la próxima generación de cómputo descentralizado, almacenamiento y ancho de banda para el planeta". ", Según Joseph Lubin, el fundador.

Sin embargo, la solución real por el momento es lo que se puede denominar fragmentación a nivel de contrato de la cadena de bloques.

 Soluciones de escalado de Ethereum, junio de 2020 Soluciones de escalado de Ethereum, junio 2020

Si nos centramos en los últimos tres a la derecha, estas son sus propias redes e incluso sus propias cadenas de bloques que 'hablan' con ethereum, pero por ahora no se hablan entre sí.

Si la historia se repite , podría ser el primer paso para conectar la computadora mundial independiente a muchas computadoras mundiales que todavía están en la misma página.

Inicialmente, como sabrá, si tuviera una computadora portátil, solo tendría acceso a los datos dentro de esa laptop. Luego, un avance conectó diferentes computadoras portátiles, inicialmente a través de conexiones de cable, y ahora tenía acceso a los datos de sus vecinos en su computadora portátil.

Dado que estas computadoras pueden hablar, ahora podemos permitir que todos tengan acceso a nuestros datos como esta misma página, sin que todos necesiten almacenar nuestros datos, a menos que queramos almacenarlos.

No necesitamos almacenar sin embargo, a menos que seamos nosotros quienes compartamos los datos. Solo necesitamos conectarnos con otros para que podamos permitirles ver lo que tenemos y ver lo que tienen.

Es decir, necesitamos que OMG hable con ZK. No podemos tener bitcoin hablando con eth porque son protocolos diferentes, pero incluso allí están ocurriendo conexiones de nodos.

Si conseguimos que estos grupos de datos se comuniquen entre sí, entonces no debería haber ningún límite para la escalabilidad siempre que todo se ejecuta en el mismo protocolo.

Eso es algo que lleva tiempo, pero si lo ves de esta manera, entonces Nakamoto obviamente tenía razón, al igual que Gregory Maxwell porque están en diferentes niveles de tiempo.

Nakamoto probablemente estaba pensando en La evolución general de la tecnología y en sus declaraciones estaba claramente pensando que se desarrollaría de la misma manera que Internet, que es un sistema distribuido global.

Mientras Maxwell pensaba en el presente y señaló quizás con mucha razón que usted puede no saltes al futuro sin hacer las muchas, muchas cosas que se requieren para llegar allí.

Lo que significa que estamos escalando y tal vez la tarea más difícil ya se ha hecho. En esta etapa, se trata más de sentarse y disfrutar de subir de nivel que necesariamente llevará algún tiempo.