This is already moving within IETF: https://datatracker.ietf.org/doc/draft-pouwelse-perpass-shad... Key problem is that people are re-inventing the wheel in 100+ projects. Good scalable code takes year to develop. The mesh project I'm working on has taken 42 man-years to date : https://github.com/Tribler/tribler/wiki
Ugh, tell me about it. Every time one of these comes around I feel sorry for the poor guys at [CJDNS]( https://github.com/cjdelisle/cjdns ). They've been working on it for ages now and the whitepaper behind it is amazing. Sadly, not enough attention, as I fear most of these mesh networks get.
Open Libernet: a Bitcoin-based fully encrypted mesh networking protocol
51–60 of 83 posts
Re: Open Libernet: a Bitcoin-based fully encrypted mesh networking protocol
#52Re: Open Libernet: a Bitcoin-based fully encrypted mesh networking protocol
#53A proof-of-stake system (see PeerCoin) might be nicer than encouraging Bitcoin-style proof-of-work mining throughout the network. Possibly it could even be run on simple nodes, as it doesn't require gobs of processing power.
Re: Open Libernet: a Bitcoin-based fully encrypted mesh networking protocol
#54A large scale mesh network is interesting to me for a couple of reasons: * 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 coul…
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/
Re: Open Libernet: a Bitcoin-based fully encrypted mesh networking protocol
#55Earlier quoted context omitted.
Don't get me wrong, I really like some of the concepts they are considering for the architecture, however until there is a working beta, I'm just going to file this as vapourware. I am always a little suspicious of publicising something as a solution before a prototype exists.
This is a problem with the Bitcoin community. I think enthusiastic people come up with a good idea and release a white paper, thinking others will jump on board to help make a prototype. They forget that Satoshi released a white paper, then put his nose to the grindstone for 2-3 months before releasing a working implementation.
Re: Open Libernet: a Bitcoin-based fully encrypted mesh networking protocol
#56Earlier quoted context omitted.
The way I'm reading it, nodes pay their neighbors for successfully delivered packets using bitcoin-like credits mined by specialized nodes. I'd imagine the nodes with high balances would then be prioritized for delivery (both sending/receiving).
If that's really how it works then my gut instinct tells me it's wrong. We shouldn't rely on any form of currency exchange for negotiating the movement of web traffic, otherwise we risk messing with net neutrality. Bandwidth should be balanced by tracking load, not by currency. 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 recogni…
Re: Open Libernet: a Bitcoin-based fully encrypted mesh networking protocol
#57Earlier quoted context omitted.
Sure, but that doesn't make any sense in the context of a network. 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 I…
If you read the FAQ and skim the paper, the idea is that a ledger is used between neighbors for temporary imbalances, with the hope that the routing mechanisms generally lead to bandwidth in both directions being fairly equal; when this is not the case, and one node owes a non-negligable sum to another node, it requests payment, and sends the signed transaction to a miner for inclusion in the blockchain (the document…
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?
Re: Open Libernet: a Bitcoin-based fully encrypted mesh networking protocol
#58Earlier quoted context omitted.
If you read the FAQ and skim the paper, the idea is that a ledger is used between neighbors for temporary imbalances, with the hope that the routing mechanisms generally lead to bandwidth in both directions being fairly equal; when this is not the case, and one node owes a non-negligable sum to another node, it requests payment, and sends the signed transaction to a miner for inclusion in the blockchain (the document…
I still don't understand. 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-comp…
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).
Re: Open Libernet: a Bitcoin-based fully encrypted mesh networking protocol
#59Earlier quoted context omitted.
Ugh, tell me about it. Every time one of these comes around I feel sorry for the poor guys at [CJDNS]( https://github.com/cjdelisle/cjdns ). They've been working on it for ages now and the whitepaper behind it is amazing. Sadly, not enough attention, as I fear most of these mesh networks get.
mesh/overlay stuff has been developed for decades, we even have lists of projects: http://redecentralize.org/interviews/ https://github.com/redecentralize/alternative-internet Why don't we work more together?
Re: Open Libernet: a Bitcoin-based fully encrypted mesh networking protocol
#60I'm no expert on mesh networks so maybe someone can tell me - how would a mesh network connect Los Angeles and Las Vegas? Or San Francisco to Salt Lake City? 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…
Yeah, bandwidth is the big thing people overlook. The land-based backbones across the country is already made of bundles of 10Gbit strands. Can you imagine going from that, to all of the nation's traffic over a couple 54Mbps streams...