Open Libernet: a Bitcoin-based fully encrypted mesh networking protocol
openlibernet.org
openlibernet.org
Given the populations on both ends, I assume you'd need more bandwidth than you could get from wifi routers with pringles can antennas.
I assume the companies who own long distance fiber have to do what the government says, as they need government permission to dig up the streets and install more fiber meaning they can't afford to upset politicians. So you can encrypt the traffic, but if the word comes down to cut the cable the cable gets cut.
But until we get to that point, we can build the technology, and have it more localized in villages, towns, or even big cities. We can use the latest Wi-Fi routers, or mobile phones, to form these meshnets now. Then perhaps we'll get Wi-fi balloons like what Google is building in Africa, although I'm not sure how resilient those would be against a government, but perhaps there will be so many of them that shutting them down would be much like shutting down the Internet.
As for intercontinental meshnets, I think DIY sattellites will become more popular in the future, and could help with this, too.
[1] http://oilprice.com/Latest-Energy-News/World-News/Solar-Powe... [2] http://www.wired.com/dangerroom/2013/08/new-9-hour-solar-pow...
[1] http://thor.cs.ucsb.edu/~ravenben/papers/coreos/wei93.pdf
Furthermore, mesh networking is a fundamentally different architecture solving a different problem than the internet. The current internet works great for high-bandwidth applications like commercial video streaming, but is terrible in terms of protecting itself from concerted attack by powerful actors. Mesh networks solve the single-point-of-failure problem.
And there is more than just wifi to pick up the slack in an emergency. Free space optical links, satellite uplinks are all possible mediums. I'm not arguing that this would work well, but I think this is the idea behind it all.
Good luck. Even the very first modems offered 300 bits per second, so you would need 3,000 simultaneous non-colliding WiFi links across the country to have enough bandwidth for everyone to enjoy the speeds of the very first modems - a cool 40 letters per second.
This is a OpenLibreNet telegram. Full stop.
As the network grows, they imagine that tunnelling through the Internet will become rarer.
* Consumers would no longer be dependent on monopolies like Comcast for internet service (OSI layer 1)
* It is much more resistant to eavesdropping and censorship (OSI layers 2-3)
These seem like two totally different problems to me, and I'm still struggling to understand how the physical layer part can work on a large scale.
I get how they could work on a small scale. For example, you could easily set up an ad-hoc wifi network in a college dorm for, say, file sharing purposes. But in most other settings, I don't get how it could work. Most people don't even talk to their neighbors, so even if you lived in a neighborhood that had a high enough density of nodes for this to work, why would you want to share a little ad-hoc network with your neighbors?
Of course, wireless networks alone aren't going to be sufficient to build a large-scale mesh network that could disrupt existing ISPs. The latency alone makes this infeasible. So you need someone to invest in physical links, especially physical links that cover long distances. That's why the BTC part of this proposal is so great -- it provides a way to compensate these people. Of course, this is just a slightly different problem than the one we have today, but instead of being stuck with Comcast we're stuck with whoever runs these physical links.
I'm not so sure, your links are almost c, whereas optic fiber is substantially slower, so it depends entirely on how little processing you can get away with in the message passing code.
edit - was just thinking about this, an arm cortex runs at ~ 2,000 MIPS, which gives you just under 15 cm per instruction for radio in air. Fiber is about a third slower, so your links do not actually have to be massively long to give you quite a few cycles to play with.
Not inherently. Arguably, a large-scale mesh network would be more susceptible to interference, due to the larger number of distinct parties involved in each communication. The difference is that because a mesh network assumes the lack of trust in the intermediate nodes, a sensible design for one has to include end-to-end security.
I've been thinking about this recently. The idea is that it's transparent. Imagine, for example, if Apple started shipping this on all iOS devices, or it became a common android feature. Here is a blog post I wrote on the topic last month: http://stevenjewel.com/2014/01/android-mesh/
Is this how bad it's getting for bitcoin? People are trying to invent dependencies based on flying currencies?
Let me get this straight... You want me to leave my darknet router on and running to help route all that traffic from all that blockchain crap related to bitcoin transactions? And my incentive is to get infinitesimally small amounts of this stuff (which then requires more blockchain network overhead)??? What is the likely ratio of blockchain noise to real data signal?
I enter the coffee shop and then we bucket brigade my order to the counter. Anyone standing between me and the barista will have to shake hands, exchange pleasantries, trade 1 hundred-millionth of a bitcoin, check some blockchains, express their love of the community that makes the ordering of coffee possible, then pass my order through letter-by-letter. Once complete, the same process occurs in reverse, except the coffee will now be passed drop by drop from mouth to mouth of everybody between the barista and myself (swished around to ensure proper encryption).
Let's not also forget that I'm bootstrapping a fiber optic network through my neighbors' back yards, because if I stick my router behind my Comcast modem... uh, yeah. Wifi? pshaw. My neighbors can't change a default password on their router. Now they're my decentralized network engineers that "love the community"??
Good lord, the bitbug miners are trying to take their electricity wasting exercise and make it a network wasting exercise as well.
What if I create an entire libernet network (say, 8 nodes, all meshed) and isolate, or fork them, from the rest of libernet ... and then generate massive traffic between them all to "earn" traffic currency ?
So, 8 nodes all connected with gigabit ethernet, all maxing out their traffic in one big circle, earning "traffic" currency ... and then I rejoin the mainline libernet in the future with my massive store of traffic currency.
How do you avoid that scenario ? Certainly you can't make the network inoperable (or non-earning) if a network link breaks somewhere in the mesh ... because there would always be links in the mesh breaking.
Is there a minimum number of peers accessible in order to earn traffic currency ? Is that number larger than the number of freebsd jails I could quickly initialize with a script ?
You're saying that if my link goes down, or if my neighborhoods link goes own ... or if my city link goes down ... I can never rejoin the network ? Or perhaps I can never spend my traffic currency ?
Of course the links will go down all the time and various (large and small) segments of the network will be "islands" from time to time (as parts of the Internet sometimes are) ... and I wonder how currency accumulation behaves at these times.
First, it's not very clear, but in some cases you must consume the "traffic" you have stored, by using the network or buying it with money. If not everyone will be have plenty of "traffic". "The payment system ensures everyone is doing what they’re supposed to."
So the 8 interconnected computers earned a lot of "traffic" but also consumed a lot of "traffic". (This can work even if the 8-computer network is connected by a small bandwidth connection to the main network.)
If node A sends a lot of packets to B and B sends a lots of packets to C, who will earn the "traffic", A or B? Who has to pay for the "traffic"?
If I download a full 3 hours movie from Youtube, who has to pay the bills? I, my "ISP" or Youtube?
If I upload a full 3 hours movie to Youtube, who has to pay the bills? I, my "ISP" or Youtube?
If I download a full 3 hours movie from Youtube while I upload another full 3 hours movie to Youtube while, is it free for all?
This is covered in the FAQ as well as the paper, so I'm not certain why this is confusing. I guess I will just paste the information here, to encourage people to actually read it.
FAQ:
> Each node keeps a small ledger for all its direct neighbors, with the total packets received/sent to and from each. The node also keeps count of all the packets it sent and received for its own consumption. When the balance of a neighbor hits a certain threshold, a payment request is initiated. The neighbor in question is required to sign the payment request with its Peer Address to make the payment legitimate. The signed payment is then forwarded to a payment processor (a mining node), which will verify and add the payment to the public ledger. The miners are special nodes that use a modified version of the Bitcoin Algorithm and require huge amounts of processing power. They earn free traffic for their efforts as well. Read more on Bitcoin for more information on how this works.
Paper:
> Accounting is calculated at Layer 3 packet level. Since transaction validation is computationally intensive and adds to the network overhead, it is obviously impossible to issue payments on a per-packet basis. Nodes will aggregate routed packets and only initiate a payment request when a set threshold is reached.
> Since neighboring nodes are more likely to owe each other packets than farther away nodes and are therefore more likely to reach that threshold, payment is only initiated between neighbors.
> The payment procedure is straightforward. Each node keeps accounting information for each of its neighbors and updates their balances as packets flow to and from each. Once a threshold limit is hit, the peer that is owed traffic initiates a payment request by sending a Payment Request packet to the neighbor that owes it traffic. The neighboring peer validates the requested amount against its own books. If the transaction is deemed valid, the Payment Request is signed and returned to the initiating peer. The initiating peer now has proof that the payment has been approved by the payer and is therefore valid. It then forwards it to any Payment Processing Peer (miner) it chooses and waits for the transaction to be approved. Ideally, the reciprocal balances of two neighbors should match, unless the protocol on one of the nodes is maliciously tampered with, or due to packet loss. We will cover those cases in more detail later.
On the other side (bills) you are taking into account the currency nature, but clearly the ISP could never be in the position to pay the bill because it is just in the middle: it extracts a transaction fee for transferring the data, but whether you feel the sender or the receiver should be the one that pays for bandwidth, they would never be in the position of being on the hook for the money required, it would always be up to one of the endpoints.
As for who pays for bandwidth, the paper quite clearly and unambiguously states that it is the sender. If you think about it, it pretty much has to be the sender, as (even on the current Internet!) the sender is generally the person who can "wreak havoc" by sending large quantities of unwanted traffic at some people, whereas the receiver is by definition passive. If this is expensive for YouTube they might have to charge you a subscription fee, or charge per download, to cover their costs. (One could imagine this price being paid either in dollars, which YouTube could then barter for bandwidth currency, or in the bandwidth currency itself: the network allows random payments to be made in this fashion.)
Finally: if you upload data to YouTube and download data from YouTube, in the same amount, you and YouTube will be passing a bunch of data between each other, and the ISP will keep taking a cut of the payments. Eventually you and YouTube will be broke, and the ISP will own all of the transfer currency, for being so kind as to sit there receiving and forwarding packets all day. This might seem to cause some kind of problem (like, "now ISPs own all of us, where do we get currency"), but this is a mesh network, so there's no such thing as an "ISP". Instead, everyone is forwarding packets for everyone else, and both you and YouTube are going to be serving as "ISPs" for all of your neighbors, so while you are downloading YouTube and your friend John is your "ISP", while he's streaming Netflix, you might become his "ISP". Sometimes the bandwidth flow to Netflix might even be going through YouTube (and vice versa).
> The node also keeps count of all the packets it sent and received for its own consumption. When the balance of a neighbor hits a certain threshold, a payment request is initiated.
as payment is requested when "#sent-#received > threshold" (or "#received-#sent > threshold"), but it didn't make sense.
I am always a little suspicious of publicising something as a solution before a prototype exists.
They forget that Satoshi released a white paper, then put his nose to the grindstone for 2-3 months before releasing a working implementation.
I don't have time to dig up links at the moment, but you can check the cryptography list archives for confirmation.
Sadly, not enough attention, as I fear most of these mesh networks get.
I'm interested in mesh networking and its relation to the physical layer. As a (time deficient) hobby, I've been noodling on a bit of free space optics for a number of years. In my day job, I design physical layer radio infrastructure for data/voice networks.
(I just realised that "noodling" probably doesn't make sense outside Au/NZ. It comes from the practice of picking though mine tailings for opals, meaning: to toil in an ad hoc manner over a long period of time.)
Our hardware switches are to build true mesh networks at hardware encrypted linespeeds up to 800 Gbps (Q1 2014).
Currently, most ISP and end-user routers and switches are set up behind NAT and with default routes in an hierarchical star topology, all pointed (slaved) to the central ISP. Only that ISP has true internet that they buy or peer with other ISP's and the top tier 1 global internet backbones. None of these users, worldwide 99.9% or more, can be considered to be in a mesh network. This is why the [No Such Agency] and governments only need to copy or deep packet inspect at a few points to see most worldwide internet traffic. Most of that traffic is not encrypted at one end, like the ISP or website side you are using. Peer to peer traffic is not yet using strong encryption or is not anonymous. Except Tor tunnels are, but that is slow and is under attack from the NSA and many national firewalls. Open Libernet only proposes to incentivize such a tor-like tunnel system, but do not claim Tor strength anonymity or security. BTW, I exchanged email with the Open Libernet authors, they are computer scientist with master degrees from Beirut.
Our system we designed over the last 20 years is based on a home switch with 8 ports at 1 to 3 Gbps, either gigabit copper, wifi or optical (or any connection including your radio and free space optics) would connect you to neighbors to the left, right, behind you, before you and wireless, at $50 mass produced ($200 for 8 ports at 10G). More importantly, it is free and open source hardware based on our own free and open source manycore microprocessors with free and open source software based on the new open openflow standards, so hackers, scientist and anyone can trust the encryption at linespeeds in these mesh switches and routers by constantly scrutinizing . The protocol we are making is similar to TOR, but always at linespeed. If you're house injects traffic, it is replacing less critical encrypted bittorrent or dummy traffic, in such a way that no change in bandwidth or content can be detected, providing you with even better anonymity than Tor does. It brings anonymous bittorrent and voice/email/skype-like traffic. The 60 manycore processor must be always on so your home router will pass on traffic from you neighbors in trade for them passing on your traffic. This allows the switch/router to also function as (web)server. One of the services will be an anonymous distributed cloud service, based on free cores and any terabyte harddisks you share by connecting to the switch. Most importantly, although you can run Unix/linux on the some cores, the switch and openflow protocols do not. This allows hardware protection of the e-capabilities that guard the free and open source encryption algorithms, so it is [No Such Agency] strength security. Linux, Intel and Arm processors has to many unknown security flaws and known backdoors and are not truly open hardware and software. We should be much more secure than Tor or Freedombox this way, although we do run these free software systems as well.
So now you have a secure anonymous free and open source mesh network that is running at hardware speeds, preferably over optical fibers, within your neighborhoods and not in the hand of any company or government you can not trust. You can at any time check the software and hardware if it still can be trusted. Your neighbors are by default incentivized (forced by social peer pressure) to also get a mesh router and more importantly, to keep it always on. By adding and sharing harddisks, they gain a shared petabyte anonymous cloud storage. By having a core surplus in the encrypting switch, the are further paying for the shared cloud services running distributed on their home switches/server. By using our built-in manycore parallelism, they are incentivized further to not rely on Linux encryption, but our microcode/bytecode based encryption that has no backdoors and can be constantly be checked for it. So mesh every aspect, not just the tunnels. Incentivize everyone, so they must peer with each other to gain high speed at zero or lowest cost. Keep it out of the control of a single provider, so it will remain free and open, right up to the continental crossing points and beyond. It must be crowd funded, by the richest most powerful group on the planet, we the people who should hold these anonymity, privacy and mesh peering/sharing truths to be self evident. I hope I made it clear you should mesh at every level and provide all that without end-users installing a single thing. They should not want to turn of the devices, ever. So make it very low power.
Next these neighborhoods need to have a mesh network with each other, city to city. So they should share the cost of private fibers between cities, also running the same strength encryption as the home routers but now at terabits speeds per fiber. They need to hook up through submarine cables with other continents, again with the same free and open hardware switches running at multiple terabits. That is why we design and built the entire system from scratch with the latest and best hardware, software and encryption systems science can come up with. At the internet exchanges, this local or global mesh network also peers with the current internet, where you will loose some or all encryption if you do not terminate with peers using the same mesh protocols or travel thru big companies or government networks. This is why we not just built mesh networks locally and have them financed and owned by the users themselves, but also provide community owned inter-city and inter-continental mesh fiber nets that do not fall under government laws or investor control.
We welcome developers, scientist, Phd students and HN type co-founders to work with or for us to build out this system to regain anonymity and privacy while providing gigabit+ speeds. We welcome ISP's and communities to use our open hardware and backbone at cost.
Edited for errors.
The repositories and the design/source files have so far only been shared with local neighbornets that start with the minimal required 300 user group (for financing the required backbone) who buy our routers at today's non-mass produce prices.
2) The last thing we want to do is reinvent the wheel
3) We do not bring any novelty to either mesh routing or p2p payment systems. We only combined the two to create a mesh protocol with a built-in monetary incentive
4) The actual purpose of the monetary incentive is to get corporations capable of installing fiber links interested; we do understand it is impossible to create a global wireless mesh network.
5) Tunnel nodes are needed until a stable (fiber) infrastructure is built to replace them
6) It is always possible for other mesh network projects to implement the payment system into their protocols; we did not discover fire, we only proposed a solution to what we believe to be the main obstacle to widespread adoption of mesh networks; i.e. lack of incentive.
7) There are no political motivations for the project. Demanding a secure and spying-free communication channel is not anarchism. It is only the natural evolution of the internet. AFAIK eavesdropping is not just confined to the government/nsa. Even small ISPs possess the ability to spy on their clients. Also note that there are countries outside the US that have completely different concerns in regards to internet laws and regulations.
8) We understand there may be serious flaws in the theory at it's current state which is why we're teaming up with industry experts to refine and improve it.
Meshnet doesn't have the incentive (the actual only thing we're contributing to mesh networking)
If we could apply our payment strategy to any of the existing protocols we would have done it. Also, the fact that we have incentive means we could add special nodes; which means we can solve some of the issues that other protocols suffer from more easily. Instead of relying on distributed hash tables for example (a layer of complexity), why not dedicate a special node for lookup queries (PLN). That and we don't mind adopting a completely different approach for the routing protocol. This is why we're asking for the help of the community.
Please read the paper.
BitTorrent has done well essentially using bandwidth as a currency, but it still relies on some users giving away more bandwidth than they consume, which doesn't necessarily work with other applications.
> One such limitation is the IPv4 protocol. With a 32 bit IP Address, it is only inevitable that the address pool will be exhausted (as it almost has) as the internet keeps on expanding.
This is true, but they completely ignore the advance of IPv6.
http://www.virtualschool.edu/mon/Bionomics/Extropians/HardyT...
Under that scheme, local microcredit along each hop would (theoretically) allow global routing without any global/monopolistic governance or currency.
Let's say I found 10 people in my neighbourhood with 10 routers what's out there that's easy to set up that would get us started with a little mesh network?
Cryptocurrencies could prove useful as a form of identity on the network, a secure ID token that isn't traded but does allow nodes to recognise each other, I see the merit in that.
* Before a "theory" website with cheesy blog/helloworld/contact images http://openlibernet.org/index.html#contribute, come up with a solution. The U.S. has been through several years of executive and legislative branches led on both sides by activists with good intentions and no real, thought-out workable solutions. Beyond bumper stickers of hope, you must have solutions, truly sell them, compromise on some keys points so you have enough people on board, and implement. We don't need a page telling us about a net we can't use yet.
* Bitcoin. Don't tie something completely unrelated to a networking solution.
* To make it work (really), you need points on the network that can do short and long-range. Wifi only is not enough.
Why not? We've seen plenty of good ideas that were inspired by Bitcoin (P2P DNS system, platform with a built-in Turing complete language, true P2P Twitter alternative for the first time, encrypted e-mail without PGP, P2P back-up solutions where you pay others to keep your data, rather than on a centralized place that can be hacked or abused, etc), and we're going to see a lot more like this.
The only problem is that unfortunately Bitcoin was never meant to be a platform on which to build other "apps". This is why all these "Bitcoin-based" or Bitcoin-inspired projects are actually heavily modified versions of Bitcoin, and not apps that work on top of Bitcoin. But I think Ethereum will solve this by creating another "Bitcoin-like" platform on which you can build anything you want, and everything is P2P by default.
Maybe the goal is to get funding to make that kind of project happen, but I don't think any engineer will like to get involved into a project than explicitely express political opinions and concerns. Let the politics deal with the NSA stories so it can get solved.
If you really want to make a difference like gnutella, edonkey and bittorrent did, just be a programmer and get working. I think the only thing that matter is to make a software protocol which is interesting to use, not a meli melo of nerd-oriented awesomeness.
As Lawrence Lessig said, "code is law". We've seen it before. Governments are usually too behind in understanding what's going on. Sometimes it helps, like with bittorent and TPB, while other times it hurts us, like with DRM being able to lock stuff that shouldn't actually be locked according to the law, but the DRM makers are basically making their own laws through code, or with NSA who spies on anyone they want no matter what laws exist, because they will just twist them to mean whatever they want in their "interpretations" of the law - and then keep those interpretations secret for "national security".
I don't think it's "political" to say you want anonymity or privacy to exist on a network, or that you don't want a network to be censored. You say "just program like the Bittorrent programmers did". Isn't that what they're doing? Bittorrent appeared because Napster and Kazaa could eventually be censored and stopped. Now we need new networks and apps that are decentralized by default.
These also bring increased security for everyone, increased privacy, and more resilience against DDOS attacks, too. So I'm not sure what you're really attacking here.
anonymity is just a tool you use to protect your privacy if it's being prone to attacks. Pseudominity is fine most of the time.
> Isn't that what they're doing?
> So I'm not sure what you're really attacking here.
Bittorrent or previous protocols were not advertising their project as some new idea that still needed to be implemented. Previously they just released their apps, people used them, the app evolved and it grew more popular.
I think I see too many of those project embryos while there already is freenet and tor. It's either an attempt from investor to attracts tech unsavy people into a security trap, or inexperienced or tech unsavy project initiators. Maybe there is more work to be done to make freenet and tor more accessible to new users instead of reinventing new techs.
Nowadays with the sharp increase of internet users, the noose is indeed getting tighter and tighter. It doesn't mean you have to reinvent the wheel... Improve it instead.
Is Maidsafe another Freenet?