[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:
https://github.com/bisq-network/bisq/pull/3896#issuecomment-592039252
-------------- 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