Bitcoin Forum
May 10, 2024, 10:29:43 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: F2F bitcoin network  (Read 2510 times)
alkor (OP)
Full Member
***
Offline Offline

Activity: 136
Merit: 100


View Profile
January 31, 2011, 06:14:11 PM
 #1

The current p2p implementation of Bitcoin makes its users easily identifiable, as they broadcast their IP addresses to all peers on the network, including nodes set up with the intent to monitor the network and persecute its users.

With this in mind, one may want to disable connections to untrusted third parties, and allow connections only to a few trusted friends. This is the concept of a friend-to-friend (F2F) network (vs a P2P network), and it is described on Wikipedia http://en.wikipedia.org/wiki/Friend-to-friend in great detail. It has been already implemented in various file sharing programs such as http://anomos.info/wp/, http://www.turtle4privacy.org/new/, etc

In such a setup the edges of graph of the Bitcoin network will actually represent physical relationships between the participants in the real world, and the network overall will be much harder to disrupt by  brute-force attacks. Even if a malicious third party takes over 51% of the computing power, their blockchain will be rejected by the trust-based f2f network. However, the drawback of this approach is that it would be much harder to build the network initially as more work is required to identify and add friends, whereas with the p2p approach the user just installs the program and is ready to go.

For a stronger bitcoin infrastructure it will be beneficial to keep both the P2P protocol because of its ease of use, and add an F2F protocol because of its resilience. To that end, it is important to decouple the core of bitcoin from the implementation details of the communication protocol.

If problems arise with the p2p approach, one should be able to easily switch to the f2f backend, and connect only to a trusted circle of friends. In case of an emergency law allowing  the government to turn off the entire internet completely (like in Egypt right now), then an offline communcation protocol should be put in place, where the user should be able to do off-line transport by transferring packets on flash drives between computers, or via the mail. Although significantly slower, the bitcoin network will still continue to function.

So, are there any plans to decouple the communication protocol from the implementation of bitcoin? Maybe different communication protocols should be handled as plugins that one could easily install or disable depending on his anonymity needs?
1715336983
Hero Member
*
Offline Offline

Posts: 1715336983

View Profile Personal Message (Offline)

Ignore
1715336983
Reply with quote  #2

1715336983
Report to moderator
1715336983
Hero Member
*
Offline Offline

Posts: 1715336983

View Profile Personal Message (Offline)

Ignore
1715336983
Reply with quote  #2

1715336983
Report to moderator
Activity + Trust + Earned Merit == The Most Recognized Users on Bitcointalk
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
MacRohard
Full Member
***
Offline Offline

Activity: 212
Merit: 100



View Profile
January 31, 2011, 06:31:24 PM
 #2

The current p2p implementation of Bitcoin makes its users easily identifiable, as they broadcast their IP addresses to all peers on the network, including nodes set up with the intent to monitor the network and persecute its users.

With this in mind, one may want to disable connections to untrusted third parties, and allow connections only to a few trusted friends. This is the concept of a friend-to-friend (F2F) network (vs a P2P network), and it is described on Wikipedia http://en.wikipedia.org/wiki/Friend-to-friend in great detail. It has been already implemented in various file sharing programs such as http://anomos.info/wp/, http://www.turtle4privacy.org/new/, etc

In such a setup the edges of graph of the Bitcoin network will actually represent physical relationships between the participants in the real world, and the network overall will be much harder to disrupt by  brute-force attacks. Even if a malicious third party takes over 51% of the computing power, their blockchain will be rejected by the trust-based f2f network. However, the drawback of this approach is that it would be much harder to build the network initially as more work is required to identify and add friends, whereas with the p2p approach the user just installs the program and is ready to go.

For a stronger bitcoin infrastructure it will be beneficial to keep both the P2P protocol because of its ease of use, and add an F2F protocol because of its resilience. To that end, it is important to decouple the core of bitcoin from the implementation details of the communication protocol.

If problems arise with the p2p approach, one should be able to easily switch to the f2f backend, and connect only to a trusted circle of friends. In case of an emergency law allowing  the government to turn off the entire internet completely (like in Egypt right now), then an offline communcation protocol should be put in place, where the user should be able to do off-line transport by transferring packets on flash drives between computers, or via the mail. Although significantly slower, the bitcoin network will still continue to function.

So, are there any plans to decouple the communication protocol from the implementation of bitcoin? Maybe different communication protocols should be handled as plugins that one could easily install or disable depending on his anonymity needs?

I think might be quite interesting is if bitcoin could communicate using other protocols.. in particular something like XMPP might be quite handy. Perhaps there could be a few well known XMPP addresses that clients could boostrap with.. it would also be harder for governments to block without alot of collateral damage against other non-bitcoin XMPP traffic. You could have a bitcoin client where the only connection is an outbound TCP to google talk for example.

kwukduck
Legendary
*
Offline Offline

Activity: 1937
Merit: 1001


View Profile
January 31, 2011, 07:44:25 PM
 #3

Users are identifyable by IP (or not? proxy..), transactions don't have to be that.

14b8PdeWLqK3yi3PrNHMmCvSmvDEKEBh3E
Gavin Andresen
Legendary
*
Offline Offline

Activity: 1652
Merit: 2216


Chief Scientist


View Profile WWW
February 01, 2011, 05:51:08 PM
 #4

You can setup your own f2f bitcoin network using the -connect option, connecting only to friends.

One of those friends must be connected to the rest of the bitcoin world, of course.

Experimenting with sending transactions and blocks over XMPP or some other network is a great idea-- go for it!  It shouldn't be hard to create a "bitcoin bridge" that relays traffic on the main bitcoin network to/from another network.


How often do you get the chance to work on a potentially world-changing project?
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!