Public alpha

NIMmesh

How it works

A mesh is other people. Here is what that means in practice.

A mesh needs more than one phone

NIMmesh does not reach the internet on its own. It hands your payment to somebody else's phone.

One phone alone cannot send anything. It signs the transaction and holds it, because there is nobody to hand it to. Two phones in the same room can. A dozen phones across a building start to look like a network.

Your payment needs one other phone running NIMmesh within Bluetooth range, and somewhere down the line one device with an internet connection. Those can be the same device or ten hops apart.

What travels

A signed Nimiq transaction is a self contained blob of about 139 bytes. It carries its own signature, so nothing can tamper with it in transit, and it stays valid for roughly two hours.

The Nimiq network does not care how those bytes reached it. There is no rule that says a transaction has to arrive over the internet. It only has to be valid and arrive inside its window. The internet is needed at the last hop only, and every hop before it can be a phone in someone's pocket.

The three roles

The sender

Builds and signs the transaction on device, with no signal at all. The private key never leaves the phone. What goes onto the mesh is only bytes that are already safe to publish.

The relay

Any nearby phone running NIMmesh. It receives the packet, checks it has not already seen it, decrements a hop counter, and passes it on. A relay never reads what it is carrying, and could not spend it if it tried. Relaying costs the carrier nothing and earns them nothing today.

The gateway

The first device in the chain that has a working internet connection. It hands the bytes to the Nimiq network, then sends a receipt back through the mesh so the original sender sees the payment settle. Nobody chooses to be the gateway. Whoever has signal is it.

When a send does nothing

If you install NIMmesh, go offline, and send, the most likely outcome is that nothing happens, and nothing is broken. You were the only node. The transaction is sitting on your phone waiting for a neighbour, and it will go out the moment one appears or the moment you come back online.

This is why testing needs two phones, and why the network gets better the more people carry it. The testing guide walks through setting that up.

Where the range ends

Bluetooth Low Energy gives you roughly thirty metres in the open, less through walls. That is a room, a queue, a bus, a market stall. It is not a city.

That ceiling is the reason the roadmap points at LoRa radios and text messages. The same 139 bytes fit inside one LoRa packet and inside a single binary text message, so the payload never has to be split. Community LoRa networks already cover entire cities, which means the hard part is joining one rather than building one.