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

Reduce replications call by avoiding notifying node movements chains #124

Closed
5 tasks done
Tracked by #208
ghost opened this issue Oct 29, 2021 · 1 comment
Closed
5 tasks done
Tracked by #208

Reduce replications call by avoiding notifying node movements chains #124

ghost opened this issue Oct 29, 2021 · 1 comment
Labels
core team Assigned to the core team DB Involve database feature New feature request mining Involve transaction validation and mining P2P Involve P2P networking self repair Involve SelfRepair mechanism serialization Involve message serialization transaction Involve transactions UI Invole user interface

Comments

@ghost
Copy link

ghost commented Oct 29, 2021

In the current scheme, during the transaction validation, we are building a node movements list to specify the rewards of the validation nodes and the involved storage nodes. However, this leads to send them the transaction to update their UTXO table and their balance.

The thing is, while this scheme is acceptable, we will end up to a lot of P2P messages and replications of the transaction which will alter the performance and the throughput of the network.
For example, if you are taking a network with 50 nodes, and if each shard is composed of 20 nodes, we will have to make 100 Replication messages just to reward the nodes, without counting the recipient and emitter storage pools.

So the idea is to drop this node_movements so you can reward nodes later from their availability using the BeaconChain aggregation from the list of summaries for all the subsets.

More details here: archethic-foundation/archethic-docs#3

This will involve:

  • Change the transaction structure and database field
  • Change the validation processing to avoid P2P communication
  • Remove the field from the UI and Graphql API
  • Remove node_movements UTXO mem table entries
  • Remove the UTXO type reward

Epic: #306

@ghost ghost added P2P Involve P2P networking mining Involve transaction validation and mining UI Invole user interface transaction Involve transactions serialization Involve message serialization DB Involve database self repair Involve SelfRepair mechanism labels Oct 29, 2021
@ghost ghost added this to the 1.0 milestone Oct 29, 2021
@ghost ghost self-assigned this Nov 8, 2021
@ghost ghost changed the title Reduce replications call by avoiding notifying node movements chains [Feature]: Reduce replications call by avoiding notifying node movements chains Dec 2, 2021
@ghost ghost removed this from the 1.0 milestone Feb 10, 2022
@internet-zero
Copy link
Member

Hey team! Please add your planning poker estimate with ZenHub @apoorv-2204 @blackode @imnik11 @roychowdhuryrohit-dev @samuel-uniris

@ghost ghost added the core team Assigned to the core team label Mar 11, 2022
@ghost ghost removed their assignment Mar 11, 2022
@ghost ghost changed the title [Feature]: Reduce replications call by avoiding notifying node movements chains Reduce replications call by avoiding notifying node movements chains Mar 11, 2022
@ghost ghost added the feature New feature request label Mar 11, 2022
@ghost ghost self-assigned this Mar 14, 2022
@ghost ghost closed this as completed Mar 15, 2022
This was referenced May 25, 2022
This was referenced Jun 27, 2022
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core team Assigned to the core team DB Involve database feature New feature request mining Involve transaction validation and mining P2P Involve P2P networking self repair Involve SelfRepair mechanism serialization Involve message serialization transaction Involve transactions UI Invole user interface
Projects
None yet
Development

No branches or pull requests

1 participant