Bitcoin Forum
October 21, 2017, 11:07:50 AM *
News: Latest stable version of Bitcoin Core: 0.15.0.1  [Torrent]. (New!)
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: what skills required to develop meshnets?  (Read 559 times)
Anon136
Legendary
*
Offline Offline

Activity: 1288



View Profile
August 19, 2013, 03:54:33 PM
 #1

I think the most important thing any person can do right now to help insure secure the long term survivability of our species is to figure out how to create a decentralized censorship resistant internet. The best way to do this would probably be through a global meshnet.

Large scale meshnet schemes have traditionally faced scalability problems, or rather i should say run face first into a scalability wall, but i have a theory that this is because the engineers who are attempting to design algorithms to route traffic fail due to problems resulting information asymmetry (http://en.wikipedia.org/wiki/Information_asymmetry) that is to say they arnt economists so they dont know this is an economics problem and so they are trying to treat it as an engineering problem when it isnt. I think that my primary interest, economics, has equipped me with the tools necessary to address this problem by separating general users from data carriers and creating a market in data transfer to allocate this scarce resource rationally.

so what skills does one need to acquire inorder to be able to build mesh network systems? As for my background I can program a little. Ive worked with c++ and python and can use them to build simple games and solve simple math problems that are bugging me. Would i need to go down to the hardware level? could just to plug usb computers into old routers and build a software layer ontop?

it seems like its going to be crazy difficult challenge but if i have anything its time on my hands and other people somehow get to the point where they can build meshnet systems. once i know what it is that i need to learn than i can begin learning it, untill then im kind of just grasping around in the dark.

Rep Thread: https://bitcointalk.org/index.php?topic=381041
If one can not confer upon another a right which he does not himself first possess, by what means does the state derive the right to engage in behaviors from which the public is prohibited?
1508584070
Hero Member
*
Offline Offline

Posts: 1508584070

View Profile Personal Message (Offline)

Ignore
1508584070
Reply with quote  #2

1508584070
Report to moderator
1508584070
Hero Member
*
Offline Offline

Posts: 1508584070

View Profile Personal Message (Offline)

Ignore
1508584070
Reply with quote  #2

1508584070
Report to moderator
1508584070
Hero Member
*
Offline Offline

Posts: 1508584070

View Profile Personal Message (Offline)

Ignore
1508584070
Reply with quote  #2

1508584070
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1508584070
Hero Member
*
Offline Offline

Posts: 1508584070

View Profile Personal Message (Offline)

Ignore
1508584070
Reply with quote  #2

1508584070
Report to moderator
1508584070
Hero Member
*
Offline Offline

Posts: 1508584070

View Profile Personal Message (Offline)

Ignore
1508584070
Reply with quote  #2

1508584070
Report to moderator
1508584070
Hero Member
*
Offline Offline

Posts: 1508584070

View Profile Personal Message (Offline)

Ignore
1508584070
Reply with quote  #2

1508584070
Report to moderator
TitanBTC
Sr. Member
****
Offline Offline

Activity: 322



View Profile WWW
August 19, 2013, 09:10:18 PM
 #2

What are the benefits that you're trying to reap, specifically?

Anon136
Legendary
*
Offline Offline

Activity: 1288



View Profile
August 19, 2013, 09:19:04 PM
 #3

What are the benefits that you're trying to reap, specifically?

yes like holliday said, censorship resistance.

also it would be possible to build true anonymity into the system with no loss of efficiency, instead of layering things like tor ontop of the existing inferastructure. when you route your traffic through the meshnet you only tell each node that you connect with which two node to forward traffic through (one on the way there and one on the way back assuming you take the same route back), you dont have to tell any node your final destination or even where the traffic came from except for the second to last node and you dont even have to tell that node that the last node is your final destination.

you can accomplish this by using something like a blockchain to record and transmit data about which nodes are connected to which what the prices are for trasmitting data through each node as well as public keys for each node. you take your data and wrap it in layers of relevant keys broadcast it out. each node looks at the data it recieves to see if that data is encrypted with its key. if it isnt than it ignores it, if it is than it unwraps that layer and rebroadcasts it. then all its adjacent nodes look at this newly unwrapped packet and if one of those nodes has the key to this new packet than the process repeats.

Rep Thread: https://bitcointalk.org/index.php?topic=381041
If one can not confer upon another a right which he does not himself first possess, by what means does the state derive the right to engage in behaviors from which the public is prohibited?
TitanBTC
Sr. Member
****
Offline Offline

Activity: 322



View Profile WWW
August 20, 2013, 11:52:34 PM
 #4

What are the benefits that you're trying to reap, specifically?

yes like holliday said, censorship resistance.

also it would be possible to build true anonymity into the system with no loss of efficiency, instead of layering things like tor ontop of the existing inferastructure. when you route your traffic through the meshnet you only tell each node that you connect with which two node to forward traffic through (one on the way there and one on the way back assuming you take the same route back), you dont have to tell any node your final destination or even where the traffic came from except for the second to last node and you dont even have to tell that node that the last node is your final destination.

you can accomplish this by using something like a blockchain to record and transmit data about which nodes are connected to which what the prices are for trasmitting data through each node as well as public keys for each node. you take your data and wrap it in layers of relevant keys broadcast it out. each node looks at the data it recieves to see if that data is encrypted with its key. if it isnt than it ignores it, if it is than it unwraps that layer and rebroadcasts it. then all its adjacent nodes look at this newly unwrapped packet and if one of those nodes has the key to this new packet than the process repeats.

OK.  Sorry for the stupid questions but if the idea is avoiding censorship then, it seems like node locations are going to be encrypted as well, yes?  Does that make it impractical to solve the path optimization problems that get you where you want to go in a reasonable amount of time?  For instance, if its a Traveling Salesman problem http://en.wikipedia.org/wiki/Traveling_salesman_problem in order to avoid duplicate node visits to maximize the available bandwidth of the network, how do you decrypt locations before you arrive at a node with the public key?  If you really don't care about location, then the speed of data transmission is going to suffer.  Maybe the proof of concept isn't concerned so much about performance, but it seems like speed is eventually going to be the primary issue. 

Practically, when performance begins to matter, I think you've GOT to load balance the nodes.  If your looking at it from a load balancing perspective, any algorithm that gets implemented would need to comprise up-to-date information from each node (connection quality, transmission errors, available bandwidth, cost of transmission).  Making this work with a blockchain type solution seems like it suffers inherently from because of the time it takes to update the state of the network.  Maybe this kind of performance data can be collected/analyzed node to node as data is sent, but that has got to be a non-trivial processing requirement.  Are the nodes themselves doing path optimization?  Does the client plot a course based on the info that was available when the blockchain was last updated?  Maybe you have some "super nodes" in the mix that are dedicated network monitoring centers and processing centers?

I would guess that the preferred implementation would be completely distributed with no network hierarchy.  Maybe if anonymity is all that matters, the performance issues are unimportant.  Its a very interesting concept though.

Anon136
Legendary
*
Offline Offline

Activity: 1288



View Profile
August 21, 2013, 05:29:50 AM
 #5

Quote
OK.  Sorry for the stupid questions
Your questions are not stupid, the extent to which you comprehend my incomprehensible ramblings is beyond surprising to me. I have to say i love this forum.

i think i was (mostly) wrong in saying that this system would be censorship resistant. it would be more censorship resistant in the sense that in order to take out the whole network the censurer would have to take down more targets. but those targets would be broadcasting their existence with giant flashing 1000 foot high neon signs so it would only be marginally more difficult.

so i guess the only real advantages would be that the system might be more robust, it might have built in anonymity that was more efficient than using tor (this would thwart the sort of data hoovering the nsa is doing now), it might be cheaper due to more competition and it might be more pervasive. also the government couldn't order your isp to turn off the internet to your house.

still not world changing or anything. oh well.

Quote
Are the nodes themselves doing path optimization?
no. this would require the nodes to know the destination. this would compromise privacy for the user.

Quote
Does the client plot a course based on the info that was available when the blockchain was last updated?
this

Quote
Maybe you have some "super nodes" in the mix that are dedicated network monitoring centers and processing centers?
i dont think so. the nodes would have good incentive to broadcast data about themselves since it would be his primary way of advertising his service. he would also have an interest in rebroadcasting the information his neighbors published about themselves since this would make it more likely for users to find their way to his service. since the incentives are good and in the right place already its hard to know what incentives the super-nodes would have to provide this service. it would be a very informal and adhocratic open source system though hopefully so if there was a market for such a service than i dont see any reason why it couldnt come into existence.

not really a response to anything you said, but as an interesting aside, while we are talking about super nodes. there would probably be super nodes not for mapping but for transmitting data though. entrepreneurs would probably find good profit in building physical infrastructure (fiber optic cable connections ect...) between cities. physical lines would probably be used by most people to communicate across long distances. but this would still be very different from the internet. the network would in no way be dependent upon these sorts of connections and if these lines went down the network could adapt easily and quickly so they wouldn't be points of vulnerability.

Rep Thread: https://bitcointalk.org/index.php?topic=381041
If one can not confer upon another a right which he does not himself first possess, by what means does the state derive the right to engage in behaviors from which the public is prohibited?
b!z
Legendary
*
Offline Offline

Activity: 1568



View Profile
August 21, 2013, 11:41:21 AM
 #6

TOR deep net already exists and it is resistent to censorship.
jdbtracker
Hero Member
*****
Offline Offline

Activity: 687


Minimum Effort/Maximum effect


View Profile
August 21, 2013, 03:15:47 PM
 #7

use a blockchain with rotating private keys, the blockchain should only contain private key data that gets updated in a known pattern only known to the local computers that are communicating with each other. You may know how many people are connected to the network but because the network address re-organize themselves after every message, you can't follow anyone. mini-Enigma code style.

only the two computers communicating know the pattern and for each recipient the pattern changes, all messages are held at the computer waiting for broadcast, this would require a local mini-blockledger of the recipients and keys. Network rerouting is solved by simply checking the public blockledger for messages.

 Just a comparison problem between the two blockledgers. This would have to be done on top of a system like CJDNS or over the regular internet using fixed addresses to find specific pages on the network that get modified randomly after the initial contact. old keys get erased on the public blockledger after a pre-determined time. It's a hybrid solution but it would solve the routing problem.

edit: the .bit domain can be used for further censorship proofing... but it would make it slow to be adopted by the general public, but quick to be adopted by it's core group, techies.
    Also adding a magnetic link style system for public websites would increase download speeds as all websites could be torrented from other users that have visited the same pages.

If you think my efforts are worth something; I'll keep on keeping on.
I don't believe in IQ, only in Determination.
Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!