forked from tronprotocol/tips
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
873244a
commit 05197b6
Showing
2 changed files
with
43 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
``` | ||
tip:222 | ||
title: Improve transaction execution speed | ||
author: Kiven <kiven.liang@tron.network> | ||
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. |