Hace unos meses, me uní al equipo de Turbo-Geth y comencé a contribuir activamente con código para el cliente de Turbo-Geth. El cliente Turbo-Geth es una versión alternativa del cliente Geth (actualmente todavía en desarrollo), que pretende ser más rápido y eficiente que el cliente original. Entonces, el enfoque de Turbo-Geth para lograr este objetivo incluye lo siguiente:
Optimizar aún más la estructura de la base de datos
Reduzca las operaciones de lectura y escritura en la base de datos donde se requiere la interacción con los datos de estado
Optimice la eficiencia de las operaciones del árbol de estado (puede ser necesario cambiar la estructura de datos del árbol de estado existente)
En este artículo, resaltaré las diferencias entre las bases de datos de Turbo-Geth y Geth. Las principales diferencias son:
Base de datos diferente (usando Bolt en lugar de LevelDB)
Segmentar la base de datos por cubo
El par de negociación al contado GBP/USD en FTX cayó un 3,4 % debido a la suspensión de los futuros de GBP de CME: Jinse Finance informó que, según la divulgación de FTHedge en las redes sociales, los futuros de GBP de CME Group fueron suspendidos. Afectada por esto, la plataforma de negociación de FTX The El fundador SBF publicó en las redes sociales que el par de operaciones al contado GBP/USD en la plataforma FTX cayó un 3,4% en un corto período de tiempo, mientras que el par de operaciones GBP/Bitcoin no fluctuó significativamente por el momento. En el momento de la publicación, GBP/USD ahora está en 1.05548, con la caída más baja a 1.03595, una caída de 2.7% desde la apertura de la mañana.
Golden Finance informó anteriormente que el Ministro de Hacienda británico insinuó más recortes de impuestos, y la libra cayó a un mínimo histórico. [2022/9/26 7:21:05]
Entonces, el contenido principal de este artículo está relacionado con estos dos puntos.
Bolt y LevelDB son en realidad muy similares, ambos son almacenamiento de "par clave-valor" (clave-valor), y el objetivo del diseño es proporcionar una base de datos simple, rápida y confiable para proyectos que no requieren un servidor de base de datos completo. La base de datos elegida por Geth es LevelDB, mientras que la de Turbo-Geth es Bolt.
Los equipos de KPMG en EE. UU. y Canadá lanzan el Centro de colaboración de Metaverse: el 22 de junio, las unidades comerciales de EE. UU. y Canadá de KPMG, una de las cuatro grandes firmas internacionales de contabilidad, lanzaron un centro de colaboración en Metaverse, con el objetivo de ayudar a sus clientes a formular una estrategia de dominio de Metaverse.
El centro privado es un lugar para que sus empleados, socios y clientes celebren reuniones de equipo virtuales y compartan ideas, dijo un portavoz. También podrán realizar sesiones de capacitación, entrevistas de trabajo y evaluaciones de empleados en Metaverse, así como sesiones que muestren los servicios y capacidades de KPMG.
Armughan Ahmad, presidente y socio gerente, Digital, KPMG Canadá, dijo: "Metaverse nos permite experimentar un mundo 'phygit' donde se fusionan los mundos físico y digital. Metaverse presenta una oportunidad de mercado de $ 13 billones que tendrá Up a 5 mil millones de usuarios".
La práctica de KPMG en los EE. UU. y Canadá ha reunido un equipo dedicado con experiencia técnica y de innovación para respaldar el diseño de metaverso, los casos de uso de NFT, los activos cifrados, la participación de la comunidad y una integración Web3 más amplia. (Blockworks) [2022/6/22 1:24:43]
Pero también hay una diferencia clave entre los dos: la forma en que se organizan los datos. LevelDB es una base de datos LSM (Log-Structured Merged-Tree), mientras que Bolt usa cubos, y cada cubo contiene una estructura B+-Tree. Podemos pensar en un cubo como "una pequeña base de datos en una gran base de datos".
Reserva Federal Kashkari: No he escuchado a nadie explicar claramente los beneficios de las criptomonedas para los consumidores: el 5 de enero, la Reserva Federal Kashkari dijo que no había escuchado a nadie explicar claramente los beneficios de las criptomonedas para los consumidores. La estrategia que utilizó la Fed la última vez para normalizar su balance funcionó bastante bien, y el Comité Federal de Mercado Abierto determinará el momento exacto y el ritmo de reducción del balance. (Diez de oro) [2022/1/5 8:25:48]
La principal diferencia entre los dos, entonces, es que una base de datos LSM está optimizada para la exploración de rango y agregación pesada, no para el rendimiento de lectura aleatoria; para proporcionar coherencia, no permite operaciones simultáneas de lectura y escritura en la base de datos. Además, por consideraciones de rendimiento, esta base de datos no implementa la atomicidad. Bolt, por otro lado, tiene una velocidad de inserción lenta, pero una velocidad de lectura aleatoria rápida, logra atomicidad y puede leer y escribir en la base de datos al mismo tiempo.
Expliquemos un poco más la atomicidad:
Nervos se integrará con SafePal y brindará soporte de Grant: según las noticias oficiales, Nervos se integrará con SafePal, los usuarios pueden usar la billetera SafePal para almacenar CKB y recargar CKB al producto DEX de capa 2 YokaiSwap en Nervos. Con el fin de ayudar y respaldar mejor a SafePal, Nervos proporcionó a SafePal un fondo de subvención. Las funciones previas a la implementación incluyen: integración del protocolo sUDT; apoyo a Godwoken Bridge; apoyo a CKB Swap; apoyo y promoción conjunta de la dApp ecológica de Nervos; apoyo al proyecto DeFi de Nervos Liquidity mining , etc.
Anteriormente, SafePal Wallet seleccionó a YokaiSwap como socio de Capa 2 y lanzó un airdrop de la OMS. [2021/12/22 7:56:31]
Atomicidad: "atómico" significa indivisible. Supongamos ahora que queremos almacenar varios valores hash para una base de datos y uno de ellos falla al insertarlo en la base de datos, si todas las operaciones de valores hash se revocarán al mismo tiempo, esto se llama atomicidad. Turbo-Geth tiene una característica tal que esta operación solo puede tener éxito si todas las operaciones de inserción de valores hash son exitosas. Una base de datos que no implementa la atomicidad (como LevelDB) significa que se debe usar una solución alternativa para insertar datos en la base de datos de manera segura. En otras palabras, en este punto, creemos que Bolt es mejor porque es más seguro al agregar datos a la base de datos.
Como se mencionó anteriormente, Turbo-Geth se divide en varios grupos. Cada depósito es una pequeña pieza de datos en una gran base de datos, cada uno de los cuales contiene una estructura B+-Tree.
Aquí está la división de la base de datos Turbo-Geth a la altura del bloque 9,346,492:
- Particionamiento de datos del nodo de archivo de Turbo-Geth (altura de bloque 9,346,492) -
Tamaño de archivo del cliente Geth (altura del bloque 9346492): 3,7 Tamaño del archivo del cliente TBParity (altura del bloque 9346492): 3,6 TBCliente Turbo-Geth Tamaño del archivo (altura del bloque 9346492): 652,62 GB Cada parte se almacena en un depósito en. Una breve explicación de las partes principales es la siguiente:
Preimagen: la gestión de valores hash y direcciones, y la asociación entre valores hash de ubicación de almacenamiento y ubicaciones de almacenamiento
recibo (recibo): recibo de transacción
Historia del almacenamiento: la historia de los cambios en el almacenamiento por contrato
Historial de Cuentas: Cambiar historial de cuentas
Encabezado de bloque: el encabezado de bloque de cada bloque
Cuerpo de bloque: el cuerpo de bloque de cada bloque
Almacenamiento por contrato: Es el contenido de almacenamiento por contrato
ChangeSet: historial de cambios de la base de datos
Cuenta: Cuenta
El propósito de usar tantos cubos es evitar que la altura de cada B+-Tree que constituye una base de datos grande sea demasiado alta, para que la interacción con la base de datos sea más fácil. En otras palabras, se trata de utilizar varios cubos para mejorar el rendimiento de la lectura de la base de datos.
Después de cambiar a Bolt, Turbo-Geth tuvo algunos problemas con las claves aleatorias, como los hashes de transacciones, porque Bolt ordena esas claves antes de enviar los datos y porque esos hashes son aleatorios y el número es grande, por lo que se genera una gran cantidad de requisitos de clasificación. lo que luego conduce a una gran cantidad de amplificación de escritura (amplificación de escritura, la cantidad real de datos físicos escritos es varias veces la cantidad de datos escritos). Y BadgerDB usa el modo de fusión estructurada de registro (LSM), que parece ser una mejor opción. Este problema aún está bajo investigación, sin embargo, hemos implementado una solución para solucionar este problema.
Aquí hay un gráfico que muestra el rendimiento general de BadgerDB y BoltDB (gracias a Alexey Akhunov por el gráfico):
El cliente Turbo-Geth optimiza el rendimiento de Ethereum al:
Use varios cubos para recuperar algunos datos más rápidamente
Use B+-Tree en lugar de LSM
Si desea donarnos, puede hacerlo a través de Gitcoin.
Tags:
Autor: Chen Shi y Dong Ge, para obtener más artículos, siga la cuenta pública de WeChat "Cuantificación de Chenhe". ¡Los puerros están comprando traseros.
El 25 de febrero, el precio de Bitcoin volvió a caer, con una caída de más del 4% en 24 horas, el precio actual es de 9189,43 dólares estadounidenses.
Hoy, una noticia sobre "El CEO de FTX (Sam) tiene una posición de pérdida flotante de $ 13 millones en Bitfinex" se extendió por toda la industria de las criptomonedas. El fundador de RenrenBit, Zhao Dong.
Hace unos meses, me uní al equipo de Turbo-Geth y comencé a contribuir activamente con código para el cliente de Turbo-Geth. El cliente Turbo-Geth es una versión alternativa del cliente Geth (actualmente todavía en de.
La forma en que la fundación de bienestar público maneja las donaciones donadas por personas solidarias siempre ha sido una preocupación de los donantes. Ahora.
Hay un dicho que circula en Wall Street: "Es más difícil entrar con precisión en el mercado que atrapar un cuchillo volador en el aire". Bitcoin con inversión fija no solo puede equilibrar el costo.
La comunidad Ethereum se opone a ProgPow y existe controversia sobre la propuesta de limitar la minería ASIC.