You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jun 11, 2024. It is now read-only.
Broadhash consensus should be greater than 50% for forging a block.
Actual behavior
Since in partial view of the network, a node can have a max of 20 outbound connections and 100 inbound connections. We take these peers (120 peers in total) into account to calculate broadhash consensus, there is a possibility that an attacker can start many malicious nodes and connect to a particular node in the network and manipulate its broadhash consensus. The worse case will be if the attacker knows the IP of any delegate then it can manipulate the broadhash consensus of that delegate by creating a lot of incoming connections and make him miss its slot to forge.
We can avoid it by only trusting the outbound connections and only use them for calculating broadhash consensus. Also, with a low(10 connections) outbound connection, there is a possibility that a node is connected to more than 10 malicious nodes that can also change its broadhash consensus. So we can use 40 or 50 outbound connections that will be big enough to avoid this kind of attack.
Steps to reproduce
Start a large number of nodes and connect to a node in the network.
Which version(s) does this affect? (Environment, OS, etc...)
v2.3
The text was updated successfully, but these errors were encountered:
Expected behavior
Broadhash consensus should be greater than 50% for forging a block.
Actual behavior
Since in partial view of the network, a node can have a max of 20 outbound connections and 100 inbound connections. We take these peers (120 peers in total) into account to calculate broadhash consensus, there is a possibility that an attacker can start many malicious nodes and connect to a particular node in the network and manipulate its broadhash consensus. The worse case will be if the attacker knows the IP of any delegate then it can manipulate the broadhash consensus of that delegate by creating a lot of incoming connections and make him miss its slot to forge.
We can avoid it by only trusting the outbound connections and only use them for calculating broadhash consensus. Also, with a low(10 connections) outbound connection, there is a possibility that a node is connected to more than 10 malicious nodes that can also change its broadhash consensus. So we can use 40 or 50 outbound connections that will be big enough to avoid this kind of attack.
Steps to reproduce
Start a large number of nodes and connect to a node in the network.
Which version(s) does this affect? (Environment, OS, etc...)
v2.3
The text was updated successfully, but these errors were encountered: