<oembed><type>rich</type><version>1.0</version><author_name>npub1fldyzvpmt2yx6a4tu8asjpkrrn0xy3daht37549g7yzlrm65l7dsq94tkz</author_name><author_url>https://nostr.ae/npub1fldyzvpmt2yx6a4tu8asjpkrrn0xy3daht37549g7yzlrm65l7dsq94tkz</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2018-04-02&#xA;📝 Original message:Hi all,&#xA;I have a couple of ideas regarding transaction relay protocol and wanted to share it with and probably get some feedback.&#xA;&#xA;I did some emulation and simulation and found out that around 90% of INV messages sent by public-IP nodes are idle (duplicate), obviously because each node creates 8 connections.  I also realized that sending INV messages is a significant part of the overall bandwidth consumed by a public-IP node. At a larger scale, this will result in people not able to run a public-IP node.&#xA;&#xA;My idea is in some sense similar to BIP37 but applied to public-IP nodes. Here I want to emphasize that all the nodes will still receive *all* of the transactions. A new protocol should also keep the same zero-trust, robustness, decentralization guarantees and latency.&#xA;&#xA;Idea: while joining the network, a new node agrees on some filter with each of 8 nodes it connects to. So that NewNode &lt;-&gt; Node_A will be used to relay only a subset of transactions, NewNode &lt;-&gt; Node_B for another subset. This will significantly decrease the redundancy.&#xA;&#xA;To keep the guarantees, I would keep some redundancy (for example, each transaction INV is sent over 2 links).&#xA;&#xA;To make it robust to attacks, I have 2 extensions in my mind:&#xA;1. Set reconciliation (for a subset of transactions) with *other* nodes. Getting a bloom filter of a subset of the mempool transactions from Node_B may help to figure out whether Node_A is malicious, very slow, etc.&#xA;2. Rotating the filters every N minutes (N &lt; 10)&#xA;&#xA;I can see some issues with latency here, but I believe this problem has a solution.&#xA;&#xA;Feedback is appreciated!&#xA;&#xA;If you want to look at a draft of the proposal — please let me know.&#xA;If there were any similar ideas — please let me know.&#xA;&#xA;Best,&#xA;Gleb&#xA;&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20180402/a990f1dc/attachment.html&gt;</html></oembed>