I'm still trying to understand the difference and the reasons to use client vs lp node with the dex.
as an LP node, your node will become a peer but will only be able to be a maker and not a maker and taker like the client nodes can
each node has a pubkey and of course an ip address, but only the peer networking is using ip addresses of the LP nodes
the orderbook is pubkey based, so each offer has the offer details and the pubkey
in order to enable client nodes that have no known ip address to the network to talk to each other, I made a forwarding service that the LP nodes provide
each node registers their pubkey/ipaddr to one or more LP nodes. After that, that LP node will respond positively to a lookup command when asked about a pubkey it is forwarding to. So, there isnt much ip privacy, but at least your ip address isnt posted on all the orderbooks and is mostly limited to the LP nodes. however since anybody can be an LP node, do not rely on any actual ip privacy. if you need that you need to take separate measures. Since there is no ip privacy guarantee, during the atomic swap process, the two nodes that are trading do establish a direct ip connection. Well it is using nanomsg so only the offering side is posting their ip address, but essentially it is direct ip link. Which means it is fast and reliable, only if one of the nodes disconnects will there be an issue
..Snip..
Due to the efficient nature of the peer network, it has a memory of all the peers, utxos and prices. Short of stopping all LP nodes at the same time, this memory will stay intact. This is good but it could be bad if some things that should be forgotten are not.
From this it seems that the lp node is faster than the client, pays no dex fee -the client does, but has to put up 13% more per order than the client.
The lp broadcasts its ip address to others whereas the client only broadcasts to a single node. Ie: client is more anonymous
Its unclear to me if you will always need to dl each coin or if basilisk will work as a light wallet for each coin. Is the basilisk lpnode or client node? Not having to dl each coin would be huge.
Also it is unclear of why the client can be a maker taker and the lp node just a taker. How is the lp node supposed to make the spread?
It seems that the lp nodes are harder to setup, require coins to be downloaded and require your node to stay on and act as a server and require the extra %13 to be held but don't necessarily get enough perks for running one vs a client. Maybe im wrong.
It would be helpful to discuss scenerios or strategies that would use one vs the other.
Thanks.
It is a matter of testing resources. I am having to validate all combinations and currently we have LP <-> client and client (as maker) <-> client (as taker). Adding LP nodes as taker will double the test cases to validate and the idea is that if you are running an LP node, you are setting a profit margin and keeping it funded. If you want to trade, just do it from a client node. Presumably people who are able to run LP nodes will be able to have a second node available.
I think you are a bit confused about market making... To make the spread, takers need to fill both your bid and ask. For example, you have an ask order to sell at price X and it is filled. Now to balance that sell you need to buy at a price below X. Since your order filled, we can assume there are few if any asks at a price lower than X. So what do you propose, to sell to the highest bid? In this case you increased your short side exposure by doubling your sell. So, a marketmaker can make a market by posting bids and asks that get filled by the takers
I think most people will run client nodes and that is fine, but anybody can run an LP node to help the network if they want. For now it is better if I am the only one who runs them as I am updating them at the protocol level as I add new capabilities and it is faster to do if I can update all the LP nodes myself. As things stabilize, it will be less of an issue and better that LP nodes are spread across the world.
Currently, I am seeing networking issues with non-unix OS, so I might have to create additional relay services that the LP nodes provide, maybe eventually that will be monetized, but for now LP nodes are more work and there isnt much incentive to run one. So just run a client node. The important thing is that we have people posting bids and asks that the pure client nodes can fill.
Oh, I made a new account as I am on a different notebook now. I will still use the original jl777, but also the jl777B as is convenient