Introduction and First Impressions/Ideas

0 views
Skip to first unread message

Ryan Porter

unread,
Jun 6, 2014, 3:02:03 AM6/6/14
to Byza...@hacdc.org
Hello everyone! I'm new to the mesh networking thing, but as the leader of a small micronation it's an invaluable resource. I have a single node running currently, and it seems to be working pretty well, considering I have it on an extremely weak laptop.

My largest concern at the moment is network administration. It seems like when someone connects to the network, that's it, the only way I could boot them off would be to shut down the network altogether.

Another concern is the nature of the software being inter-connecting... so if someone else in my neighborhood sets up a node, it'll connect to mine, right? Thus, I can't keep my network separate from other Byzantium meshes.

I understand that these concerns are good for the basic purpose of the software; however, I would prefer to have the option to dictate my network and keep it distinct from other meshes if I choose.

Just my input, I'm having fun with it so far! Can't wait until someone comes up with a mesh network email system ;)

~Ryan

Ben Mendis

unread,
Jun 6, 2014, 7:17:23 PM6/6/14
to Project Byzantium (Emergency Mesh Networking)
Hi Ryan, welcome to Byzantium!

You've actually touched on what I consider to be a very interesting philosophical question about the organization and behavior of decentralized mesh networks.

In short, there are some proponents of mesh networking who believe that nobody should be able to control/censor who can join the network or what traffic can be exchanged on the network. Then, there are others who believe that each node operator should have the freedom and responsibility to choose who can or can't connect to their node(s) and what traffic they will or will not pass through their nodes.

It's also very timely that you bring this up, because at it's core this is the very same issue that is currently facing the FCC (and the US as a whole) in the fight over Net Neutrality/Common Carrier.

I have had long discussions with various people about these ideas without coming to any real consensus about what is policy to resolve these competing view points.

At the end of the day, both sides are right. As users of the network, we want our traffic to pass freely through the network unmolested and fairly queued. However as infrastructure operators we also want the control to keep bad actors off the network and moderate traffic which we deem inappropriate. (For example, we may have a moral objection to participating in the exchange of child pornography. Or we may have a practical objection to relaying traffic that is part of a DoS attack.)

The closest compromise I've managed to reach between the two sides is an acknowledgement that there is no way to enforce common carrier on decentralized and potentially anonymous node operators. However operators may encourage their peers to voluntarily agree to abide by the principals of a common carrier agreement.

And this brings us back to Byzantium. Hackers in general tend to be strong proponents of the First Amendment, and therefore seek to reduce or eliminate censorship in all parts of society. While I strongly support the First Amendment and the important restrictions it places on government, I personally think that individuals (even those who operate public infrastructure) are not subject to those same restrictions. It would make for a much freer (and more interesting) network if individuals were empowered and responsible for the access and content of their own piece of the mesh. 

However, my personal politics were overruled for two important reasons.
1. My colleagues prefer the idea of Net Neutrality over individual freedoms.
2. Developing tools and interfaces to facilitate such access or content control would require development effort, but leaving it unmoderated requires none. (Laziness is a virtue of good programmers, at least according to Larry Wall.)

In reality, all the tools you need are already there. You would just need to be familiar with using the standard Linux networking tools. All of our own code is in the form of Bash or Python scripts, which should be pretty easy for any Linux admin to modify. Unfortunately, this obviously implies a higher barrier to entry than "grandma-proof" as we aim for in our development. But it pleased the most sides and required no extra work on our part.

(For the record, lest anyone misconstrue my arguments here, I do support Net Neutrality. I do want the ISPs to be regulated as common carriers. However, more than that, I want the Internet to be recognized as the critical infrastructure that it is and regulated as a public utility. I want to see more municipal ISPs, because when the government is running the infrastructure there is no question about whether or not the First Amendment applies. And I want pervasive strong crypto to mitigate the censorship of content.)

Best regards,
Ben the Pyrate

P.S.: Sorry for the wall of text. TL;DR: If you want to moderate access or content you'll need to become a Linux admin. 




~Ryan

--
You received this message because you are subscribed to the Google Groups "Project Byzantium (Emergency Mesh Networking)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to Byzantium+...@hacdc.org.
To post to this group, send email to Byza...@hacdc.org.
Visit this group at http://groups.google.com/a/hacdc.org/group/Byzantium/.
For more options, visit https://groups.google.com/a/hacdc.org/d/optout.

Ryan Porter

unread,
Jun 7, 2014, 2:01:00 AM6/7/14
to Byza...@hacdc.org
Well, I'm planning to start on my A.S. Degree in Computer and Information Systems (either Network and System Administration and/or Support Specialist) and I should learn some useful stuff there on how to do what I want to customize Byzantium. That's the beauty of Linux: It's infinitely customizable (although with my current skill and knowledge level, a bit beyond me).

In favor of increased admin controls: In the hypothetical zombie apocalypse, or the US Government shutting down or implementing heavy controls or censorship on the World Wide Web, if someone like you or me started up a mesh network in order to relay information without interference... what if a government official gets on and starts spamming? What if someone tries to DoS the network into oblivion? The problem is, yes, a completely open network is great for freedom of speech, etc. but that makes it extremely weak and vulnerable to trolls, hackers, and any kind of undesirable user. The importance of the network makes it critical to be able to protect it from those people.

Here's a thought for discussion: What about having (once someone who knows how to do it is able to implement it) two versions of Byzantium? One would be like it currently is, completely open, with no or very limited administrator controls; the other would include some kind of control panel for deleting groundstation posts, managing clients, and choosing which nodes to add or remove from the network. That way, those who wish for a completely open network have what they want, and those who wish to utilize a more controlled network are satisfied.

Just a thought,

Ryan


--
Ryan "websterhamster" Porter
Piano Lessons, Voice Talent
Host of The Evening Breeze - Every Sunday at 8pm Central

The Doctor

unread,
Jun 10, 2014, 3:36:59 PM6/10/14
to Byza...@hacdc.org
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

On 06/06/2014 11:00 PM, Ryan Porter wrote:

> interference... what if a government official gets on and starts
> spamming? What if someone tries to DoS the network into oblivion?
> The

Non-mesh networks run the same threats.

> problem is, yes, a completely open network is great for freedom of
> speech, etc. but that makes it extremely weak and vulnerable to
> trolls,

If someone is going to take the time and effort to troll an emergency
network during a crisis, this is a problem that software can't solve.
This is a social problem best solved with other direct action techniques.

> Here's a thought for discussion: What about having (once someone
> who knows how to do it is able to implement it) two versions of
> Byzantium?

It is difficult enough maintaining two versions of the same OS (x86
and RaspberryPi). That is a significant undertaking.

- --
The Doctor [412/724/301/703] [ZS]
Developer, Project Byzantium: http://project-byzantium.org/

PGP: 0x807B17C1 / 7960 1CDC 85C9 0B63 8D9F DD89 3BD8 FF2B 807B 17C1
WWW: https://drwho.virtadpt.net/

"That's a little unsettling."

-----BEGIN PGP SIGNATURE-----

iQIcBAEBCgAGBQJTl15ZAAoJED1np1pUQ8Rk94QP/jLErgwy+Rv/s7KmqL3KbBXw
TeRXKN9KW3ve3Vxw/GGCLzPExnSN4+bkGNMrfmQpQckzR8KjVcWT/+3H7BP1cf6n
LOqEi3Byz9eLYeJIOm08PfKFcL7YMo8rGM+ydXT3M5h1UvmKyYIEVtEg98azQFJS
ASPtSi9lhfH2n2up0lxt5/Gdojhwc2X29SP1kmu0oY/bfs7f6abVq/YSR9gxcuzx
iW6JR9PrUDYz1Cr6dlhM9xOf0iJ4GsXMVRVXTfnMXzMN4hMvcXGW+DrggJtCyt4c
kkdQMbKwD1JR4KCXfIs4WyMwY+LtPR7bvUEbkMXNZk0WqrVfq3cCUG6v653SH2ew
FfVvEsvIzACV+WSSJqk0CEBbnpLSjFV3uWsVUBcYeSVZFr6mNnupSQkiQXGok431
4wgMkm2VKTNNZN+SHvsJQDnOs9krSK2GVpY6jzOp2KuBROrHxC19IpJqL+iC9tbh
4eX7mQOUofkL6OEBZvjK/VsIz/MswNUGcViEDvTjp0IXD1cT8UHGDKNVBd1geAWy
GbnGpjjy+cqD2heL/k6ZTBCbeEqUvGpUSVfbaxQ9+YdGy2/piMZA+33PJnhbqKeB
Ii2M/Ttd3Rw3R8Xldi7Yu6PzGZVFRn9C0L/SQ6RAf50djCRMAcek9tyVurSFqQoD
hoZ1RxMuXxmqh3MiQjTk
=s2XE
-----END PGP SIGNATURE-----

haxwithaxe

unread,
Jun 16, 2014, 2:06:52 PM6/16/14
to Byza...@hacdc.org
On 06/07/2014 02:00 AM, Ryan Porter wrote:
> In favor of increased admin controls:
the idea (goal) is for this to be a temporary plug and play system, for
people to use when they don't have access to appropriate hardware, that
doesn't require any special knowledge or training to use. the admin is
the person sitting in front of the laptop which might just be grandma or
grandpa.

> In the hypothetical zombie
> apocalypse, or the US Government shutting down or implementing heavy
> controls or censorship on the World Wide Web, if someone like you or me
> started up a mesh network in order to relay information without
> interference... what if a government official gets on and starts
> spamming? What if someone tries to DoS the network into oblivion?
link quality based routing makes it hard for a bad actor to shut down
the whole network. poor quality routes are dropped in favor of better
ones so they could only disrupt their direct peers. which leads to
baseball bat restoration of service :P

> Here's a thought for discussion: What about having (once someone who
> knows how to do it is able to implement it) two versions of Byzantium?
> One would be like it currently is, completely open, with no or very
> limited administrator controls; the other would include some kind of
> control panel for deleting groundstation posts, managing clients, and
> choosing which nodes to add or remove from the network. That way, those
> who wish for a completely open network have what they want, and those
> who wish to utilize a more controlled network are satisfied.
you want to fork it? feel free. the scope of our project is for a
temporary mesh that facilitates communication to the greatest extent
possible when other, more appropriate, options are not available. that
means not restricting traffic beyond what the mesh routing software does
to maintain connectivity (which is open to modification). for us to
enable any node operator to start blocking routes without having to know
what they are doing could segment a mesh when grandpa decides to "get
those damn routers off his lawn ... er ... network graph". for the
purposes of this project making it easy to deny access to lines of
communication is counter to the goal. i agree that in a network that is
intended as a permanent mesh there should be the ability to control what
and who goes over your node, but that isn't the use case we are
developing for.

i recommend you consider using the applications we (or
commotion-wireless) use as a starting point for making a mesh network
that has the controls you want. openwrt is a good place to start. it has
packages for olsrd, babeld and many other mesh routing systems. however
some of the services won't run on most routers so a computer, connected
to a router running the mesh routing daemon, might be a good place to
run the services.

haxwithaxe

signature.asc
Reply all
Reply to author
Forward
0 new messages