Intercambio de Ethereum Intercambio de Ethereum
Ctrl+D Intercambio de Ethereum
ads

Introducción a la tecnología Ethereum: Experimentos de sincronización en Quasi-Stateless

Author:

Time:

Los datos y scripts originales utilizados en este experimento: https://github.com/mandrigin/ethereum-mainnet-resolver-witness-stats Introducción Hay una manera de acelerar el proceso de sincronización inicial (proceso de sincronización inicial, se refiere a comenzar desde la sincronización del bloque de génesis de la cadena de bloques) es utilizar los datos testigo del bloque (testigo) para preconstruir un árbol de caché (cache trie) para evitar el acceso lento al estado. Hacerlo requiere espacio adicional en el disco duro y ancho de banda de la red, pero puede acelerar considerablemente el proceso de sincronización. El principio es que, en general, para ejecutar un bloque, necesitamos algunos datos en el árbol de Merkle. Aunque ya hay algunos datos en el árbol de Merkle antes de que se ejecute un bloque, es posible que estos datos no sean suficientes para ejecutar el bloque. Entonces, normalmente, tenemos que extraer datos de la base de datos estatal (state db) y agregarlos al árbol Merkle antes de que podamos verificar la transacción. Este proceso puede ser lento debido a la lentitud del acceso al disco duro/consulta de la base de datos. De acuerdo con la descripción de este problema, podemos dividir tres soluciones diferentes: 1) Proceso normal (es decir, la solución utilizada actualmente en el nodo Ethereum).La cantidad de Ethereum destruida ayer alcanzó los 13.000 ETH: Los datos muestran que la cantidad actual de Ethereum destruido es de 1.3705 millones de ETH, y la tarifa base promedio de 24 horas es de 135 Gwei; Afectada por las fluctuaciones del mercado, la tarifa de transacción de Ethereum ha aumentado. Un nuevo máximo desde el 5 de diciembre. [2022/1/6 8:28:28] Antes de ejecutar el bloque B, tenemos un árbol de estado T1; cuando es necesario ejecutar B, agregamos los datos que faltan en T1 a T1 para formar T1', T1&# 39;', y así sucesivamente. Cada vez que encontramos información que no está en T1, la buscamos en la base de datos (lento). Después de ejecutar B, tenemos un árbol de estado T2, que tiene todos los estados de cuenta necesarios para ejecutar B. Guarde T2 para uso futuro. 2) Proceso sin estado Antes de que se ejecute el bloque B, no tenemos un árbol de estado; sin embargo, podemos obtener un dato W testigo para reorganizar el árbol de estado requerido para ejecutar este bloque. Ejecutamos W y obtenemos el árbol de estados T2. Ejecute el bloque B en T2, no se requiere una búsqueda en la base de datos. Después de ejecutar el bloque, T2 se descarta. Noticias | V God Twitter rinde homenaje al equipo de StarkWare y revisa la propuesta de incentivo de Ethereum: StarkWare, una empresa de desarrollo de tecnología a prueba de conocimiento cero, anunció en Twitter que ha recibido $ 30 millones en financiamiento de la Serie A. Al responder a las preguntas de los usuarios sobre patentes, respondió que "a partir de ahora, no hemos solicitado ninguna patente". Vitalik respeta profundamente su comportamiento de no realizar ICO o solicitudes de patentes, y utiliza esto para volver a proponer propuestas de incentivos para motivar a los desarrolladores de Ethereum. Anteriormente, Vitalik Buterin publicó un artículo en el Ethereum Research Forum, proponiendo un nuevo esquema para motivar a los desarrolladores. Cuando un desarrollador crea un contrato inteligente, cualquier otro usuario que use el contrato paga una parte de la tarifa de transacción (por ejemplo, 33 %). , se enviará al creador del contrato como incentivo, y se proponen dos algoritmos para las recompensas, a saber, lineal y superlineal. [19/11/2019] 3) Seguimiento semi-stateless (es decir, el esquema a probar en este experimento) antes de que se ejecute el bloque B, tenemos el árbol de estado T1, datos testigo W1, W2, ..., es suficiente para convertir T1 en T2, ejecutar W1, W2, ... en T1 a su vez, y finalmente obtener T2, y no hay necesidad de consultar la base de datos. Para ejecutar el bloque B en T2, no es necesario consultar la base de datos. Guarde T2 para uso futuro. Cotizaciones | 74.682 transacciones no confirmadas en Ethereum: Según los datos de etherscan.io, el número actual de transacciones no confirmadas en la red Ethereum es de 74.682 y la congestión de la red es grave. [2018/11/12] El uso de un proceso casi sin estado en la sincronización inicial obtiene la mayoría de los beneficios de un proceso sin estado †, sin transferir tantos datos, porque reutilizamos la memoria caché del árbol de estado. † En esquemas cuasi-sin estado, la ejecución paralela de bloques será más limitada. Por lo tanto, para probar el rendimiento de esquemas cuasi-sin estado, necesitamos medir dos cosas: ¿Cuánto disco duro/ancho de banda adicional requiere este método? ¿exigir? ¿Es realmente mejor que un enfoque con estado completo? ¿Cuánto más rápido será su sincronización inicial? En este artículo nos centraremos en probar los requisitos del disco duro. El tamaño máximo del árbol de estado (árbol de Merkle): 1 millón de nodos. Una vez que la cantidad de nodos supera este valor, desalojamos los nodos LRU para liberar memoria. De esta forma, podemos controlar el uso de memoria del árbol de estado. Parte de los datos testigo se almacenarán en una base de datos (usamos boltdb). La estructura de cada entrada es la siguiente: clave: byte // número de bloque + el número máximo de nodos en el árbol de estado valor: []byte // datos testigo, según al documento No almacenamos el código del contrato en los datos testigo (esto es una deficiencia de nuestra arquitectura actual). Noticias | CME lanzará futuros de Ethereum: Menos de un año después de que Bitcoin lanzara contratos de futuros, Ethereum se convertirá en la segunda criptomoneda que se negociará en una bolsa de futuros regulada. El Chicago Board Options Exchange (CBOE) lanzó futuros de Bitcoin en diciembre de 2017 y está esperando que la Commodity Futures Trading Commission (CFTC) permita futuros de Ethereum a fines de 2018. [2018/9/25] Los datos se obtienen de la siguiente manera (se necesita un nodo turbo-geth bien sincronizado) (en el turbo-geth repositorio) make state./build/bin/state stateless \  ;    — chaindata ~/nvme1/mainnet/mainnet/geth/chaindata \     — statefile semi_stateless.statefile \   ; ;   — snapshotInterval 1000000 \     — snapshotFrom novedad10000000 \              comprimido.2.csv \     — witnessDbFile semi_stateless_witnesses.db \     — statelessResolver     — triesize 1000000 \Los resultados experimentales se almacenan desde el bloque de génesis para sincronizar 6.169.246 (6,19 millones) de bloques, y la base de datos de datos testigo (bolt db) alcanza los 99 GB. V God: El problema de privacidad de Ethereum debe resolverse con estas cuatro soluciones: En la Conferencia de Intercambio de Tecnología Ethereum de Asia-Pacífico, Vitalik Buter, el fundador de Ethereum, pronunció un discurso sobre el tema "Protección de privacidad en Ethereum Blockchain". En, Vitalik Buterin presentó cuatro soluciones de privacidad y seguridad para la cadena de bloques de Ethereum: canales, mezcladores, firma de anillo y prueba de conocimiento cero (pruebas de conocimiento cero). En él, mencionó específicamente que la prueba de conocimiento cero es la solución "más poderosa". Aunque la implementación técnica es la más difícil, tiene el mejor efecto para proteger la privacidad y la seguridad de la red Ethereum. Vitalik Buterin también cree que las pruebas de conocimiento cero se pueden aplicar a casi todos los escenarios en la cadena de bloques de Ethereum. [2017/12/6]python quantile-analysis.py cache_1_000_000/semi_stateless_witnesses.db.stats.1.csv media     0.038 MB mediana        0.028 MB90 quantile    0.085 MB95 quantile    0.102 MB99 quantile     0.146 MB max   ;     2.350 MB tamaño de datos python absolute_values_plot.py cache_1_000_000/semi_stateless_witnesses.csv.stats from El tamaño de los datos testigo desde el bloque génesis hasta la altura del bloque de 6,1 millones, el el gráfico se trunca en 1 MB. Tome el promedio móvil sobre 1024 bloques. absolute_values_plot.py cache_1_000_000/semi_stateless_witnesses.db.stats.1.csv 3000000 resuelve el tamaño de los datos del testigo después del ataque DDoS de Shanghái y toma el promedio móvil de acuerdo con 1024 bloques. python ddos_zoom.py cache_1_000_000/semi_stateless_witnesses.db.stats.1.csv Haga zoom para ver el impacto de los ataques DDoS en el tamaño de los datos testigo (datos sin procesar). Se puede ver que el tamaño de los datos testigo aumenta significativamente durante el período desde la altura 2,3 millones hasta la altura 2,5 millones, y desde la altura 2,65 millones hasta la altura 2,75 millones. python full_vs_semi.py cache_1_000_000/semi_stateless_witnesses.db.stats.1.csv El tamaño de los datos del testigo en el estado completamente sin estado se ajusta en función de los datos del testigo en el estado casi sin estado más la parte faltante del código del contrato. A partir de esta imagen, se puede ver que al usar un enfoque casi sin estado, se puede guardar una gran cantidad de datos (en comparación con un enfoque completamente sin estado). Agregar un analizador sin estado agrega 0,4 MB a la cantidad de datos que deben transferirse/almacenarse por bloque. En comparación con proporcionar datos testigo por bloque, este valor ahorra demasiado, incluso si contamos las ganancias que podemos obtener al cambiar el modo de árbol de estado, ahorra mucho (sobre el tamaño de los datos testigo en modo de árbol hexadecimal y árbol binario). bloque, vea mi artículo anterior) (Nota del traductor: vea el hipervínculo al final del artículo para la traducción al chino). Si este rendimiento es correcto, obviamente es una buena forma de acelerar la sincronización inicial y sus requisitos de datos son menores que los de un método sin estado

Tags:

OKX Exchange App Download
Golden Observation | ¿Es razonable la SEC en la audiencia de Telegram?

En la audiencia de Ton y Gram el 19 de febrero, el juez anunció que se mantendría la orden judicial preliminar de la SEC contra TON de Telegram y aseguró a Telegram que el caso sería juzgado antes del 30 de abril.El 3.

Bucear temprano en la mañana conduce al suspenso y al renacimiento.Solo hay una delgada línea entre el fondo y la parte superior

Las principales monedas una vez más experimentaron una corrección colectiva durante la noche impulsada por BTC. A excepción de XTZ, una moneda con una lógica operativa muy independiente.

Primer lanzamiento | Investigación de inversión de OKEX: Bitcoin es optimista sobre Jincha y no es compatible con Stud, y la perspectiva del mercado de Ethereum es más optimista

Puntos clave: 1. La línea diaria de Bitcoin forma una cruz dorada alcista, pero los datos históricos no respaldan el perno directo2. La volatilidad implícita de ETH/BTC sigue aumentando.

Introducción a la tecnología Ethereum: Experimentos de sincronización en Quasi-Stateless

Los datos y scripts originales utilizados en este experimento: https://github.

Tendencia Dorada: ¿Retroceso de Bitcoin o Inversión de Tendencia?

Actualidad Jinse Finance informó que los datos del índice Baidu mostraron que el promedio diario general del índice de búsqueda de blockchain en los últimos 30 días fue de 3338.

Forbes: Por qué debería invertir en Bitcoin con una estrategia de inversión fija regular

Forbes publicó un artículo el martes explicando los beneficios de invertir en Bitcoin con Dollar Cost Averaging (DCA). El artículo afirmaba que ahora que el precio de Bitcoin ronda los 10.000 dólares.

ads