Pages:
Author

Topic: Professional TOR network with Bitcoin fees? (Read 2431 times)

hero member
Activity: 770
Merit: 566
fractally
This is why you do not use bitcoin directly, but instead digital cash with blinded tokens.

but dosnt that then rely on the person dispensing the tokens not getting caught?

Assuming it is illegal to operate a bitcoin bank that issues digital cash?

Who says there has to be just one such bank or that the bank couldn't just be a single node in the network? 

You deposit a small amount that you are willing to 'lose' with an anonymous bank and then use that anonymous bank to handle transactions for all of your connections.  For this to work, the nodes on the network need to 'batch' redeem the tokens they accept AND the anonymous bank must have enough volume that redemption patterns do not reveal your channel.   All nodes on the network would have to 'trust' one or more banks to some extent and periodically withdraw actual BTC to actually collect on the value.

Nodes could operate on a basis of constantly exchanging tokens with the bank, regardless of how much traffic they have coming through and therefore prevent the bank from detecting the path.  You would have to *trust* the nodes not to collaborate, but you are already doing that with TOR. 

Nodes could be dynamically promoted to 'bank status' after a certain amount of successful business with others.   Sure, there is always some risk that someone could set up a bank and then 'walk away', but if the rules allowed the bank to 'make money' by being honest then it will be more profitable to operate the bank than to 'run with the money'. 
sr. member
Activity: 375
Merit: 250
the purpose of a professional tor network is to maintain anonymity while allowing users to increase speeds by paying for faster servers and at the sane time avoiding a possible tragedy of the Commons. if someone donates to a foundation, that is concentrated costs and diffused benefits. if a person wants that money to only go towards the specific things they want it to go to, then there might also be more people willing to donate.
legendary
Activity: 1540
Merit: 1002
This is why you do not use bitcoin directly, but instead digital cash with blinded tokens.

but dosnt that then rely on the person dispensing the tokens not getting caught?
hero member
Activity: 770
Merit: 566
fractally
This is why you do not use bitcoin directly, but instead digital cash with blinded tokens.
legendary
Activity: 1540
Merit: 1002
i like the idea but i dont see much point in it... why do you want a Professional TOR network? and making it so you have to pay for it makes it a hell of alot easier to get compromised. if the nodes are sharing ip addresses of other nodes and 1 node gets compromised then all the nodes on that nodes list risk getting compromised.
its why TOR is such a bugger to trace in the first place because so many people in so many locations have set up entry and exit nodes and theres no real link to them, but if you introduce money then you introduce a link and each node would have to go through a cleaning all the Bitcoins to stay safe
i dont know if im missing the point of it.

but if its for a good reason iv got a very high speed server id be willing to help out with
legendary
Activity: 1036
Merit: 1002
I was working on design of such a system for a bit, it is currently on hold because it turned out much too extensive as a hobby project.

Think about it: you have to deal with maximum privacy attacks AND maximum money-gaming attacks by all players, including colluding users and nodes.



For all I could figure out, you'll need eCash-type banks of some optimal scale and a protocol for floating prices and trust-establishment that cannot be gamed for profit. I think it is possible but don't have the time or resources to work on it, nor a business model to profit off it, especially without going to jail as soon as people use it to launder money, trade child porn or whatever.

Personally, I believe there's more dormant power in automated banking (with trust management) than in Bitcoin. Its anonymity, efficiency and ability to perform trades directly in the system should outweigh the trouble of sporadic losses due to failing micro-banks. Trading for traffic routing is just one example application.
hero member
Activity: 770
Merit: 566
fractally
What about a client that works with Mike Hearn's rapidly adjusted micropayments?

Anything that uses the block chain would tie your wallet to the exit node.   Unless you are VERY CARFUL (more careful than I think I could be) this would compromise the entire purpose of TOR.
hero member
Activity: 714
Merit: 500
Martijn Meijering
The Open Transactions website lists funding a Tor exit node with OT as one of its business cases:

https://github.com/FellowTraveler/Open-Transactions/wiki/Business-Cases
legendary
Activity: 2618
Merit: 1007
What about a client that works with Mike Hearn's rapidly adjusted micropayments?
hero member
Activity: 770
Merit: 566
fractally
You cannot use bitcoin directly to pay for it.  It would be too slow and not anonymous enough.   The minimum transaction fee would be greater than the cost of a 10 minute connection.

Instead what I have proposed is to pick several "trusted" nodes to serve as a bank for blinded cash tokens.  You would have Bitcoin deposit ~ $1.00 at a time and then simply pay by sending the
tokens across the network to each hop.

The trick is to make sure that the nodes do not reveal the circuit by 'cashing in as you build it', they would have to make requests to the bank at regular intervals and 'trust' the tokens in the mean time.

If someone is getting paid for an 'exit node', the 'exit node' itself could use one or more proxies / VPNs.

There is also the potential of white-listing safe sites.
sr. member
Activity: 350
Merit: 250
I am actively developing such a system...  the challenge is micropayments, but I think I have it all worked out.

The microtransactions could be solved by withdrawing them from Bitcoin network like when putting to cold storage and then sent to a paid Tor node in form of string, couldn't it?


And I have one question for everyone - we are tlaking about paying for Tor, but what is legality of running a Tor exit node? What if user do something illegal in your country (while representing YOU by your IP)?? The police might knock on your door anytime! Did anyone some research about law and Tor? I would be very interesting to learn something
hero member
Activity: 770
Merit: 566
fractally
I'll tell you what, if you can raise more funding for the TOR network then it will get done first.   As it stands I have several orders of magnitude more investment money behind BitShares.   

Now if you want me to switch back to the TOR project, then I can provide the details of my design and let someone else implement it or you can attempt to collect the 10 BTC bounty to get me to abandon BitShares and I will come back to this.

*note*  I still want to see this happen as I think it will be critical!   But I have also recently learned of a new p2p network that is soon to be released (from one of the BitShare backers) that *might* make my work on this redundant.

hero member
Activity: 882
Merit: 501
Ching-Chang;Ding-Dong
tor first please.
hero member
Activity: 770
Merit: 566
fractally
I am well aware of what OT and Ripple have and trust me, my solution is both simpler and an order of magnitude more robust.   Granted, we do need a tor like system as well! 

I posted a white-paper on another thread you may want to check out:

https://bitcointalksearch.org/topic/m.2238954

A quick summary is this:

1) all balances (fiat or otherwise) pay interest
2) all fiat balances are created by someone borrowing against a crypto-currency used as collateral. 
3) payments from the collateral are distributed to those who hold a balance in that fiat currency.
4) people borrow against their crypto-currency because they expect it to go up in value relative to fiat AND the crypto-currency also pays dividends from transaction fees.
5) once you have a fiat balance it can be traded as easily as a bitcoin balance.
6) fiat balances are always 100% redeemable at face value (excluding transaction fees) so long as the underlying crypto-currency maintains any amount of value.
7) the effective interest rate on fiat balances goes UP when the value of the crypto currency goes up.

Given my approach we can now eliminate the centralized exchange.  Allow individuals acting as 'local-bitcoin operators' or posting on craigslist to 'deposit' and 'withdraw' $USD or EUR from other individuals without having exchange risk but only a potential 'transaction fee'.    There would be more people wanting to deposit $USD because their $USD balances pay interest and with more people wanting to deposit that means more people wanting to withdraw which equals more opportunities for local exchanges.   People could use the system without ever owning an asset denominated in a crypto-currency to trade $USD among themselves, etc.
hero member
Activity: 714
Merit: 500
Martijn Meijering
I think the distributed exchange thing is well covered by Ripple and OT, though more redundancy is always welcome. I don't see anything happening on the TOR front though, and that may become crucial if statist forces try to clamp down on cryptocurrencies. I think you may be able to make a bigger difference there.
hero member
Activity: 770
Merit: 566
fractally
I have put in about 30 hours of development effort.  Turned parts of Open Trx into a library for anonymous cash, learned / integrated elliptic curve cryptography and made progress on the protocol layer.

Then I came up with an amazing way to enable fiat currencies to be turned into fully backed crypto-currencies that enable a true P2P exchange + USD accounts that actually pay 'interest' while being anonymous and entirely decentralized. 

Now I am torn, I want to see both things happen!
hero member
Activity: 714
Merit: 500
Martijn Meijering
Any updates on this?
hero member
Activity: 609
Merit: 506
This of course means there might be need for adjustment of encryption keys in Tor software and close integration of Tor/Vidalia and Bitcoin-Qt. Probably Bitcoin-Qt might be unchanged but Vidalia and Tor will communicate to Bitcoin-Qt like Armory does.

Or maybe one could introduce Tor credits which can be tightly integrated into Tor software, while at the same time having a freely floating rate of exchange with bitcoin.
hero member
Activity: 770
Merit: 566
fractally
Ok, this sounds great!   Outside interest/team work can really help motivate me to get this done.  So here is the deal, pester me about this and I will attempt to deliver.   I do best under pressure, so lets set a target deadline for initial capability say 1 month.

Let me give some of my design ideas to get feedback.   I could start with TOR or I2P but unless all nodes are operating for a profit you will have some major performance issues.   Besides, I think TOR and I2P both have some positive design aspects.   In the end, I think it will be faster to create a tor-like system rather than integrating with TOR.

1) It will be UDP based to enable easy traversal of firewalls and enable 'streaming' data that doesn't require order.
2) It will use the UDT protocol to enable streaming of TCP data over UDP
3) Each node will have a 2048 public key that will identify the node.
4) The public key is used to prevent man-in-the middle and to negotiate a blowfish key.
      - the blowfish key is used because it is 'fast' and secure enough and we want to
        minimize the latency in the network.
5) version 1 will implement a simple HTTP proxy interface on the client side that will allow
    any browser to connect.  Later versions will use SOCKS.
6) on the 'exit side' each node can either set up its own http proxy that all 'exit' tcp connections will connect to.

How you pay for service:
1) Initially I will set up a bitcoin bank that will issue anonymous blinded cache tokens (Open Transactions), the client will allow you to deposit bitcoin and withdraw cash tokens.  These tokens will be a small denomination, perhaps 1uBTC.   You can also deposit cash tokens and withdraw to a btc address.
2)  This bitcoin bank will also host a public database of all known nodes in the system along with their IP/public key.  This database will be used by the client to plan routes.
3) Nodes and clients will alternate being the 'creditor' such that initially the client will deposit 1uBTC and have right to 1 unit of data transfer.  The client will be allowed up to 2 units of data transfer before being cut off with a -1 uBTC balance.  To continue the client would then deposit 2uBTC.  This back/forth exchange should cause the 'average balance on close connection' to be 0 and should encourage 'long lived' connections (10 minutes or so) which should have only a small percentage under/over payment.   
       
When you open a connection you plan a route through N nodes and progressively build out the channel.  As you do so you deposit 54uBTC at each node and are credited with a fixed amount of data.   Once the client will automatically deposit more as your balance runs low.   

Now if you leave your node on the network all the time, you will earn more BTC than you use and you can have a 'fast' and 'free' experience.   If you need to download a lot of data then you may deposit BTC.   In theory, the price you pay for the service should approach the cost of bandwidth used.  High-speed nodes may charge more than DSL nodes.   

Initially there will only be one 'bank', but that can easily be decentralized.

An alternative 'micropayment' system would be to have nodes calculate a 'proof of work' toward a mining pool.  Unfortunately, this system creates a delay and will probably require end users to have ASIC to generate enough value to pay for their bandwidth usage in real time.

hero member
Activity: 882
Merit: 501
Ching-Chang;Ding-Dong
I have a couple fast servers that I'd be happy to beta test with. When you need a few extra places to help test from, let me know.
Pages:
Jump to: