Skip to content

Latest commit

 

History

History
41 lines (30 loc) · 2.02 KB

tip-222.md

File metadata and controls

41 lines (30 loc) · 2.02 KB
tip:222
title: Improve transaction execution speed
author: Kiven <[email protected]> 
discussions to: https://github.com/tronprotocol/TIPs/issues/222
status: Final
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

Copyright

All content herein is licensed under Apache 2.0.