btcven / locha

Communicate with others and broadcast Bitcoin transactions off-grid without internet access or even power grid.

Home Page:https://locha.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FAQ

stephien opened this issue · comments

As the project develops, we still don't have a section of Frequently Asked Questions to refer people to in social media interactions. We manually type answers to questions like: 'what is Locha mesh?' 'why a mesh?' Sometimes even 'what is a mesh?'

As more people is getting involved in the conversation, it is time to address this questions in a better way. I invite the devs to join in this topic by participating in the process of answering questions, correcting typos, concepts, suggesting, etc.

Questions listed by me:

  • What is a mesh network and what is Locha Mesh?
  • Why is Locha Mesh licensed under the Apache License 2.0?
  • What is a ‘Turpial’ node?
  • What is a ‘Harpia’ node?
  • How does the Locha Mesh work?
  • What can be transmitted over the Locha Mesh?
  • How far in kilometres (km) can you transmit data over the Locha Mesh?
  • What radio frequencies can a Turpial node or a DIY Turpial node use and why?
  • Why do we need a decentralized mesh network?
  • Can other devices join the Locha Mesh network?
  • How many devices running the Locha Mesh protocol are needed to create a mesh?
  • Do I need to be ‘on-line’ at all times to receive messages?
  • I want to contribute to this project. Where do I start?
  • I can’t donate any money, nor code. How else can I help?
  • Can’t find an answer to your question?

Note that every question follows a logic order. I will submit a PR with answers suggested by me to these questions.

What is a mesh network and what is Locha Mesh?

A Mesh network is conformed of distributed nodes that contribute to the network by maintaining connections, routing packets, etc. to other nodes.

Locha Mesh is a type of Mesh network that tries to improve the actual status of the available Mesh network solutions by providing an IPv6 capable network on which most applications can run most of the times.

Why is Locha Mesh licensed under the Apache License 2.0?

The Apache License 2.0 is very permissive, this means any user can use our code freely (giving proper attribution) and modify them. Users of the source code aren't also forced to contribute back the changes they make or publish them.

What is a ‘Turpial’ node?

A Turpial node is a low current consumption portable device which participates in the Mesh network, it can be used to connect to the Locha Mesh up to four devices over Wi-Fi (to participate on the network) and a computer over USB (currently only Linux/Mac OS X support for USB, Wi-Fi works out of the box).

What is a ‘Harpia’ node?

A Harpia node is a Locha Mesh node that works standalone and can run/provide services on the network such as a Bitcoin transaction gateway, or any other.

How does the Locha Mesh work?

Locha Mesh works by having multiple nodes collaborate on the network, each node implements an specific routing protocol which makes all nodes connected to the network available through multiple hops. We use IEEE 802.15.4g radios (915 MHz on some countries, may vary), and a 6LoWPAN/IPv6 stack.

To route packets over the network we implemented an AODVv2 protocol which only finds a route to a node when we ask for it, so it's relatively efficient to use.

What can be transmitted over the Locha Mesh?

Pretty much anything that supports IPv6 can participate on the Locha Mesh network, if it sends IPv6 packets, it works.

How far in kilometres (km) can you transmit data over the Locha Mesh?

This depends where the node is located and the obstacles it might have, and the maximum transmit power. A normal IEEE 802.15.4g radio can transmit up to 14 dBm, and the Turpial can/could transmit at +26 dBm.

What radio frequencies can a Turpial node or a DIY Turpial node use and why?

As we use IEEE 802.15.4g we are going to use 915 MHz which license-free in most countries, or any of the others that are defined for IEEE 802.15.4g.

Why do we need a decentralized mesh network?

Decentralized networks are censorship resistant and are useful in areas where cabled internet connections are difficult to get. Also mesh networks are useful because they are failure-tolerant, any node can replace the functions of the other, this is typically useful in natural disasters or remote areas.

Can other devices join the Locha Mesh network?

If it implements an IEEE 802.15.4g radio and the protocols need to communicate then yes.

How many devices running the Locha Mesh protocol are needed to create a mesh?

At least two and they'll start talking each one if they're on range.

Do I need to be ‘on-line’ at all times to receive messages?

This question depends on the aim it's taking. Not easily answerable. If it's for the Chat app, then no, currently we don't implement re-transmissions of messages. However for other protocols it works the same way as Internet.

I want to contribute to this project. Where do I start?

There is the btcven/radio-firmware repository and the btcven/turpial-firmware repository which are the firmwares of the MCUs used to create the Locha Mesh network. There are issues labeled with good first issue with are a good start to contribute to the project and to get knowledge of the codebase.

I can’t donate any money, nor code. How else can I help?

Spread Locha Mesh to the world :D. Also if you know other languages you can help with the translation of the documentation to other languages.

Can’t find an answer to your question?

Open an issue for it, this way we can get in touch if something is not clear. Also, if you feel something is not in the FAQ, better yet, open a PR for it :).

I think it's better to answer point by point and to handle the discussion in a better way @jeandudey and not everything together.

So the first question

  • What is a mesh network and what is Locha Mesh?

This question should be split in two:

  • What is mesh network?
    A mesh network is a network topology where each node connect directly, dynamically and non-hierarchically to as many other nodes as possible and cooperate with one another to efficiently route data from/to clients.

  • What is Locha Mesh?
    It is a type of mesh network that tries to improve the real state of available mesh network solutions by providing an IPv6 compliant network that most current applications can run on.

Why is Locha Mesh licensed under the Apache License 2.0?

It's very permissive, this means any user can use our code freely and modify them. know more

What is a Turpial node?

A curated piece of hardware able to participate in the Locha Mesh network, can give network access up to four devices (PC, mobile, tablet,..) simultaneously via WiFi. It's therefore a router but in a portable format, battery powered and plug and play.

What is a ‘Harpia’ node?

I think the response of @jeandudey for this question is perfect

We need something shorter here:

How does the Locha Mesh work?

By having multiple nodes, their behavior can resemble a community of bees, they collaborate with each other to put the origin and destination in contact using AODVv2 as a routing protocol

We need something shorter here:

How does the Locha Mesh work?

By having multiple nodes, their behavior can resemble a community of bees, they collaborate with each other to put the origin and destination in contact using AODVv2 as a routing protocol

I really don't get the bees example, but this is something I prepared for this question:

"Mesh networks can relay messages following a routing protocol. The Locha Mesh uses an AODVv2 and we are adding an extra feature for control packets in order to be able to check if routes continue being valid and keep the routing tables updated.

Once the device is paired with the smartphone, it will start searching for neighbors in an attempt to relay messages from them. Knowing its neighbors will provide the routes the device needs for proper calculation of the path for the data to be transmitted."

Why is Locha Mesh licensed under the Apache License 2.0?

It's very permissive, this means any user can use our code freely and modify them. know more

Yes, the Apache License 2.0 is widely used in the tech industry as well, e. g. Android.

@jeandudey thanks for answering all the listed questions!

"Mesh networks can relay messages following a routing protocol. The Locha Mesh uses an AODVv2 and we are adding an extra feature for control packets in order to be able to check if routes continue being valid and keep the routing tables updated.

Once the device is paired with the smartphone, it will start searching for neighbors in an attempt to relay messages from them. Knowing its neighbors will provide the routes the device needs for proper calculation of the path for the data to be transmitted."

Imprecise

AODVv2 is not a proactive protocol, so it will search neighbors only when it's necessary: send a message, get access to a web server, etc.

anyway the response need to be shorter

remove the bees example:

By having multiple nodes, they collaborate with each other to put the origin and destination in contact using AODVv2 as a routing protocol.

Add a new question:

  • What is AODVv2?

This is widely explained in the documentation, please check out if you are interested in to know more

How far in kilometres (km) can you transmit data over the Locha Mesh?

That depends on multiple factors, but an approach can be up to 6 km in line of sight and a clean environment of electromagnetic noise.

Add a new question:

  • what factors can affect the coverage range?

Electromagnetic noise, obstacles between antennas, antenna altitude or antenna type are the reasons that can most affect the coverage range.

What radio frequencies can a Turpial node or a DIY Turpial node use and why?

This depends on your location, there are different frequencies for each location, 868MHz and 915MHz are available for EU and American respectively [See which band is used legally in your country] (link_to_table_freq)

  • what factors can affect the coverage range?

Electromagnetic noise, obstacles between antennas, antenna altitude or antenna type are the reasons that can most affect the coverage range.

This is a really good question, I'll add it to the FAQ!

What radio frequencies can a Turpial node or a DIY Turpial node use and why?

This depends on your location, there are different frequencies for each location, 868MHz and 915MHz are available for EU and American respectively [See which band is used legally in your country] (link_to_table_freq)

I wrote something similar to this:

The Turpial device uses a 915 MHz radio module, other versions of the same Turpial device could work with different radio modules for the 868 MHz band or 433 MHz band for different regions.

But I think it's important to mention the ISM band as unlicensed bands/frequencies that can be used permissionless.

commented

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. If you think this is an important issue, notify it directly by email to: contacto@bitcoinvenezuela.com