0x-mesh
                                
                                 0x-mesh copied to clipboard
                                
                                    0x-mesh copied to clipboard
                            
                            
                            
                        Improve ordersync protocol
The current implementation of the ordersync protocol is naive and could be improved. Some changes to consider are:
- Request orders from multiple peers in parallel.
- Drop providers that are slow, apparently malicious, or just don't have the orders that we're looking for.
- Implement new subprotocols which are more efficient (e.g. using a cuckoo filter to avoid receiving orders we already know about).
- Partitioning the space of possible order hashes and asking each peer for different partitions. E.g., ask peer A for orders with hashes between 0x00and0x80and ask peer B for orders with hashes between0x81and0xff.
Related to https://github.com/0xProject/0x-mesh/issues/803.
https://github.com/0xProject/0x-mesh/issues/824 could also help with this.
https://github.com/0xProject/0x-mesh/pull/848 implements option (1) from above. It requests orders from multiple peers in parallel, meaning slower peers have reduced impact.