archethic-foundation / archethic-foundation/archethic-node

NetworkView hash does not represent transaction view

Offen
#1,663 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
bug P2P
Vorherrschende Sprache
Elixir
Sterne
82
Forks
24
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

### Describe the problem you discovered

NetworkView is a hash of different data (mainly network chains last transaction address) aiming to ensure validation nodes have the same network view of the network chains.
But this hash is updated directly when a network transaction is replicated while the data represented by the transaction may be applicable in future.
For example the node shared secret transaction will update the network view hash directly but the application of this transaction is delayed to a specific date (00:00 for instance).

So it is possible that a welcome node get the network view hash just before replicating the node shared secret transaction and send the Start Mining message to validation nodes. The validation nodes receive the message after replicating the node shared secret transaction and so the hash will be different. Therefore the validation nodes will not start the validation and the welcome node will forward the transaction.
But in fact this node shared secret transaction would not affect the transaction and so the validation nodes could have validated the transaction.

This example does not cause any problem, but if part of the validation nodes start the validation and other does not it could create issue when the welcome node forward the transaction.

### Describe the solution you'd like

The network view hash should be computed based on the transaction validation time and get the same information as the validation nodes will do.
The network hash could even hash not the transaction addresses but directly the information them self. (To analyze)

### Epic

_No response_

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne damit, die Berechnung des NetworkView-Hashes und die Behandlung der Transaktionsvalidierungszeiten zu lokalisieren, und vergleiche anschließend beides mit den von Validierungsknoten verwendeten Informationen. Als abgeschlossen gilt, dass verzögerte Transaktionen den Hash vor ihrer Validierungszeit nicht verändern und Knoten übereinstimmende Netzwerkansichten berechnen; die Alternative, Transaktionsdaten direkt zu hashen, muss weiterhin analysiert werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
elixir
Bereich
blockchain, distributed-systems
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.