[bisq-network/bisq] [WIP] Use keyset delta algorithm to speed up GetData requests (#3896)

Florian Reimair notifications at github.com
Thu Feb 27 16:07:01 UTC 2020

I had this issue in mind for months now (and obviously missed this suggestion). Anyways, here is what I would suggest:

## Proposal
- bin up the data
- create a "special" key for addressing bins
- tie those bins to the application version

## Example
By adding the info "I am Bisq v1.2.1" to the list of known objects, we know what objects the client has - namely, objects shipped with the data stores of v1.2.1.

## Discussion
### Advantages
- reduce the number of historical keys to be send to O(1) (right now, it is O(n), @stejbac's solution is probably O(ln(n))(?))
- only touches trade statistics and account age witness objects (which are > 75% of all objects and growing)
- no new fields needed in the protocol, thus, easier upgrade procedure
- more robust? if a requestee does not know the "special" key, it just sends all the data
- much simpler and therefore, easier to maintain compared to @stejbac's solution

### Disadvantages
- introduce a dependency on "time", ie. the bisq version

## Aftermath

please keep in mind this is by no means complete. There are some hidden efforts for sure. But as a general direction, that would line up with discussions and results of previous months.

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bisq.network/pipermail/bisq-github/attachments/20200227/39f33bf7/attachment-0001.html>

More information about the bisq-github mailing list