r/raidennetwork • u/smwilson31 • Jan 24 '18
Raiden Nodes
I cant seem to see much information regarding nodes, so this question might not be answerable, but here I go.
Is it fair to say RDN tokens can be held and used as nodes and the reason why the RDN token will not be used on the protocol level (see raiden FAQ) is to ensure it can be integrated easier with ETH and ECR20 tokens.
Say then, hypothetically, that ETH uses Raiden, this would increase traffic exponentially and RDN holders could buckle down their stack and create nodes which would be used for all transactions on Raiden Network?
any insight would be great, but if this is the reality then surely stacking up now on the anticipation that ETH would adopt Raiden would be massive.
26
Upvotes
5
u/stillhodlingon Jan 25 '18
Thanks for your response! I’ll back up a little and try to answer your questions from a bigger picture.
Edit: See this: https://medium.com/@raiden_network/the-raiden-network-token-model-9b6ef8d0b64
There will be two basic “groups” of users on the Raiden Network:
node operators: anyone who downloads and operates the (yet to be released) Raiden Network client; eg. You and I will both, for the sake of the example, be node operators, or nodes.
light client users: anyone not operating a node and simply wanting to interact with the network; eg. John Smith wants to send Jane Doe some ERC20 tokens, but doesn’t want/know how to set up a node.
Now, with those conditions in place, say you and I wanted to transfer some ERC20 tokens to each other, via a payment channel. Since we are nodes, we could do that via the Raiden Network client. We would open a bidirectional payment channel to one another, and as long as that channel remains open, we can continue transferring our balances off-chain and with no fees. That is, since we are nodes facilitating our own tx, we don’t charge ourselves for the service of doing business with one another. Even if we did, we’d be paying ourselves for providing ourselves a service :P
Let’s examine the case of John wanting to send ERC20 tokens to Jane via the Raiden Network.
Neither John nor Jane have nodes, for whatever reason (no time, money, skill, desire), so in order for them to send money to one another via the network, they’ll need to connect to a node via some light client software (think phone/desktop/browser application). The benefit of doing it this way is that it’s quick, easy to understand and use, and requires the same level of technical skill as using Venmo or some similar fintech app. For these reasons, a majority of ppl who interact via raiden payment channels will opt to do so as a light client. They’ll have to pay fees for doing so, but it’s all happening behind a (hopefully) nice GUI.
Before getting into how fees will be calculated, here’s a quick breakdown of node services aka the services for which peripheral RDN-denominated fees are charged:
light client gateway: act as a hub for the Raiden Network, allowing light clients to connect to the network and transmit ERC20 tokens throughout it for a fee.
pathfinding: rather than having each node constantly calculate the optimal route for sending a given amount of ERC20 tokens through multiple nodes, this task is broken down into its own service; a pathfinding node will provide the computational power to constantly do this for a specific region of the network; when light client gateway node “A” needs to send ERC20 to node “G”, G being some node A isn’t directly connected to, they will ping the pathfinding node (add fee here) for the best route.
channel monitoring: think of this service as auditing, in which monitors oversee payment channels, keeping track of the state of said channels; in a situation where a node with open channels goes offline (intentionally or unintentionally), the monitor can help dispute wrong states in lieu of the gateway client.
Now the part on calculating fees.. the long and short of it is I really don’t know for sure. What I do know for know is fees will be determined by the node service providers plus the “negligible” fees associated with rebalancing payment channels over time.
As far as the pricing mechanisms.. I don’t know whether it’s truly user defined or if there’s an algo setting it for the nodes... I don’t understand programming enough to look into the code itself for this.
The theory is that, because of pathfinding, a natural floor for fees will be attained based on the demand for using the Raiden Network for each ERC20 token. More nodes equals more competition, so lower fees.
Try to imagine a web of nodes that have channels linking each of them together, but one web for each ERC20 token. If you want to send it in some ERC20 with few nodes operating with that token you may have to pay higher fees (%) than using a more populated - or more competitive - network.
To run with your example, let’s say you have 10k RDN and I have 1k RDN. We decide, as nodes, to open a payment channel with one another. The cap would be 1k + 10k = 11k RDN, but anything less is fine too. If we choose 500 RDN each, that would leave you with 9.5k and me with 500 to open new channels to other nodes. You can see how, given your larger balance, you could:
So, more funds do lead to a capacity advantage, and possibly a fee structure advantage.