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

Feature/proposal request optimization v2 #1971

Merged
merged 32 commits into from
Apr 8, 2022

Conversation

iceseer
Copy link
Contributor

@iceseer iceseer commented Mar 13, 2022

Description of the Change

Proposal traffic optimization example:
Given 2 Nodes(A and B).
When B is used as OS and proposal creator. Than A should make a proposal request.
Before this request A makes a local proposal(PA). And saves it's batches hashes in Bloom-filter(BA).
Than A makes a proposal request to B with round data and BA.
B receives request and makes it's local proposal PB with Bloom-filter BB.

Knowing BA node B can determine the batches which are not present in PA. It forms response with this batches, BB and hash of PB.

A received the response using BB can determine batches which it has in PA but not present in PB. A repacks it local proposal with new batches from response and batches that remained in PA. After that A compares the hash of new PA with hash from PB. If they are equal it proceed processing. If not, A sends a request with empty BA and takes a full proposal in response than can be processed, but it is a very rare situation(about 0.01 % cases).

Since Bloom-filter can be false positive. We use result hash comparison and full proposal request mechanics.

Signed-off-by: iceseer <iceseer@gmail.com>
Signed-off-by: iceseer <iceseer@gmail.com>
Signed-off-by: iceseer <iceseer@gmail.com>
Signed-off-by: iceseer <iceseer@gmail.com>
Signed-off-by: iceseer <iceseer@gmail.com>
Signed-off-by: iceseer <iceseer@gmail.com>
Signed-off-by: iceseer <iceseer@gmail.com>
Signed-off-by: iceseer <iceseer@gmail.com>
Signed-off-by: iceseer <iceseer@gmail.com>
Signed-off-by: iceseer <iceseer@gmail.com>
Signed-off-by: iceseer <iceseer@gmail.com>
Signed-off-by: iceseer <iceseer@gmail.com>
Signed-off-by: iceseer <iceseer@gmail.com>
Signed-off-by: iceseer <iceseer@gmail.com>
Signed-off-by: iceseer <iceseer@gmail.com>
@iceseer iceseer force-pushed the feature/proposal_request_optimization_v2 branch from 1155f8a to 44accbb Compare March 20, 2022 10:10
iceseer and others added 8 commits March 24, 2022 10:23
Signed-off-by: iceseer <iceseer@gmail.com>
Signed-off-by: iceseer <iceseer@gmail.com>
Signed-off-by: iceseer <iceseer@gmail.com>
Signed-off-by: iceseer <iceseer@gmail.com>
Signed-off-by: iceseer <iceseer@gmail.com>
Signed-off-by: iceseer <iceseer@gmail.com>
Signed-off-by: iceseer <iceseer@gmail.com>
@iceseer iceseer force-pushed the feature/proposal_request_optimization_v2 branch from 3e637bf to 9176378 Compare March 25, 2022 07:58
@iceseer iceseer force-pushed the feature/proposal_request_optimization_v2 branch from 6893bc7 to e647289 Compare March 28, 2022 12:04
Signed-off-by: iceseer <iceseer@gmail.com>
@iceseer iceseer force-pushed the feature/proposal_request_optimization_v2 branch from e647289 to 2ec9855 Compare March 28, 2022 16:40
Signed-off-by: iceseer <iceseer@gmail.com>
@iceseer iceseer force-pushed the feature/proposal_request_optimization_v2 branch from 0bce3b0 to 4954fa4 Compare March 28, 2022 19:31
iceseer and others added 3 commits April 7, 2022 09:39
Signed-off-by: iceseer <iceseer@gmail.com>
Signed-off-by: iceseer <iceseer@gmail.com>
@iceseer iceseer merged commit 9c60b40 into develop Apr 8, 2022
@iceseer iceseer deleted the feature/proposal_request_optimization_v2 branch April 8, 2022 07:21
iceseer added a commit that referenced this pull request Apr 8, 2022
* bloom filter

Signed-off-by: iceseer <iceseer@gmail.com>
Signed-off-by: Alexander Lednev <57529355+iceseer@users.noreply.github.com>

* transport with BF support

Signed-off-by: iceseer <iceseer@gmail.com>
Signed-off-by: Alexander Lednev <57529355+iceseer@users.noreply.github.com>

* txs diff complete

Signed-off-by: iceseer <iceseer@gmail.com>
Signed-off-by: Alexander Lednev <57529355+iceseer@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants