LiskArchive / lisk-sdk

🔩 Lisk software development kit
https://lisk.com
Apache License 2.0
2.72k stars 456 forks source link

Add eager push mechanism to ensure that blocks and transactions propagate quickly #3345

Closed shuse2 closed 5 years ago

shuse2 commented 6 years ago

SCOPE

This issue depends on how https://github.com/LiskHQ/lisk-sdk/issues/3344 is implemented, it's possible that it may not require additional work. The goal of this issue is to make sure that we do not lose propagation time after having implemented lazy push.

Description

In our current system, we adopt an eager push mechanism: new information like blocks are directly pushed to a subset of the peers. We are going to use eager in the cases where it suited more according to LIP0004.

Transaction Propagation: Removal of eager push as it's not as time critical as blocks.

Signature Propagation: Unchanged (stick to eager push as already present in current protocol)

Block Propagation: New valid blocks are forwarded via a postBlock message to 16 randomly chosen connected peers while at least 8 postBlock messages are sent via outgoing connections

jondubois commented 5 years ago

Also related to Block Propagation; according to the LIP we should remove the relay limit.