Author

Topic: Bitcoin relay on a piratebox.... (Read 2549 times)

legendary
Activity: 1708
Merit: 1007
March 07, 2012, 11:56:42 PM
#11
I've built a working piratebox from a TP-Link MR-3020 (http://wiki.daviddarts.com/PirateBox_DIY_OpenWrt#Tutorial_A:_TP-Link_MR3020) and now I want to put a small bitcoin 'relay' on the device.  The goal is to have a simple process running on the piratebox that will present itself to connected peers as a bitcoin peer, allow bitcoin clients (on android devices, for example) to connect as normal, and relay transactions, blocks and other messages from one connected peer to all others present, but not to perform checks on the transactions or blocks or to keep a local blockchain.  The idea is to allow two (or more) bitcoin clients to transact in meatspace (within radio range of the piratebox) without either device needing live access to the Internet to do so.  Imagine, as an example, a phone-to-phone bitcoin transaction during a power and/or widespread Internet outage; or alternately, a transaction between two people out camping beyond their service plan's coverage map.  Why two people would want to deal in bitcoin beyond the reach (or observation) of elements of the Internet are beyond the scope of this request.

Can it run Java? I recently added the capability to accept incoming Bitcoin requests to BitcoinJ (my local copy, not pushed upstream yet).

Not yet, but there is no reason that I can think of that Java couldn't be added.
hero member
Activity: 496
Merit: 500
March 07, 2012, 09:54:48 PM
#10
I've built a working piratebox from a TP-Link MR-3020 (http://wiki.daviddarts.com/PirateBox_DIY_OpenWrt#Tutorial_A:_TP-Link_MR3020) and now I want to put a small bitcoin 'relay' on the device.  The goal is to have a simple process running on the piratebox that will present itself to connected peers as a bitcoin peer, allow bitcoin clients (on android devices, for example) to connect as normal, and relay transactions, blocks and other messages from one connected peer to all others present, but not to perform checks on the transactions or blocks or to keep a local blockchain.  The idea is to allow two (or more) bitcoin clients to transact in meatspace (within radio range of the piratebox) without either device needing live access to the Internet to do so.  Imagine, as an example, a phone-to-phone bitcoin transaction during a power and/or widespread Internet outage; or alternately, a transaction between two people out camping beyond their service plan's coverage map.  Why two people would want to deal in bitcoin beyond the reach (or observation) of elements of the Internet are beyond the scope of this request.

Can it run Java? I recently added the capability to accept incoming Bitcoin requests to BitcoinJ (my local copy, not pushed upstream yet).
hero member
Activity: 742
Merit: 500
March 06, 2012, 11:11:43 PM
#9
Maybe you don't need to provide an actual bitcoin proxy. If the 2 nodes in your private subnet are able to find each other that should be enough to establish p2p communication.

Not sure how peer discovery works now, but maybe you just need to provide the (disconnected from the real world) IRC channel used to bootstrap nodes.

-coinft

That's a good idea.

Yeah that is a good idea.

Bitcoin joins a random channel between #bitcoin00 and #bitcoin99 on irc.lfnet.org. Your nick is set to an encoded form of your IP address. By decoding all the nicks of all users on the channel, you get a list of all IP addresses currently connected to Bitcoin.
For hosts that cannot make outbound connections on port 6667, the lfnet servers are also listening on port 7777.

You could setup chanserv to forward everyone to the same channel since finding each other randomly in 100 channels probably won't work too well.  Looks like modes "l" and "L" are what we would need.

Now I wish I had a piratebox to play with.
legendary
Activity: 1708
Merit: 1007
March 06, 2012, 03:17:45 PM
#8
Maybe you don't need to provide an actual bitcoin proxy. If the 2 nodes in your private subnet are able to find each other that should be enough to establish p2p communication.

Not sure how peer discovery works now, but maybe you just need to provide the (disconnected from the real world) IRC channel used to bootstrap nodes.

-coinft

That's a good idea.
full member
Activity: 187
Merit: 100
March 06, 2012, 08:11:17 AM
#7
Maybe you don't need to provide an actual bitcoin proxy. If the 2 nodes in your private subnet are able to find each other that should be enough to establish p2p communication.

Not sure how peer discovery works now, but maybe you just need to provide the (disconnected from the real world) IRC channel used to bootstrap nodes.

-coinft
legendary
Activity: 1708
Merit: 1007
March 02, 2012, 12:27:12 AM
#6
Well the pirate box is going to need some sort of internet connection if you want to ensure no double spends and to allow any recent (since you last got the blockchain) coins/outputs to be spent..


I do not want to ensure any such thing.  An Internet connection defeats the point.  I'm presuming that two people transacting in near-meatspace probably know each other well enough that defenses against a double-spend attack are unnecessary.
hero member
Activity: 742
Merit: 500
March 01, 2012, 11:06:50 PM
#5
Well the pirate box is going to need some sort of internet connection if you want to ensure no double spends and to allow any recent (since you last got the blockchain) coins/outputs to be spent..
hero member
Activity: 714
Merit: 500
February 28, 2012, 09:54:33 PM
#4
Interesting.
legendary
Activity: 1708
Merit: 1007
February 28, 2012, 04:20:39 PM
#3
That sounds interesting, and would be a wonderful thing to have if one had both a wifi radio and a Dash7 radio, but it's overkill for what I'm trying to do.
legendary
Activity: 2506
Merit: 1010
February 28, 2012, 03:32:53 PM
#2
The goal is to have a simple process running on the piratebox that will present itself to connected peers as a bitcoin peer, allow bitcoin clients (on android devices, for example) to connect as normal, and relay transactions, blocks and other messages from one connected peer to all others present

I know the Free Network Foundation was considering adding the ability for a FreedomNode to do similar.  I don't know if their feature set has solidified yet:
 - http://freenetworkfoundation.org/?p=658
legendary
Activity: 1708
Merit: 1007
February 28, 2012, 02:58:44 PM
#1
I've built a working piratebox from a TP-Link MR-3020 (http://wiki.daviddarts.com/PirateBox_DIY_OpenWrt#Tutorial_A:_TP-Link_MR3020) and now I want to put a small bitcoin 'relay' on the device.  The goal is to have a simple process running on the piratebox that will present itself to connected peers as a bitcoin peer, allow bitcoin clients (on android devices, for example) to connect as normal, and relay transactions, blocks and other messages from one connected peer to all others present, but not to perform checks on the transactions or blocks or to keep a local blockchain.  The idea is to allow two (or more) bitcoin clients to transact in meatspace (within radio range of the piratebox) without either device needing live access to the Internet to do so.  Imagine, as an example, a phone-to-phone bitcoin transaction during a power and/or widespread Internet outage; or alternately, a transaction between two people out camping beyond their service plan's coverage map.  Why two people would want to deal in bitcoin beyond the reach (or observation) of elements of the Internet are beyond the scope of this request.
Jump to: