Hugin Messenger is a decentralized private messenger and social network for cryptocurrency payments. With it, you can communicate securely and make untraceable transactions without any trusted parties.

There are many private messaging services on the market today, but how private they really are is a point of debate, and you often have to take their promises at face value. Their systems are closed, or they have opaque distribution lines, such as Google Play or the Apple App Store(1) where you have to trust the developer’s abilities and intentions. Furthermore, centralized systems like Signal, WhatsApp, Facebook Messenger etc rely on the servers of specific companies, which can be subject to third-party coercion, which can lead to shutdowns, forced decryption of private messages, censorship, and abuse of power.

Centralized server structures, even when distributed, can fall prey to censorship. Authoritarian regimes that reject free speech, such as Iran, have censored Signal, leading Signal to obfuscate the origin of their servers with the Amazon-owned domain Souq.com. Amazon responded by threatening to shut down their AWS service, which could cause severe outages or, in the worst case, network outages (2).

To build a private messaging service that completely avoids these potential issues, the entire infrastructure of transport, storage, and client applications must be based on open source and decentralized technologies.

By being decentralized, the network is protected from being censored, taken offline, or otherwise unavailable, simply because there is no single point of failure - you would have to shut down every node in the network to effectively shut down the network, and even then, new nodes can always join the network.

Decentralization also provides another important prerequisite for privacy, namely permissionless operation. In traditional centralized systems, a central authority controls permissions and may force you to give up personal information to use the network. In a decentralized system, there is no such authority. Anyone can interact with the network at any time, and except for those who -- in Hugin's example -- manage the network, these are the same for all users.

Another positive feature of decentralization is that it can make certain businesses much less costly and, in turn, more scalable. For example, in Hugin Messenger you can make a peer-to-peer call, where data is transferred only between you and the recipient. In a centralized system, this call would be relayed through a centralized server, centralizing the entity's valuable resources, which in turn motivates it from the user's interaction with its service. It is feasible for such calls to be transcribed, analyzed, hopefully anonymized, and then sold as data for profit. Hugin is immune to this race as server costs increase, making it possible to make more profit due to the growth of the user base and the increase in data volumes. This is achieved simply because data is stored in a peer-to-peer network, i.e., most of the network is only between the affected parties - such as calls, file sharing, etc.

By opening the source code, users and experts can come together to scrutinize the source code to ensure it is secure and legal – a process that has been proven to create robust and reliable systems for decades(3).

Hugin Messenger also allows you to trade value with messages on the same protocol, without unnecessary fragmentation or complexity - in other words; Hugin is inherently a combined messaging service and tool for trading money with privacy first.

Function

Private Messaging

Hugin Messenger is a private messenger that uses military-grade encryption to protect messages transmitted over a kryptokrona encrypted peer-to-peer network. With the high-security encryption used in Hugin Messenger, encrypted messages can only be read by the sender and recipient. There is no middleman holding the master key, so no one can eavesdrop.

Private video and voice calls

With Hugin Messenger, you can make private peer-to-peer video and voice calls that beat mainstream services in video and audio quality and privacy.

File Sharing

Hugin Messenger allows users to send files of any size without any fees or restrictions, where files are sent completely peer-to-peer.

Social Network

Hugin also features public (and private) boards where users can discover new communities and users in a manner similar to social media platforms, but with the added benefit of being fully decentralized and permissionless.

technology

Blockchain

The base layer that Hugin Messenger runs on is the Kryptokrona blockchain. Kryptokrona is a cryptocurrency based on the CryptoNote protocol(4), which was first implemented by Bytecoin developers and further developed by TurtleCoin developers.

CryptoNote is a continuation of Satoshi Nakamoto's work, and it tries to improve some of Bitcoin's problems, such as miner centralization, lack of privacy, and Unlike Bitcoin, CryptoNote proposes to use ring signatures and stealth addresses to make transactions untraceable, which is necessary to keep Hugin Messenger private. In addition, CryptoNote provides us with an excellent P2P network that can be used to relay messages and transactions.

A simplified kryptokrona transaction consists of the amount of XKR to send, the address it is being sent to, who it is being sent to, and some optional extra data. With Hugin Messenger we simply put a small amount of XKR along with an encrypted message sent to the recipient's XKR address (see Figure 1).

hugin-figure

In the diagram above, Alice sends an encrypted message to Bob, which passes through the XKR node network, and when it reaches the node that Bob is currently connected to, he will try to decrypt it, and if he can, he has received the message.

A Kryptokrona node is something that anyone can host themselves on cheap hardware, such as a Raspberry Pi, which means that Hugin is a federated network where the transmission and processing of information is completely decentralized and independent of trusted parties or nodes.

Nodes do not know who the message or transaction belongs to, who sent it, or any other information about the content or nature of the information. This is achieved using the CryptoNote protocol combined with asymmetric encryption of the messages.

The online user will immediately receive a new message from the transaction pool of the current node that the user is connected to, without having to wait about 90 seconds for the message to be stored in the blockchain.

Transactions containing Hugin messages are ignored by nodes when creating blocks, and are periodically removed from node memory. When they are removed, the XKR used to send the message will be refunded to the sender and can be used again. In this way you "bet" coins on when the data you are sending will be published on the network.

Hugin Board works similar to private messaging, but instead of each user having their own wallet, board members are all subscribed to the same XKR address, and messages are sent to this shared XKR address instead of directly to another user's address.

There is also a distinction between private and public boards. Private boards, which are not encrypted, function as public forums. Private boards, on the other hand, are encrypted using a shared private key. The downside to this, compared to private one-to-one messaging, is that if any one person in the group is compromised, the entire group has been compromised.

NaCl

NaCl (pronounced "salt") is a new easy-to-use software library for high-speed network communications, encryption, decryption, signing, and more. The goal of NaCl is to provide all the core operations needed to build advanced cryptographic tools (5).

NaCl is a well-tested cryptographic library used by countless projects and has been audited with flawless results (6).

We use NaCl (specifically the TweetNaCl (7) JavaScript implementation) to protect each private message sent on Hugin, using NaCl's elliptic curve cryptography, which works by first performing a Diffie–Hellman key exchange, where a shared secret is exchanged by sharing each other's public keys, which are then used to compute a shared secret. The secret is in turn used to encrypt and decrypt messages, making them available to both holders of the common secret, and only them.

In practice, this is achieved by having users share their XKR addresses along with their public encryption keys. For the first exchange in a session, messages are sent using a sealed box, containing the sender's public key. This first message can be sent by the receiver without the receiver knowing anything about the sender. This is important because otherwise the sender's public key would need to be attached in plain text, which could be used to track users. With the sealed box in place, we can make these transactions identical to any other message on the network.

Subsequent messages are encrypted using the NaCl box, using the sender's private key and the receiver's public key.

For private boards, NaCl is also used, but in a different way. Where private boards use public-private key (asymmetric) encryption, private boards use simple private key (symmetric) encryption. In practice, this means that private board keys must be used on a private channel to remain secure, unlike public keys used for private messages which can be shared in public.

WebRTC

WebRTC (Web Real-Time Communication) is a free, open source project that provides web browsers and mobile devices with real-time communications (RTC) applications through a simple application programming interface (API). It enables audio and video communications that work within web pages by allowing direct peer-to-peer communication, without the need to install plugins or download native applications (8).

Hugin Messenger uses WebRTC to establish a direct peer-to-peer connection between users, enabling users to send data to each other in an off-chain manner. In order to establish such a connection, however, you first need to have a signaling exchange, i.e. an exchange of information about how to connect to each other.

In most other implementations of WebRTC, a central point is used to share this information, but Hugin simply sends this signaling data (SDP) as a regular encrypted Hugin message. When a WebRTC connection is established, large amounts of data can flow between users, making audio and video calls impossible to reasonably store on every node on the network.

BitTorrent

BitTorrent is a communication protocol for peer-to-peer file sharing (P2P), enabling users to distribute data and electronic files over the Internet in a decentralized manner (9).

Hugin Messenger can also send files of any size and distribute files to a large number of users by using BitTorrent.

BitTorrent uses magnetic links to link to files on its network. Simply send to another user and then have it downloaded by Hugins' built-in Bitterrent-Client, making file sharing seamless and fast even for the largest files.

OpenAlias

At its most basic, OpenAlias ​​is a TXT DNS record for an FQDN (fully qualified domain name). By combining this and other DNS-related technologies, we have created an aliasing standard that is extensible to developers, intuitive and familiar to users, and interoperable with both centralized and decentralized domain systems (10).

Hugin uses OpenAlias ​​to make it easier for users to share their details with each other, by connecting the user's Hugin address to a subdomain, such as hugin.xkr.se.

Another user can then use a standard DNS lookup to gain access to the address details, without needing to remember anything that closely resembles a standard email address, rather than a 163-character-long Hugin address.

Tokenology

Because Hugin requires users to stake XKR to interact with the service, this creates an incentive to buy, or mine, and hold coins. Every time you send an XKR, you are “stacking” your XKR message, even when messages are pulled from the transaction pool. The demand for XKR will increase with usage of the Hugin Messenger.

future

Hugin can be thought of as a protocol on top of HTTP, a decentralized "drop box" where you can publish anything for you and your friends or the entire community. The future goal is to bring a comprehensive API to developers, enabling the community to build decentralized applications on Hugin.

Such applications may include, but are not limited to, live recorded video and music streaming services, e-commerce services, trading services between XKRs using atomic swaps | The technology to implement the swaps is already available from the COMIT network (11).

To summarize: Hugin can be a scalable WEB3.0 protocol where developers can develop almost all services from the old web, but with the added benefits of decentralization, default privacy, and built-in payment capabilities, adhering to the next generation of applications such as Hugin and Kryptokrona.

Summarize

Hugin Messenger uses a range of useful technologies to implement a fully decentralized, and scalable solution for private online messaging as well as content publishing, economic tools that support tipping, shopping, content subscriptions, and more.

One of the main goals of the project is to make it easy for non-technical users to take advantage of secure encryption technology, and although it has been around for many years, the integration makes sense for companies that mine data as a key part of their business plans.

While it’s true that you can encrypt messages on any platform using tools like PGP, not everyone has the technical knowledge to use the options available. With Hugin we’ve automated this process and made it as simple as typing “Hello” and hitting enter.

Of course, a prerequisite for using Hugin is to have spendable XKR, but to use Hugin you need a very small amount of XKR, which can be mined today with your phone at night, and you can get your money back when it is cleared from the transaction pool.

At its core, Hugin Messenger is a resilient, secure, private, and untraceable messaging and transaction platform.

Currently, we have clients for Windows, macOS, and Linux available on GitHub(12), and an Android version is in development(13).