Service Nodes Overview¶
Although Loki implements novel changes on top of the CryptoNote protocol (ASIC Resistance, Dynamic Block Size & Static Ring Signatures), much of Loki’s networking functionality and scalability is enabled by a set of incentivised nodes called Service Nodes. To operate a Service Node, an operator time-locks a significant amount of Loki and provides a minimum level of bandwidth and storage to the network. In return for their services, Loki Service Node operators receive a portion of the block reward from each block.
The resulting network provides market-based resistance to Sybil attacks, addressing a range of problems with existing mixnets and privacy-centric services. This resistance is based on supply and demand interactions which help prevent single actors from having a large enough stake in Loki to have a significant negative impact on the second-layer privacy services Loki provides. DASH first theorised that Sybil attack resistant networks can be derived from cryptoeconomics. As an attacker accumulates Loki, the circulating supply decreases, in turn applying demand-side pressure, driving the price of Loki up. As this continues, it becomes increasingly costly for additional Loki to be purchased, making the attack prohibitively expensive.
To achieve this economic protection, Loki encourages the active suppression of the circulating supply. In particular, the emissions curve and collateral requirements must be designed to ensure enough circulating supply is locked and reasonable returns are provided for operators to ensure Sybil attack resistance.
Methods to Setup a Service Node¶
We support three different mechanisms of managing the loki service node suite:
|Loki Launcher||Using loki-launcher to download, start, monitor, and manage service node components. Has built-in updating capabilities for new releases. Requires nodejs.|
|Legacy - Apt Repository||Installing debs via apt repository which installs and runs the components via systemd. Updates via the system package manager(apt). Requires Ubuntu or Debian.|
|Installing and Configuring Manually||Installing and configuring manually. This is more involved than the above, and requires manual configurating and updating of each component.|
Service Node Activities¶
Right now Service Nodes are full nodes on the Loki network. Full nodes become Service Nodes when the owner locks the required amount of Loki and submits a registration transaction. Once accepted by the network, the Service Node is eligible to win block rewards. Multiple participants can be involved in one Service Node and can have the reward automatically distributed.
It is also worth noting that Service Nodes are quite basic at the moment, and operators will need to stay up to date with new updates to keep in line with software and hardware requirements. Once all of the updates are out, Service Nodes will also offer the following Loki Services:
Route end user’s internet traffic, either as an exit node or relay in a novel mixnet
Receive, store and forward encrypted user messages
Monitor other Service Nodes and vote on their performance
Be called into quorums which give them authority over instant transactions (Blink)
Act as remote nodes for users
Once these features come out, Service Node operation will require better servers, particularly when it comes to bandwidth.
Guides & Resources¶
|Service Node Setup||How to host and maintain a Service Node using the Loki-Launcher and CLI wallet.|
|Service Node Setup - Advanced||How to host and maintain a Service Node using the CLI wallet.|
|Updating your Service Node||How to update your Service Node version.|
|Loki Dashboard||See statistics, data, maps and other information on the Loki Service Nodes.|
|Service Node RPC||How to use JSON 2.0 RPC Calls with Service Nodes.|
|Active Service Node List||Loki Block explorer showing the current Service Node Pubkeys.|
|Setup Video Guide||Video Guide on how to setup a Service Node using the CLI Wallet.|
|Staking Requirement Calculator WEB||Webpage showing Staking Requirement at current Block Height.|