Nimiq

A Frictionless, Censorship-Resistant Payment Protocol Native to the Web

Executive Summary

What is Nimiq?

Nimiq is a decentralized, censorship-resistant payment protocol native to the web, with its own diverse ecosystem of apps. The native NIM token is transacted within Nimiq as a store and transfer of value: it acts as digital cash. The cutting-edge, browser-first blockchain approach means that users directly connect to the blockchain with nothing more than a browser. Therefore anyone with an up-to-date browser can join the payment network directly, pay and accept payments without having to install software or rely on unnecessary intermediaries. This gives Nimiq its ‘it just works’ characteristic, which is further strengthened by an ethos of simplicity and ease of use. NIM is designed to be a cryptocurrency used by the masses.

Nimiq’s Mission & Vision

Revolutionizing money by realizing the full potential of cryptocurrency. While Nimiq itself as a tech-focused project is dedicated to ushering in a new era of independent and censorship-resistant digital cash, the Nimiq Ecosystem aims to bring universal access and the ease of use of NIM to both the tech-savvy and typical Internet users. All efforts are guided by an overarching philanthropic mindset such that as NIM is increasingly adopted, its charity’s ability to support good causes will grow.

Project Status

The Nimiq Mainnet was launched on April 14, 2018 and the payment protocol is fully operational. Nimiq’s browser-first blockchain has been deployed and streamlined for the web. All user interfaces are focused on simplicity, maximizing ease of use, including onboarding, easy address verification, and a simplified backup process. Nimiq is also home to a growing ecosystem of apps, and has dedicated significant efforts to advance blockchain and crypto adoption research. Nimiq has acquired a stake in German WEG Bank to secure a licensed ally in implementing the first version of the Open Asset Swap Interaction Scheme (Nimiq OASIS), while diversifying project assets. The project offers active support and advice to community developers, as well as limited seed funding for qualifying community projects.

Resources

Collaborations & Grants

Research Publications

  • Albatross: An optimistic consensus algorithm
    A technical research paper resulting from Nimiq’s collaboration with Trinkler Software. It is a new PoS consensus algorithm that is able to achieve a performance close to the theoretical maximum for a single chain.
  • Nimiq OASIS
    The Open Asset Swap Interaction Scheme is the blueprint for a potentially disruptive crypto-to-fiat bridge, making fiat currency behave as if it were tokens on the blockchain, providing a unique way of connecting the traditional banking network with non-custodial crypto exchanges.

Motivation

Cryptocurrency as a valid concept has been confirmed by the growth and persistence of Bitcoin since its launch in 2009. More than just a technical idea, it laid the foundation for a disruptive means of transacting value not seen before in the history of humankind, by allowing “payments to be sent directly from one party to another without going through a financial institution”* . This brilliant concept has fostered a grand ecosystem with a broad range of ideas and technical solutions.

Cryptocurrencies still represent only a small fraction of the global money supply. And much of their adoption so far has been driven by centralized services that hold your crypto assets for you (centralized crypto exchanges, payment providers, etc). We are therefore still far away from the goal of crypto mass adoption, even more so in its original peer-to-peer, non-centralized sense. The reasons centralized solutions appeal to users seem to be convenience and ease of use, as they employ the same interaction patterns we became familiar with by using online banking. This familiarity in turn leads to a feeling of safety. But this convenience and feeling of safety come with a serious trade-off: giving up the ownership of your keys to a third party, violating what is considered to be the most fundamental reason for the creation of cryptocurrencies in the first place.

In light of these facts, Nimiq recognizes an enormous opportunity. Namely to pursue and deliver the most accessible and easy-to-use but also censorship-resistant and decentralized payment solution for mass adoption. Nimiq seeks to achieve this by researching, implementing and combining cutting-edge technologies from:

  • Cryptocurrencies,
  • Cryptography,
  • Blockchain technologies,
  • Peer-to-peer networks,
  • Distributed ledger technologies,
  • Web development,
  • Usability,
  • User experience,
  • Human psychology and behaviour.

Design Approach

Web apps have become the standard of the Internet and are disrupting business models of traditional software industries. From Encarta to Wikipedia, from Office to Google Docs, web apps are far more attractive because they improve the overall usability of software for the user:

  • No installation needed: Users can open a website and start using the application with one click.
  • Cross-device compatibility: By focusing on the browser instead of each specific OS and device, a more coherent codebase is achieved, which translates into stability and a consistent experience across devices for the user.
  • Built-in security and privacy: Browsers are one of the most secure, tested and audited pieces of software. Providing untampered client-side software that runs in the user’s browser allows for inherently secure and private applications.
  • Intuitive: By tapping into the user’s familiarity with their browser it is possible to create a smooth and easy-to-use user experience that ‘just works’.
  • Future-proof: Web apps are a clear long-lasting trend in software development, since the web has become ubiquitous even in developing countries.

Crypto for Everybody

Even though there are obvious advantages in using cryptocurrencies and holding your own funds, it is clear and understandable that non-tech-savvy users are drawn to convenient and easy-to-use payment methods.

Nimiq learned from commercial payment providers that, frictionless payments are the key for user adoption, especially as they directly influence the perceived safety and trustworthiness of a system. In other words, a payment system that is intuitive and frictionless makes users feel much more confident about trusting this system with their money.

Looking at the history and origins of cryptocurrencies, it is logical that the focus was on tech-savvy users. Over decades, the primary objective was solving tremendously challenging research and engineering problems in the realm of cryptography, distributed ledgers, and network communications. At such an early stage it was out of scope to consider streamlining blockchain technology towards user experience and daily payments on the web.

Powered by the knowledge we now hold and in deep gratitude for the hard work of crypto pioneers, we are now standing on the shoulders of giants. Nimiq is working on outperforming the convenience of conventional payment services with an enhanced user experience that is intuitive through simplicity , whilst providing the privacy and censorship-resistance of decentralized cryptocurrencies to create a novel payment experience. This is the Nimiq Payment Protocol, embedded in the Nimiq Ecosystem.

Open Source and Developer Accessibility

Nimiq is encompassed by a strong philanthropic mindset, it is open-source and aims to become entirely community-driven.

Team Nimiq is a tech-focused team with a deeply rooted open-source mentality. The project’s source code is released to the public on the official GitHub repository to encourage peer review and interaction with developers. The project’s main focus is to enable the most accessible, censorship-resistant payment solutions. This intrinsically means that Team Nimiq works to provide the framework and tools for developers to further build applications that tap into the Nimiq Payment Ecosystem. To guide and support developers on this journey, Nimiq provides the Nimiq Developer Center

Browser-First Blockchain

It is already possible to pay online with crypto. Through intermediaries. But the heart and soul of crypto is to make ourselves as independent as possible from third parties and intermediaries.

Simplicity means bringing crypto and blockchain technology to where the user already is: online, on the web. Instead of offering payment services for the web, Nimiq is a blockchain and payment protocol native to the web offering any form of payment, be it online, in a shop, or between friends, as long as the device is connected. Being a browser-first blockchain means paying becomes as simple as browsing a website: no apps, no plugins, completely installation-free. It works on all devices that come with a browser, from desktops to mobile phones.

To achieve this vision, two major challenges needed to be overcome. First, the core blockchain components had to be translated to the web platform, including:

  • Network for establishing P2P connections
  • Storage for persisting keys and blockchain data
  • Cryptography for hashing, signing and verifying

In addition, the protocol had to be adapted to the requirements and constraints of the web:

  • Compression of blockchain data to sync within seconds instead of hours
  • Blockchain parameters optimized for the browser

Blockchain Streamlined for the Web

There are two types of nodes in the Nimiq Network: Backbone Clients and Browser Clients . Both types use the same isomorphic JavaScript codebase but a high-performance Rust implementation of the Backbone Client is available as well. While Backbone Clients are doing most of the heavy lifting supporting and securing the network, the Browser Clients are the ones who are making Nimiq native to the web but also introduce all the constraints that need to be addressed to achieve a blockchain streamlined for the web.

Network

Backbone Clients run on servers and desktops. They communicate with each other via the WebSocket protocol, and act as entry points and signaling servers for Browser Nodes to establish browser-to-browser WebRTC connections.

Browser Clients are built using the features of the latest browser engines, supporting the latest version of Blink (Chrome, Brave, Opera, Edge), Gecko (Firefox) and WebKit (Safari). They connect to the network by initially establishing a WebSocket connection to at least one Backbone Node before initiating secure browser-to-browser connections using the Backbone Node as signaling server. Once the connection is established, Browser Nodes can also act as signaling servers for further browser-to-browser connections.

Storage

Browser Clients use the IndexedDB to store blockchain data and encrypted keys on the user’s hard drive. By default, IndexedDB has a limited capacity. Depending on the browser engine, that might be a fixed amount of only 5MB on mobiles or a percentage of the disk space available. Given the space constraints as well as the overall limited memory on mobile devices, compression mechanisms are used to reduce the amount of information that a browser needs to download and store in order to achieve consensus and become an operational node of the network. By contrast, Backbone Clients on Node.js and Rust rely on LMDB which has no size constraints.

Connectivity Constraints

Nimiq combines three techniques to reduce the amount of data a client needs to download, speeding up the time to consensus and reducing the bandwidth and storage being used. An Accounts Tree provides easy access and verification of all account balances at a given block without the need for access to the entire chain as with UTXO. In addition, the use of Non-Interactive Proofs of Proof-of-Work (NIPoPoW) makes it possible for a small number of blocks – and in some case even only the block headers – to suffice to verify the current state and reach consensus. Combining this with an optimistic approach, allows reaching consensus with just a few hundred kilobytes of data, with a fallback to a few megabytes in case of conflicts. More details in the “ Compression” section below.

Scripts

Simplicity is the best formula when building a secure payment system, and simplicity means no scripting language . Nimiq’s core feature is fast and secure payments. Nimiq intentionally does not have a scripting language, because projects such as Ethereum already focus on the smart contract problem. Nimiq is not trying to compete in this field. Instead, the goal is to be compatible with other blockchains so that Nimiq users who want to use advanced smart contract features are able to do so. Such cross-chain compatibility is achieved by supporting Atomic Swaps. To enable atomic swaps as well as off-chain transactions capabilities such as the Lightning Network , Nimiq supports Hash Time Locked Contracts (HTLC) as part of the protocol.

In addition, to allow NIM to be locked in and released at a certain time* , Nimiq supports Vested Contracts as part of the protocol as well. To prove Nimiq’s long-term commitment, funds for Team members, creators, early contributors, the Nimiq Foundation, and the Nimiq Charity Foundation are vested as described in “ Nimiq Supply Distribution”.

The protocol design allows further contracts to be added on demand in the future.

Nimiq Blockchain

Accounts and balances are stored in a Merkle-based accumulator. Non-Interactive Proofs of Proof-of-Work allow for super lightweight nodes where consensus can be established in seconds, even on mobile devices. Argon 2d is Nimiq’s latency-bound PoW algorithm; Ed 25519 Schnorr signatures secure transactions, and Hierarchical Key Derivation allows a practically unlimited number of accounts to be generated from the same seed. Currently, there are two implementations of the protocol: one written in JavaScript and another in Rust. For the JavaScript implementation, cryptographic primitives are optimized through WebAssembly in the browser, and C++ in Node.js.

For a general overview of Nimiq within the crypto sphere, please refer to the table below. Besides Nimiq as currently running, the team is also working on Nimiq 2.0 to be released in 2020. Some aspects of Nimiq 2.0 are still to be announced (TBA).

General Bitcoin Ethereum Nimiq Nimiq 2.0
Primary use-case Store of value, censorship-resistant payments Distributed computing platform, smart contracts Accessible and censorship-resistant payments
User interaction App or website relying on a third-party service/gateway or installing your own node Installation free web-app that runs your own light node inside your browser
JavaScript bindings Yes, but require third-party gateway Yes, natively Yes, natively
Onboarding time
(non-custodial wallet)
Several minutes Several minutes Less than 2 minutes Less than 20 seconds
Tech. Specs Bitcoin Ethereum Nimiq Nimiq 2.0
Maximum supply 21 million BTC infinite 21 billion NIM
On-chain transactions per second 7-15 up to 25 up to 12 1000+
Average block time 10 minutes 15 seconds 1 minute seconds
Current average TX fee 0.10 to 0.20 USD 0.14 - 0.28 USD 0 USD for up to 10 TX per block and sender N/A
Light node sync download size tens of megabytes hundreds of megabytes ~1MB TBA
Consensus algorithm PoW based on SHA256 PoW, planned to be switched to PoS PoW based on Argon2d TBA
Mining CPU, GPU and ASICs CPU, GPU and ASICs CPU and GPU TBA
Smart contracts Scripts, not Turing-complete Programmable, Turing-complete HTLC + Vesting HTLC + TBA

Nimiq Supply Distribution

The Nimiq Network has been designed for a total supply of 21 Billion NIM. The smallest unit of NIM is called Luna and 100’000 (1e5) Luna equal 1 NIM, which results in a total supply of 21e14 Luna, identical to Bitcoin’s 21e14 Satoshi. The NIM are distributed as follows:

  • 88% Miners Reward (mined over ~100 years)
  • 5% Token Sale Contributors
  • 2.5% Long-Term Project Endowment Foundation (10-year vesting)
  • 2% Good Cause Partnerships and Sponsorships (10-year vesting)
  • 1.5% Early Contributors (6-month vesting)
  • 1% Creators (3-year vesting)

When launching the Mainnet on April 14, 2018, the first 721 blocks totalling 3’176’435.57 NIM (0.00015% of the total final supply) had been mined and burned to NQ07 0000 0000 0000 0000 0000 0000 0000 0000* . This was done to prevent several problems associated with a low difficulty in the network, such as multiple chain forks, orphaned blocks, and possible malicious attacks. The NIM were burned so as not to adversely distort the NIM stakeholder distribution.

Below, a schematic graph of total supply, block reward, and inflation.

Parameters

  • Block time: 1 minute
    inspired by the results of On the Security and Performance of Proof of Work Blockchains
  • Block reward: Dynamic, inspired by Monero, based on the following formula
    blockReward i = (totalSupply - circulatingSupply i-1) >>> k
    The remaining supply is divided by constant factor, represented by the bitwise shift, resulting in a smooth curve. With k=22 and a constant tail emission of 4’000 Luna starting at block 48'692'959 the total supply will be reached in approximately 100 years.
  • Max block size: 100kB
  • Difficulty adjustment: At every block based on a 120 block window
  • Total supply: 21B Coins divisible by 100k

For a more in-depth explanation, please refer to the developer reference.

Compression

As a blockchain streamlined for the web , Nimiq must minimize the amount of data necessary for web users to achieve consensus.

The following methods are built into the Nimiq Blockchain to reduce the amount of data a browser client needs to download in order to achieve the key functionality of a decentralized payment system: reach consensus, check balances, validate received transactions, and send transactions.

Accounts Tree

Bitcoin is using Unspent Outputs (UTXOs) to keep track of balances for each address. Instead of using UTXOs, Nimiq manages balances separately in a hash tree structure called the Accounts Tree, which contains the balances of all non-empty addresses. The root hash of the tree is stored in each block header.

Inspired by Ethereum, Nimiq uses a Patricia Merkle Tree to store balances for all accounts that are not empty. For each new block, this Accounts Tree is updated, and the new Merkle root is stored in the header of the block to ensure consistency and agreement between nodes.

In more detail, Nimiq’s Accounts Tree fulfills the definition of a Vector Commitment , a cryptographic primitive closely related to Accumulators. A Vector Commitment allows to commit to an ordered sequence of values, or in our case a sorted list of addresses and balances (for brevity, "accounts" in this section). Moreover, one can open the commitment at specific positions to a unique value, i.e. provide a proof for a certain account. These proofs are logarithmic in the total number of accounts. Additionally, the Vector Commitment is dynamic and supports updating not only the tree but also the proofs when adding and removing accounts.

The dynamic Vector Commitment properties bring in an additional storage benefit to the nodes: they do not necessarily need to store the complete list of accounts and their balances. In theory, users could be required to store their own proofs, keep them updated, and send them together with any transaction they want to carry out. In practice, nodes would still store most accounts, except, for example, long-inactive ones or potential spam accounts only created to inflate storage. Proofs of such accounts can still be reconstructed from the blockchain at any time or could be served by special history nodes.

NIPoPoW

NIPoPoW is a technique that allows consensus to be achieved faster by downloading only a portion of the entire blockchain. During the mining process, some block hashes are randomly harder than others. Using Non-Interactive Proofs of Proof-of-Work (NIPoPoW) the client can rely on these particularly hard blocks to verify the state of the blockchain and the latest version of Accounts Tree without needing to download the entire blockchain. This way, even as the blockchain grows larger, the size of the sample used grows only logarithmically. This technique is used by Browser Clients to achieve consensus faster.

Consensus

One of the advantages of the Nimiq’s Browser Clients is that they are able to achieve consensus* on their own, without having to trust information provided by any third party. This brings to the table a level of censorship-resistance on a par with cryptocurrencies such as Bitcoin, which, despite having SPVs* available, always require a predefined third party node to broadcast transactions. The Browser Client will in turn contact any Full Node on the network and is able to verify the data received, for example its own balance and whether transactions have been mined.

To allow Browser and Backbone Clients to reach consensus in various constraint environments, several browser APIs and compression techniques are being used as described in “ Blockchain Streamlined to the Web”. To suit each environment, multiple consensus levels are available and each consensus level defines a Node Type.

An easy way to understand the different Clients or Node Types is to have a look at “ The most simple web application on top of the Nimiq Blockchain ”.

Node Types

Full Nodes

Full Nodes download the full blockchain and therefore require a significant amount of storage* This node type should be used solely with Backbone Clients, although, theoretically, it could run in a browser as well.

Light Nodes

Light Nodes use NIPoPoW to determine the current blockchain head state and then download the Accounts Tree. This node type securely syncs to full consensus by downloading about 100MB in total. However, after initialization, it behaves like a Full Node. See “ Compression” for details.

At the present time, Team Nimiq is working on an improved light node that only downloads the parts of the Accounts Tree required to process current transactions and blocks.

Nano Nodes

Nano Nodes are the preferred node type for Browser Clients, since they require less data to be downloaded (~ 2MB) in order to establish consensus.

Similar to light nodes, they determine the current state of the blockchain using NIPoPoW, but then only download block headers and the minimal amount of information related to its own accounts. Once the correct state has been worked out, i.e. consensus established, account balances can be cryptographically proven to this type of node.

Pico Nodes

Similar to the Nano Node, the Pico Node uses the Accounts Tree and account proofs. But instead of syncing block headers using NiPoPoW, it will first test if all its peers are on the same head hash (or a neighboring hash) and, if that is the case, it will accept that head as the correct one. This is also referred to as an optimistic approach. Only if it receives incompatible head hashes will it fall back to nano consensus.

The pico consensus is the latest development and is expected to replace the nano consensus as new default as soon as it’s fully established.

Seed Nodes

Seed Nodes are a common component of peer-to-peer networks. In the Nimiq Network, the Seed Nodes are Backbone Nodes set up specifically with one task in mind: serving as the entry point to the network (see “ Network”). Team Nimiq provides a list of dedicated signaling Backbone Nodes called Seed Nodes to ensure users have a reliable entry point to the network. To maintain a decentralized architecture, Community Seed Nodes are also available and maintained by community developers.

Nimiq’s official Seed Nodes implement the following security and high availability measures:

  • Load balancing to reduce load due solely to handling network requests
  • Architecture is scaled according to load
  • Seed Nodes are distributed around the globe
  • Load balancer and node servers are in close proximity to reduce latency
  • Rust-based implementation highly improves network throughput.

A list of Nimiq Community Seed Nodes is publicly available in a community-maintained repository. Community members are supported and encouraged to host Seed Nodes.

Nimiq Payment Ecosystem

All apps in the Nimiq Payment Ecosystem are built with ease of use in mind. Having a close bond with the community, Team Nimiq’s vision is to enable the community to create amazing apps using the Nimiq Blockchain and supports developers in doing so with the Nimiq Community Funding Board.

User Experience

A good and professional user experience is rare amongst blockchain projects. Technical knowledge and crypto-specific language are often required, rendering many solutions inaccessible to most potential users. As a result, it limits those solutions to the crypto sphere. Recognizing this significant barrier to entry for the average person, Nimiq is not only aiming to improve usability in the crypto sector but also to provide a user experience that exceeds fintech industry standards by utilizing the advantages of being browser-first. The intuitive user experience is an essential part of Nimiq and vital to translating the technical capabilities of the protocol into real-world value.

The aspiration to create the most accessible and easy-to-use blockchain payment system influences every decision. The most remarkable design choices steered by a usability-focused approach are:

Fast and Easy Onboarding

The entry point for new users is designed for speed and simplicity and does not require downloads or personal data. By leveraging the browser-first nature of Nimiq, new users can create an account with only three clicks.

Successfully onboarded users are presented with a round trip through the ecosystem, focusing on the essential aspects of Nimiq: A small amount of NIM is dispatched to the newly created Account, which can then be spent at a webshop showcasing the Nimiq checkout experience.

Usability and Safety

More demanding user tasks, such as backing up the account, are not forced on users when they get in touch with Nimiq for the first time. Instead, this task is context-bound and only required later, when the Account actually holds value and the user is intrinsically motivated to do so, thus increasing usability without compromising safety. The backup can be performed by downloading a password-protected Login File, providing an alternative form of backup to the cold storage (writing down) of the Recovery Words (24-word mnemonic seed).

Visual Identity

Focusing on simplicity and ease of use, Nimiq is built on an serene foundation: traditional colors, a minimal, geometric sans-serif font, and common layout patterns. We strive not only to push the boundaries of technology, but also the way we design our experiences and touchpoints, adding that bit of sophistication and edge that we believe makes the difference between convenience and fascination.

Nimiq is an open-source project that encourages developers to take part in the journey. Instead of dictating the way how the Nimiq ecosystem looks or feels, the intention is rather to provide the essence of our vision, stripped down to the very core, so that there’s enough room for others to fill it out with their own ideas. To create a resilient visual foundation for Nimiq itself and for the community, we have gathered input from community members and conducted interviews with key stakeholders and the team from which we derived a common understanding of Nimiq as a brand: The Nimiq Style Guide.

Usable Denomination

A common hassle for users of cryptocurrencies is denomination. Time has shown that even if the mathematical value remains the same, 1.9 mBTC is easier to handle than 0.0019 BTC. This slight change in denomination creates a positive visual effect that we deem important for mass adoption of a cryptocurrency.

Considering this and inspired by Bitcoin, the total supply of NIM is 21 billion—21e9 NIM, shifted by a factor of 1’000 compared to Bitcoin—reducing the gap between minimum and maximum unit. The minimum unit of NIM is called a Luna and 100’000 Luna equal 1 NIM. This makes the total supply of NIM equivalent to 21e14 Luna, matching the total supply of Satoshis in Bitcoin.

Addresses and Identicons

Addresses for Nimiq Accounts follow the International Bank Account Number format (IBAN). While this allows for frictionless integration with established payment providers in the future, it most importantly improves usability, as each IBAN has a built-in integrity check to prevent typos and is easier to read thanks to the standardized formatting. Each Nimiq Address starts with the code “NQ” followed by two characters defining the checksum for the remaining 32 characters, which are the actual address.

In addition to typos, clipboard hijacking has become a more common issue. In both cases the user will lose their funds if they are not able to verify the address. Nimiq has improved the concept of identicons to create Nimiq Identicons, or “Nimiqons” for short. These are an easy-to-describe visual representation of a Nimiq address that allows users to visually verify that the address they intended to use is the one being used. This increases both the safety of the system as well as its usability. Furthermore, the Nimiqons turn a formerly dry and 'lifeless' address into a social and fashionable item that creates a wider sense of belonging.

Each Nimiq Identicon has a background color and four different body areas: bottoms, faces, sides, and tops, each with a distinct color. In total, Nimiqons are made up of a combination of 21 elements for each body part, 9 body colors, 10 background colors and 8 colors for parts.

That means 10 ✕ 9 ✕ 8 ✕ 21⁴ = 140’026’320 different Nimiqons can be generated. A slight change like a typo, or a replacement by malware will radically change the look of the associated Nimiqon. The highly differentiated and instantly recognizable Nimiqons look like this:

Every Nimiqon comes with a suggested label making it easy to describe.

Nimiq Safe & Nimiq Hub

Payments should be frictionless, regardless of the device being used. Nimiq Safe and Nimiq Hub provide an interface comparable to your online banking but with a decisive difference: It does not run on a server controlled by a third party. Instead, all data is stored locally, never leaving your device. Furthermore, usability and user experience are optimized for a smooth flow and do not depend on the platform or operating system being used. While Nimiq Safe is the place where you can view your transaction history and balances, Nimiq Hub handles and stores a list of accounts, i.e. an address with a label, but never the keys. The keys are stored in a dedicated, highly secure location, such as a hardware and/or software wallet (i.e. Ledger, Nimiq Keyguard, etc). The Hub is positioned in front of the various key storage solutions, providing a unified interface for users to manage all their accounts that might be associated with multiple keys from multiple locations. Thus, the user will always see the same, familiar user interface wherever they make a payment.

To get started, a user can import existing accounts and create new ones. When requesting to send a transaction or a payment, Nimiq Hub is the interface where users are able to select the source account from which to move NIM funds, add a note for the recipient, or cancel the request altogether.

The concept of simplicity reaches all the way to the developer. Nimiq is making it easy to integrate payments by making it as simple as adding a JavaScript library. All major platforms and recent browsers are supported. Our Hub API supports both, async/await function calls and traditional top-level redirects with callback. At the same time, an ecosystem of wrappers and full integrations via plugins and modules is continuously growing.

The implementation of both Safe and Hub are, of course, open source and can be run self-hosted. They are intended to be an example for best practices and we encourage others to build their own solutions, enriching the Nimiq Ecosystem.

Supported Wallets

Following the principle of simplicity, the Nimiq Keyguard is a software wallet solution to get new users started instantly. It is optimal for day-to-day transactions, and while maximum care is taken with respect to security, the Keyguard is not intended to replace a hardware wallet when it comes to holding larger funds.

The first hardware wallet supporting NIM is the popular Ledger Nano S. Ledger’s security maximizing approach is ideal for larger amounts and may also function as a cold wallet.

The first multi-coin wallet supporting NIM is Binance’s Trust Wallet mobile app. The integration was contributed by Nimiq Community developers.

Keyguard

Making things easy for the user to get started is crucial for onboarding new users and promoting wider adoption. For many users who are new to crypto, writing down 24 words and ensuring that they are in the correct order is a serious effort and a task that can prove too technical for many regular internet users just starting with cryptocurrencies. In particular, the initial step of asking users to get a pen and paper can feel archaic or intimidating, and can prevent users from trying out Nimiq spontaneously. To consider asking a first-time crypto user to set up a Hardware Wallet is out of the question.

Instead, the Nimiq Keyguard is a software wallet living entirely in your browser and is set up during the onboarding process. The Keyguard exclusively handles your private keys locally on your device. The entire process is streamlined to be smooth, short and simple. You create your account, set a password and are ready to go.

It is not necessary to write down your mnemonic phrase; all that can be done later. As soon as a user has gained a natural interest in Nimiq and, by holding NIM, also an intrinsic motivation to secure their funds, they will be glad to do the backup. In addition, the Nimiq Ecosystem apps will kindly remind the user.

The convenience is underpinned with strong security measures. Your private keys are stored locally, fully encrypted in the private storage of your browser, hosted on its own, secure origin, isolated from other websites. Besides the mandatory Security Considerations, to ensure the maximum security of your keys, the Keyguard is engineered with special security measures in place:

  • It is entirely free of external dependencies, making sure that a changing or even malicious dependency cannot corrupt the behaviour of the Keyguard. This includes the build process of the app from its source code - it is a simple reviewable script.
  • Each update to the source code is independently reviewed by at least two other developers in the team.
  • Each potential new version is first deployed to the testnet for user testing by developers in the team and members of the community.

Login File

Avid users of cryptocurrencies are familiar with the complexity and potentially intimidating process of handling private keys and the need to write down and safely store mnemonic phrases on a non-volatile analog format, i.e. a piece of paper or steel in an airtight, fire-resistant container. Every time a private key is used in a raw format, there is a risk of it being stolen by a malicious party. To increase usability and safety, Nimiq provides the option of using a Login File that contains a password-encrypted version of the private key of an Account. This is formatted as a QR code and presented as an image file for the user to download and backup. This method allows users to easily store their private keys while still being able to use the 24-word representation as a secondary recovery method.

In collaboration with Trinkler Software, this concept has been standardized as ImageWallet, so that the same format can be used for other cryptocurrencies and as a general means of authentication.

Security Considerations

One of the main advantages of cryptocurrencies over fiat* is that the user has complete control over their funds. This means that security of the software through which users control their funds is crucial. Several members of Team Nimiq are exceptionally knowledgeable about cybersecurity due to their background and scientific research experience at the Center for Information Security (CISPA) in Germany. Before a new software release is published to the Nimiq Mainnet, it follows a strict audit process described in this section.

In general, code is written in feature branches and reviewed as pull requests. For it to be merged into the master branch, independent approval from at least one additional team member is required (in some cases, such as for the Keyguard, two approvals are required). Before the major release of particularly security-relevant parts, such as the Keyguard and Account Manager, code audits will be performed by developers outside the team that wrote the code. In a last step, the code enters the scope of the Bug Bounty Program for continuous public hardening.

Core-Specific Build Procedure

When a new release is ready, it is built within special-purpose, virtual machines where binary packages for Linux (Debian, Red Hat, and derivatives) and Windows are created. Afterwards, the packages are tested by installing them from scratch on clean systems as well as by upgrading to the new version in systems that already have the previous version installed. Finally, the packages are signed and committed to their respective deployment repositories, tagged with a signed tag, and signed by one of the team members.

Frontend-Specific Build Procedure

Before a new release is deployed, it is built and tested locally for correctness. It is then signed, committed and pushed to the deployment server. Finally, when a release is ready, it is approved for deployment by being marked with a signed tag. The Keyguard will require a tag signed by two members as soon as it is in production.

Deployment Procedure

The deployment server checks the prerequisites and replaces the old version with the new version. There is no server side build process or run time code execution; the server only serves static files.

The deployment procedure is first carried out on testnet servers to test the new version on a live system. If deployment is successful and the release is approved, the procedure is rerun on the mainnet servers.

Besides deploying apps and publishing binary packages on Nimiq’s servers, libraries are built from the master branch and published as packages to the npm registry by a team member.

As an additional layer of security, Nimiq has been working with HackerOne since early 2018 and set up a US$200’000 Bug Bounty Program to incentivize security researchers and professional white hat hackers to look for vulnerabilities in the code and infrastructure of our network.

As part of this program, people who find and report a successfully exploitable bug in Nimiq's most security-critical code can earn as much as US$20’000 for discovering critical vulnerabilities.

Before adding code to the scope of the Bug Bounty Program, it is first reviewed by several team members who were not involved in writing it. Each member will provide a short report and solutions will be discussed in meetings to resolve any issues. Only after the source code has passed internal testing does it become part of the HackerOne Bug Bounty Program.

Peer-to-Peer Fiat-Crypto Bridge

Nimiq believes that in order to achieve mass adoption, the emerging crypto ecosystems will benefit from collaborating with the traditional financial system in complementary ways, providing freedom of choice. Cryptocurrencies provide a degree of censorship-resistance never seen before in the history of humankind. However, traditional centralized financial institutions are currently used and trusted by most people in the world.

Nimiq has made a solid step in this direction by setting out to develop the Nimiq Open Asset Swap Interaction Scheme (OASIS), a middle layer that allows fiat currency to understand and interact with blockchain logic. In its first version, this innovative approach focuses on making Euro (USD, etc) bank accounts the programmable counterparty to non-custodial cross-chain transactions. In simple terms it means that in a non-custodial (Atomic Swap) transaction to buy or sell crypto, the counterparty can now be a fiat account holder.

With Nimiq OASIS already in development, the plan is that the first real-world transactions powered by it will be facilitated by WEG Bank AG on the banking side and a DEX* or market making entity on the non-custodial crypto exchange side. In the spirit of decentralization, following an introductory period, OASIS will be open for other Banks and DEX to tie in.

WEG Bank AG is a fully licensed German private bank catering to corporate accounts and has recently started widening its scope in a way that selectively approaches the crypto space. After a successful collaboration process, Nimiq partnered with WEG bank and acquired a minority stake in the bank. As a result of this partnership and acquisition, Nimiq has new means of interacting with the traditional financial system . An example is Nimiq OASIS being able to leverage the SEPA instant banking network through WEG Bank. Combining Nimiq OASIS, WEG Bank and a DEX like Trade Telegraph would enable customers at any of the 2’000+ banks in 20 EU countries* that are part of the SEPA instant network to exchange value between crypto and fiat systems. DEX Crypto-to-fiat swaps for NIM / BTC / ETH powered by Nimiq OASIS are targeted to become available by the end of 2019 / early 2020.

Making the Vision a Reality

Team Nimiq

In true blockchain spirit, Nimiq has a decentralized, horizontal team structure. Valuing quality over quantity, Nimiq consists of highly qualified, freelancing team members, cutting out the need for complex hierarchies and bureaucratic overhead. Areas of responsibilities belong to one or multiple team members who collaboratively work on them:

  • Core
  • Frontend
  • UI/UX
  • Communication & Marketing
  • Infrastructure
  • Documentation
  • Operations

Areas of additional external services include:

  • SEO
  • Press
  • Legal & Administration
  • Localized Community Managers

A detailed description of team members is available on the team page.

Nimiq Foundation

The not-for-profit Nimiq Foundation was set up to support the ongoing development and progress of the Nimiq Blockchain and Ecosystem.

The Nimiq Foundation was donated 2.5% of the final NIM token supply, the equivalent of 525'000'000 NIM. The Nimiq Foundation receives those tokens via a ten-year vesting contract (NQ09 VF5Y 1PKV MRM4 5LE1 55KV P6R2 GXYJ XYQF), securing the longer-term use of those funds. It also oversees the allocation of project funding contributions from the Token Event of Nimiq Network Ltd. The US-based Nimiq Foundation is governed by a board of seven members who are re-elected every two years. The board president is elected annually by the board. While to date the board has consisted of team members involved with the project since its inception, the longer-term vision is to broaden the governance and include community members as Nimiq’s reach and the Nimiq Ecosystem mature to reflect the decentralized and global spirit as much as possible.

Milestones Achieved

2017

June

November

December

2018

February

April

May

June

September

October

November

December

2019

January

February

March

April

May

June

August

September

Milestones Ahead

2019

Q3

  • Nimiq 2.0 Whitepaper
  • Widget to accept donations in NIM

Q4

  • Testnet for Nimiq 2.0
  • Testing of Nimiq OASIS
  • Nimiq checkout with NIM/BTC/ETH and EURO directly into merchant's bank account via OASIS (first tests of full roundtrip)
  • Nimiq single-sign-on (Nimiq ID)

2020

  • Full release of Nimiq OASIS, enabling easy NIM-fiat exchange
  • Nimiq Checkout integration with larger online merchant
  • Innovative multisig features for Nimiq Safe:
  • We are currently researching and exploring this topic to derive concrete applications and features
  • Nimiq 2.0 Mainnet including upgrade of all Nimiq apps
  • Recurring payments
  • Considering: Synchronized contact book
  • Considering: Encrypted private key synchronization service

Nimiq 2.0 and Proof-of-Stake

Since its conception, Nimiq was intended to switch to a Proof-of-Stake algorithm to achieve an energy-efficient blockchain system. Nimiq is investigating the next steps to improve and further evolve the Nimiq protocol, with the aim of fulfilling our goals of being energy conserving and scalable for global adoption. Research so far has led us to evaluate the potential move from Proof-of-Work to Proof-of-Stake using the Albatross consensus algorithm (research publication: “ Albatross: An optimistic consensus algorithm"). Although not yet finalised, this change would drastically reduce energy consumption while increasing the speed of blockchain transactions per second from ~12 to over 1’000. This would push the throughput rate to the theoretical maximum of a single chain system and reach levels supported by centralized major commercial payment providers. Evaluation and a Testnet implementation are ongoing.

Albatross: An optimistic consensus algorithm

Classic Byzantine-fault-tolerant (BFT) algorithms provide consensus in distributed systems while considering a limited number of malicious or Byzantine actors. One of the most prominent examples of such an algorithm is PBFT (used by the Tendermint cryptocurrency).

Speculative BFT algorithms are an advancement over standard BFT algorithms. They allow for drastic performance increases in the event no malicious actors are present. This is the so-called optimistic scenario. In the event Byzantine actors are present and try to tamper with the protocol, others will notice and switch the protocol into its slower and more conservative mode, offering the same security guarantees as standard BFT protocols.

Thus, in the best case scenario, optimistic consensus algorithms are able to perform much better than classic ones. During an attack scenario, optimistic algorithms still have a performance similar to standard ones.

Social Awareness

Crypto Adoption Research

Nimiq is passionate about exploring and evaluating potential pathways for mass adoption of cryptocurrency. Efforts include helping communities that are challenged by their financial infrastructure or monetary system in meaningful and responsible ways. Ideally it should open up the possibility of creating entirely new human and economic development models powered by crypto. These efforts led to Nimiq sponsoring TotalCrypto.io to create a crypto adoption proposal.

The first result of this sponsored research effort was an extensive Crypto Adoption Proposal, which can be viewed on CryptoAdoption.io. This initial research is entirely open content and anyone is encouraged to leverage this work to help develop their own crypto adoption methodologies as well as to improve the proposal. As such, the Crypto Adoption Proposal is a living document. In a next step Nimiq plans to evaluate potential case study candidates.

Adoption Research Overview

The Crypto Adoption Proposal put forward by TotalCrypto.io focuses not only on crypto adoption but also fostering wealth creation in the targeted area supporting its sustainability. The proposal advises drawing on the expertise and collaborating with academics, charities, and entrepreneurs to help refine, execute and enhance the academic value of the potential case study.

The current proposal comprises three components:

  • A local exchange: To enable locals to swap crypto to fiat and vice versa. Additionally, this can also act as a cryptocurrency information center.
  • Geo-targeted crypto airdrop: This would act as a one-off stimulus package for the area.
  • Incubator: Focuses on promoting local economic growth by supporting locals with the know-how, tools, and resources to build online business and participate in the digital economy in a more meaningful way.

The ultimate goal of Nimiq’s crypto adoption research is to create a scalable blueprint for crypto-powered human development and adoption, which is backed by the execution of a tangible case study, the academic community, and other key groups. Most importantly, any research or data from Nimiq’s crypto adoption efforts would be open source, as a wider contribution to the crypto, charitable and academic communities.

Nimiq is looking to commission crypto adoption case studies to evaluate potential locations and communities that could serve as initial roll-out internally, before making an assessment on whether and how to proceed.

Charity

Charity was built into the spirit and life-blood of Nimiq from day one. The team decided to set aside 2% of the final NIM token supply (420'000'000 NIM) for projects of high social and/or ecological impact. Nimiq wants to make sure that there is a counter-piece to the natural resource burden that securing blockchain initially with PoW entails, as well as manifesting a payment protocol that, through simply using it, will at least indirectly support good causes. As with the Nimiq Foundation, the ImpactX Foundation was set up to receive those donated funds via a 10-year vesting contract (NQ19 YG54 46TX EHGQ D2R2 V8XA JX84 UFG0 S0MC), securing the longer-term use of those funds and patience to build up its value over time. The US-based ImpactX Foundation is a not-for-profit, registered charity, governed by a seven-member board, currently matching the board of the Nimiq Foundation. This correlation is not necessarily expected to persist as the work of the charity and the qualification to steer it will likely differ in the future. The plan is to open its oversight to members of the community as Nimiq’s reach and the Nimiq Ecosystem mature. The board will determine when the value of NIM held by ImpactX reaches a point where making a donation can make a difference without excessively draining its potential for additional grants. ImpactX plans to help fund projects that drive the vision of more sustainable societies, i.e. giving a chance to outstanding individuals, groups, and organizations in this virtuous pursuit.

Community Project Funding Board

Nimiq is passionate about being inclusive and empowering people to make a difference. To that end, Nimiq has created and sponsored the Nimiq Community Funding Board. Community members can submit project proposals to the Board requesting for assistance or limited seed funding in the following categories:

  • Security audits, technical advice, and UI/UX design by Team Nimiq
  • Application Hosting
  • Miscellaneous costs required to create an MVP* or, in the case of a not-for-profit project, costs to maintain the project

The rules for the Community Board are simple:

  • The Community Funding Board is made up of six members: Three community representatives and three from Team Nimiq
  • Project funding proposals will be granted if more than 50% of the board accepts the funding proposal
  • The Board meets at least every two months and discusses received proposals
  • All decisions made by the Board are made public in a post on Nimiq’s blog
  • The Board members are replaced every six months

Up-to-date information about projects and proposals can be found in the Nimiq Forum.

Conclusion

Solving real-world scaling problems is one of the most important issues that various projects in the space are working on solving. Without a scaling solution, it is almost impossible for the current crypto payment technology to be widely adopted. But while a lot of effort has gone into improving scaling and speed of blockchain technology with very promising results (including the Albatross consensus algorithm), we are convinced that the limited adoption of cryptocurrencies is not only related to technical shortcomings.

Team Nimiq sees two driving forces behind adoption:

  • Delivering usability and value incentives for average consumers in economically developed countries to switch from their familiar ways of payment
  • Accessibility in countries with failing fiat currencies and financial infrastructure or a high number of unbanked people.

Additionally, crypto payment systems are struggling to bridge the gap between traditional banking and cryptocurrency ecosystems. Currently, the two ecosystems can be viewed as separate islands where it is not possible to directly and trustlessly transact value between the two. The research blueprint for Nimiq OASIS could provide the foundation for convenient and low-cost value exchange.

This whitepaper provided insight on how Nimiq is addressing these four angles: scalability, accessibility, usability, and interoperability. Nimiq aims to outperform traditional payment providers in terms of both convenience and costs, without falling back to centralized, closed platforms and services. Saying this, we see the greatest potential in identifying and addressing payment problems faced by consumers and businesses in both economically developed and less developed countries. Armed with this knowledge we would encourage migration to the Nimiq payment system with near zero-fee cross-border transactions combined with the convenience of a simple user experience and user-flow to enable barrier-free value exchange that is open to everyone. Nimiq is unique in furthering the essential features and ideals of cryptocurrency and blockchain technology by allowing users without prior technical knowledge to run a node in their browser with just the click of a button. Not using the network, but becoming part of it. Packaged in a beautiful, easy-to-use and well-documented ecosystem of applications, Nimiq stands for sovereignty of the individual, censorship-resistance, self-determination, and freedom of choice: the true spirit of cryptocurrency.

Create your account. Join the community. Find out more on nimiq.com.