Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve transaction execution speed #222

Closed
lvs007 opened this issue Jan 6, 2021 · 2 comments
Closed

Improve transaction execution speed #222

lvs007 opened this issue Jan 6, 2021 · 2 comments

Comments

@lvs007
Copy link
Contributor

lvs007 commented Jan 6, 2021

tip:222
title: Improve transaction execution speed
author: Kiven <kiven.liang@tron.network> 
discussions to: https://github.com/tronprotocol/TIPs/issues/222
status: draft
type: Standards Track
category: TRC
created: 2021-01-06

Simple Summary

This TIP provides Improve transaction execution speed for java-tron.

Abstract

In the current Tron ecosystem, the destroyed TRX is transferred to the black hole account. When performing transfers, the black hole account needs to be serialized and deserialized. Since the black hole account contains less TRC10 tokens, serialization and deserialization will hardly affect the performance. However, with the development of time, there are currently a large number of TRC10 tokens in the black hole account, which has a great impact on performance during serialization and deserialization. From our current test, the performance is reduced by 50% to 100%.

Motivation

Improve the performance of the TRON network and increase the QPS of transactions.

Rationale

void burnTrx(long number): The method of destroying TRX, the value is accumulated and recorded in the DynamicPropertiesStore database

long getBurnTrxAmount(): Get the method of destroying the total TRX amount from the DynamicPropertiesStore

boolean supportOptimizeBlackHole(): Whether to open the proposal to remove the blackhole account

Desired Features:

It can improve the QPS of the whole network transaction, and the performance can be improved by more than 50%.

Technical Specifications:

Since the performance degradation is caused by the serialization and deserialization of black hole accounts, to improve performance, we can remove the black hole accounts and use DynamicPropertiesStore to record the number of destroyed TRX.
To make the database of the whole network consistent, we need to create a proposal to remove black hole accounts.

Data Structures:

The data structure of the amount of TRX destroyed:
key: BURN_TRX; value: the number of TRX destroyed

Implementation

coming soon

Copyright

All content herein is licensed under Apache 2.0.

@DausAdy
Copy link

DausAdy commented Feb 8, 2021

tip:340
title: Improve transaction execution speed
author: Kiven <kiven.liang@tron.network> 
discussions to: https://github.com/tronprotocol/TIPs/issues/340
status: draft
type: Standards Track
category: TRC
created: 2021-01-06

@DausAdy
Copy link

DausAdy commented Feb 8, 2021

tip:340
title: Improve transaction execution speed
author: Kiven <kiven.liang@tron.network> 
discussions to: https://github.com/tronprotocol/TIPs/issues/340
status: draft
type: Standards Track
category: TRC
created: 2021-01-06

Resumen simple

Este TIP proporciona Mejorar la velocidad de ejecución de transacciones para java-tron.

Abstracto

En el ecosistema actual de Tron, el TRX destruido se transfiere a la cuenta del agujero negro. Al realizar transferencias, la cuenta del agujero negro debe serializarse y deserializarse. Dado que la cuenta del agujero negro contiene menos tokens TRC10, la serialización y deserialización difícilmente afectará el rendimiento. Sin embargo, con el paso del tiempo, actualmente hay una gran cantidad de tokens TRC10 en la cuenta del agujero negro, lo que tiene un gran impacto en el rendimiento durante la serialización y deserialización. De nuestra prueba actual, el rendimiento se reduce entre un 50% y un 100%.

Motivación

Mejore el rendimiento de la red TRON y aumente el QPS de las transacciones.

Razón fundamental

void burnTrx (número largo): el método para destruir TRX, el valor se acumula y se registra en la base de datos DynamicPropertiesStore
long getBurnTrxAmount (): Obtiene el método para destruir la cantidad total de TRX de DynamicPropertiesStore
boolean supportOptimizeBlackHole (): si abrir la propuesta para eliminar la cuenta blackhole

Características deseadas:

Puede mejorar el QPS de toda la transacción de la red y el rendimiento se puede mejorar en más del 50%.

Especificaciones técnicas:

Dado que la degradación del rendimiento se debe a la serialización y deserialización de las cuentas de agujero negro, para mejorar el rendimiento, podemos eliminar las cuentas de agujero negro y usar DynamicPropertiesStore para registrar el número de TRX destruidos.
Para que la base de datos de toda la red sea coherente, necesitamos crear una propuesta para eliminar las cuentas de agujero negro.

Estructuras de datos:

La estructura de datos de la cantidad de TRX destruida:
clave: BURN_TRX; valor: el número de TRX destruido

Implementación

próximamente

Derechos de autor

Todo el contenido de este documento tiene licencia de Apache 2.0.

@lvs007 lvs007 closed this as completed Jun 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants