archethic-foundation / archethic-foundation/archethic-node

NetworkView hash does not represent transaction view

オープン
#1,663 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
bug P2P
主要言語
Elixir
スター
82
フォーク
24
PR マージ指標
30日以内にマージされた PR はありません

説明

### 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_

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

まず NetworkView のハッシュ計算とトランザクションの検証時刻の処理を特定し、次にその両方を検証ノードが使用する情報と比較します。遅延したトランザクションが検証時刻より前にハッシュを変更せず、ノードが一致するネットワークビューを計算できれば完了です。トランザクションデータを直接ハッシュ化する代替案については、引き続き分析が必要です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
elixir
領域
blockchain, distributed-systems
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。