Weekly Dev Update #15

Hey Y’all,

Last week was our biggest release week so far- SERVICE NODES ARE NOW LIVE!

Service Nodes

Service nodes are now released! At time time of publishing this, there are 84 Service Nodes now running (https://lokiblocks.com/service_nodes) There have also been a number of pooled Service Nodes, and some even waiting for contributions.


LLARP / Lokinet

If you’re lucky and join our Discord, you might catch Jeff or Ryan, the developers of LLARP, live streaming as they code.

We want to give a special shout out to Despair, an open source contributor who has continued to update the porting Lokinet over to Windows (and improve BSD support).

  • We are looking for experienced sysadmins for running nodes that connect to our toynet. Please join the Discord room called Lokinet, and we can add you to the node operator role. You can host a hidden service or browse existing hidden services.
  • Progress continues on libllarp
    • Start MacOS tun support
    • Make linux tun code more feature complete
    • Made hidden service address to ip address mapping more stable
    • client/hidden services stabilisation (we were able to stream audio/video and post on websites)
    • Now config file location defaults to ~/.loki or you can specify the location to the config file
    • Several session, intro, introset, tuntap, DHT, and nodedb fixes
    • Correctly calculate TCP/IP checksums
    • Keepalive reimplementation and adjustments
    • Adjust path timeouts
    • Build fixes (Windows, Solaris, OpenBSD)
    • Logging juggling: removed some, added some
  • DNS library
    • Integrated hidden service mapping, so we can now resolve .loki addresses
    • Integrate DNS global IP tracker with tun endpoint code for better communication between systems
    • Use DNS to hint at what paths to prebuild
    • Adjusted timeout for linux
  • GitHub Pulse Stats for the last week: Excluding merges, 3 authors have pushed 102 commits to master and 102 commits to all branches. On master, 199 files have changed and there have been 13,454 additions and 7,454 deletions.
  • Most changes can be found at: https://github.com/loki-project/loki-network/
  • Current version: v0.2.2 https://github.com/loki-project/loki-network/releases/tag/v0.2.2
  • Compile helper (include assets, initial seed routers and dependencies) https://github.com/loki-project/lokinet-builder

Thanks,

Kee

Weekly Dev Update #14

Hey Y’all,

Last update before mainnet Service Node launch! It’s getting close now, so make sure you’re ready for when we fork on September 20th at block 101250.

Service Nodes


LLARP / LokiNET

If you’re lucky and join our Discord, you might also catch Jeff or Ryan, the developers of LLARP, live streaming as they code: https://www.twitch.tv/uguu25519 , https://www.twitch.tv/neuroscr

  • Released LokiNET 0.2.2: “first mostly working version” https://github.com/loki-project/loki-network/releases/tag/v0.2.2
    • New low-level wire protocol (libμTP: μTorrent Library), DHT network bootstrap, mde IntroSets expire.
    • We urge all lokiNET toy nodes operators to upgrade ASAP, as they’ll be unable to communicate as the network upgrades.
  • Progress continues on libllarp
    • Remove -march=native
    • Updated protocol documentation
    • Close session with invalid router contacts
    • Persist RC from lookups in nodedb
    • Handle updated RCs better, add RC removal from nodedb
    • Attempt to fix segfault on quit
    • Improved logging output
    • Gitlab CI fixes
    • IntroSet validation, expiration and republish refactors
    • Allow multiple tunnel interfaces
    • Tunnel interface fixes and packet info commit, remove queue
    • Improve packet discarding communication (so we can expire disconnected paths)
    • Connect to 10 random routers on startup
    • Improve μTP write pump to improve send rate
    • Fix memory leak on sign/encrypt fail
    • Update DHT nodes to include ones from disk
    • Try to reduce chatter on DHT
    • Up minimum routers to 4, default to 5 and make min/max configurable for path building
    • Verify path latency to have a minimum standard of 10s before considered dead
    • Refactor path state machine
    • Profile will track each routers connect timing history to guess best timeout for it
  • GitHub Pulse Stats for the last week: Excluding merges, 1 author has pushed 44 commits to master and 44 commits to all branches. On master, 176 files have changed and there have been 11,973 additions and 7,125 deletions.
  • Most changes can be found at: https://github.com/loki-project/loki-network/commits/master
  • Compile helper (include assets, initial seed routers and dependencies) https://github.com/loki-project/lokinet-builder

Loki GUI

Thanks,
Kee

Loki Service Nodes: Brief Functionality Overview

As Loki is the first Monero fork (and CryptoNote coin, by extension) to have an active implementation of Masternodes, we are staggering releases and adding features as we go. This is new territory and each change we make to the the Monero codebase must be extensively tested before release.

What Loki Service Nodes do in the short term? (Right now)

As part of the 1.0.0 release, Loki Masternodes (called Service Nodes) will have minimum functionality; they will store a full copy of the blockchain, and every hour they will publish an uptime proof, which is essentially a ping to the network letting the network know that they are still live. Nodes that have not submitted an uptime proof in 2 hours will be deregistered by voting quorums. Voting quorums are randomly selected sets of 10 nodes which vote on the state of the network every block.

Although the first implementation of Masternodes on a Cryptonote coin is a large move forward in the Masternode world, the major advantages that Service Nodes provide during this beginning stage will be greater privacy when transacting. However, Loki Service Nodes have larger plans ahead, and release 1.0.0 represents only the foundation.

In the Medium Term (3-6 Months)

In the medium term we are working towards making Service Nodes useful to the end user. This includes a couple of essential features:

  • Every Service Node will now be a remote node that serves the blockchain to users.
  • Every Service Node can now run tests and collect data on other Service Node performance; they can assess blockchain storage, bandwidth statistics, and provide message storage for Loki Messenger.
  • Based on these tests, Service Nodes can deregister any underperfoming node if the voting quorum reaches consensus.
  • Lokinet will be deployed on Service Nodes, along with the Loki Message server.

Adding these features to Service Nodes allows us to deploy our first end-user Loki Service called Loki Messenger. Loki Messenger (based on the Signal protocol) allows users to communicate more privately than ever through the first market-based Sybil resistant mixnet network, Lokinet.

In the Long term (6-12 Months)

In the long term Loki Service Nodes will need to have high capacity bandwidth connections to provide to the Loki network with routing data. Lokinet will become a fully fledged mixnet providing anonymous access to the internet, and will also have direct integration with browsers, providing an integrated solution for private messaging, internet access and finances .

Want to Know More?

Our Whitepaper details the technicals behind Loki’s network architecture and Service Node functionality, and our Cryptoeconomics paper provides an in-depth analysis on the economics around our Service Nodes.


 

Website

Twitter

Reddit

Bitcoin Talk

Telegram

Discord

GitHub

Weekly Dev Update #13

Hey Y’all,

Another weekly Dev Update for you to peruse.

Service Nodes

Over the weekend we will draft the final binaries for Service Nodes; this will include a hard fork height of (101250) ~September 20th. Thus we will begin the mandatory upgrade period for all Service Nodes. Be on the lookout for posts in the announcements channel on Discord or Telegram.

If you have enough Loki  and are planning to run a Service Node on the mainnet, there is still time to get hands-on and test by using the testnet guide here: https://github.com/loki-project/Meta/blob/master/SNFullGuide.m


LLARP / Lokinet

  • Progress continues on libllarp
    • Replacing IWP with curvecp (https://curvecp.org/) then replaced curvecp with libUTP
    • This should fix handshake problems and reduce the burden of developing our own UDP wire protocol
    • NEW DEPENDENCY: Start using libUTP (micro torrent protocol)
    • NEW LINUX DEPENDENCY: (debian: libcap-dev) for network namespaces
    • Some llarp::addr and interface utility improvements
    • LokiNetwork addressInfo and RouterContact helpers
    • An attempt to implement jemalloc
    • Valgrind some corruption out
    • Some hidden service address fixes
    • Get multiple routers from DHT
  • GitHub Pulse Stats for the last week: Excluding merges, 1 author has pushed 0 commits to master and 15 commits to all branches. On master, 223 files have changed and there have been 10,560 additions and 2,402 deletions.
  • All changes can be found at: https://github.com/loki-project/loki-network/tree/curvecp
  • Current version: v0.1.0 https://github.com/loki-project/loki-network/releases/tag/v0.1.0
  • Compile helper (include assets, initial seed routers and dependencies) https://github.com/loki-project/lokinet-builder

Thanks,
Kee

Weekly Dev Update #12

Hey Everyone,

We keep chugging forward with testnet this week, Lokinet is developing some more user friendly features, and a couple of developers are in Europe traveling for conferences so we have a smaller dev update this week.


Service Nodes


LLARP / Lokinet

If you’re lucky and join our Discord, you might catch Jeff or Ryan, the developers of LLARP, live streaming as they code. https://www.twitch.tv/uguu25519 , https://www.twitch.tv/neuroscr

  • Released LokiNET 0.1.0: “Traffic Correlation Nation”
  • Progress continues on libllarp
    • Start DHT refactor
    • DHT can ask for random peer list (explore packet)
    • Fix DHT feedback loop
    • Linux: Isolate networking into a cgroup (net namespaces)
    • Some file/path utiltiy functions
  • GitHub Pulse Stats for the last week: Excluding merges, 1 author has pushed 8 commits to master and 8 commits to all branches. On master, 57 files have changed and there have been 1,890 additions and 1,253 deletions.
  • Most changes can be found at: https://github.com/loki-project/loki-network/commits/master
  • Compile helper (include assets, initial seed routers and dependencies) https://github.com/loki-project/lokinet-builder

Thanks,
Kee