bosagora / agora

POC Node implementation for CoinNet
https://bosagora.io
MIT License
37 stars 22 forks source link

Nominator: Nominate hash of the Tx set instead of set of TX hashes #3211

Closed omerfirmak closed 2 years ago

omerfirmak commented 2 years ago

as the load on the network increases we get bigger and bigger envelopes since we need to communicate more TX hashes. Furthermore, more TXs in the network means more unique values nominated because of desync pools across different nodes.

So our network traffic increases worse than linearly, compared to the increase in TX count we are trying to externalize.

So instead of nominating Set!Hash for tx set, we should be nominating a single hash of the whole TX set and allow peers to download that TX set from us.

Geod24 commented 2 years ago

So instead of nominating Set!Hash for tx set, we should be nominating a single hash of the whole TX set and allow peers to download that TX set from us.

But with a Set!Hash we can do set reconciliation (take the common subset), something which we can't do with a single Hash.

omerfirmak commented 2 years ago

So instead of nominating Set!Hash for tx set, we should be nominating a single hash of the whole TX set and allow peers to download that TX set from us.

But with a Set!Hash we can do set reconciliation (take the common subset), something which we can't do with a single Hash.

We will have a copy of the TX set it represents at hand tho, so we can do anything we did before. Just think of it as if it was a pointer. We just wont be transmitting same hashes over and over again in every envelope.