<p>I had this issue in mind for months now (and obviously missed this suggestion). Anyways, here is what I would suggest:</p>
<h2>Proposal</h2>
<ul>
<li>bin up the data</li>
<li>create a "special" key for addressing bins</li>
<li>tie those bins to the application version</li>
</ul>
<h2>Example</h2>
<p>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.</p>
<h2>Discussion</h2>
<h3>Advantages</h3>
<ul>
<li>reduce the number of historical keys to be send to O(1) (right now, it is O(n), <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/users/stejbac/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stejbac">@stejbac</a>'s solution is probably O(ln(n))(?))</li>
<li>only touches trade statistics and account age witness objects (which are > 75% of all objects and growing)</li>
<li>no new fields needed in the protocol, thus, easier upgrade procedure</li>
<li>more robust? if a requestee does not know the "special" key, it just sends all the data</li>
<li>much simpler and therefore, easier to maintain compared to <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/users/stejbac/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stejbac">@stejbac</a>'s solution</li>
</ul>
<h3>Disadvantages</h3>
<ul>
<li>introduce a dependency on "time", ie. the bisq version</li>
</ul>
<h2>Aftermath</h2>
<p>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.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/bisq-network/bisq/pull/3896?email_source=notifications&email_token=AJFFTNVUPAYNKDWHCTUV66TRE7QKLA5CNFSM4KF5RFF2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENE42VA#issuecomment-592039252">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AJFFTNSOY3ZKJFYL7AKEOZLRE7QKLANCNFSM4KF5RFFQ">unsubscribe</a>.<img src="https://github.com/notifications/beacon/AJFFTNSJKBVAIM7JD4FA7F3RE7QKLA5CNFSM4KF5RFF2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENE42VA.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/bisq-network/bisq/pull/3896?email_source=notifications\u0026email_token=AJFFTNVUPAYNKDWHCTUV66TRE7QKLA5CNFSM4KF5RFF2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENE42VA#issuecomment-592039252",
"url": "https://github.com/bisq-network/bisq/pull/3896?email_source=notifications\u0026email_token=AJFFTNVUPAYNKDWHCTUV66TRE7QKLA5CNFSM4KF5RFF2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENE42VA#issuecomment-592039252",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>