Bitcoin Forum
May 04, 2024, 10:19:55 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Using i2p with Bitcoin?  (Read 202 times)
Abiky (OP)
Legendary
*
Offline Offline

Activity: 3192
Merit: 1359


www.Crypto.Games: Multiple coins, multiple games


View Profile
December 17, 2019, 08:26:19 PM
 #1

Has anyone explored the possibility of integrating i2p with Bitcoin? I mean, if it's possible to connect to the Bitcoin Blockchain using the Tor network, then it'll be easy to do this with i2p as well. The real question is how to do it since there's no thought-out guide (AFAIK) that would tell you how to connect to the BTC blockchain through i2p. Most often, I consider the i2p network to be much more secure and anonymous than the Tor network itself. Imagine the possibilities this would bring if used with the Bitcoin blockchain. Anyone will be able to achieve a greater level of anonymity using Bitcoin with i2p even on some countries' ISPs which restrict access to the Tor network.

Any recommendations or suggestions will be highly appreciated. Thank you. Smiley

█████████████████████████
███████▄▄▀▀███▀▀▄▄███████
████████▄███▄████████
█████▄▄█▀▀███▀▀█▄▄█████
████▀▀██▀██████▀██▀▀████
████▄█████████████▄████
███████▀███████▀███████
████▀█████████████▀████
████▄▄██▄████▄██▄▄████
█████▀▀███▀▄████▀▀█████
████████▀███▀████████
███████▀▀▄▄███▄▄▀▀███████
█████████████████████████
.
 CRYPTOGAMES 
.
 Catch the winning spirit! 
█▄░▀███▌░▄
███▄░▀█░▐██▄
▀▀▀▀▀░░░▀▀▀▀▀
████▌░▐█████▀
████░░█████
███▌░▐███▀
███░░███
██▌░▐█▀
PROGRESSIVE
      JACKPOT      
██░░▄▄
▀▀░░████▄
▄▄▄▄██▀░░▄▄
░░░▀▀█░░▀██▄
███▄░░▀▄░█▀▀
█████░░█░░▄▄█
█████░░██████
█████░░█░░▀▀█
LOW HOUSE
         EDGE         
██▄
███░░░░░░░▄▄
█▀░░░░░░░████
█▄░░░░░░░░█▀
██▄░░░░░░▄█
███▄▄░░▄██▌
██████████
█████████▌
PREMIUM VIP
 MEMBERSHIP 
DICE   ROULETTE   BLACKJACK   KENO   MINESWEEPER   VIDEO POKER   PLINKO   SLOT   LOTTERY
The Bitcoin network protocol was designed to be extremely flexible. It can be used to create timed transactions, escrow transactions, multi-signature transactions, etc. The current features of the client only hint at what will be possible in the future.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714861195
Hero Member
*
Offline Offline

Posts: 1714861195

View Profile Personal Message (Offline)

Ignore
1714861195
Reply with quote  #2

1714861195
Report to moderator
1714861195
Hero Member
*
Offline Offline

Posts: 1714861195

View Profile Personal Message (Offline)

Ignore
1714861195
Reply with quote  #2

1714861195
Report to moderator
squatter
Legendary
*
Offline Offline

Activity: 1666
Merit: 1196


STOP SNITCHIN'


View Profile
December 17, 2019, 11:11:26 PM
Merited by Carlton Banks (2), ABCbits (1)
 #2

There has been some discussion about this over the years. In fact, there was a Bitcoin fork that worked on I2P back in 2013 or so. The developer never tried to get it implemented into Bitcoin Core.

Back then, this is what Pieter Wuille had to say about the subject:

Quote
So, "support" for an external relay network requires:

    The ability to internally resolve the equivalent of the relay network's "IP addresses", and send them to a separately-configurable proxy service.
    The ability to relay such "IP addresses" over the P2P network.

For Tor, we cheated, by reusing some address space within IPv6 (the onioncat range) as onion IP addresses. This allowed fixing both issues at once, as we already internally and on the P2P network use IPv6 everywhere.

I2P and cjdns cannot use this method, as their addresses are too large to fit in IPv6. Garlicat exists for mapping i2p into IPv6, but it requires an external lookup service to convert garlicat addresses to ful I2P addresses. I don't know phantom.

If we want to support more types of networks, the first step is probably adding something like a CExtNetAddr, which represents either a CNetAddr or some address in another network. The connection/proxy logic could easily support that.

For relaying, such a CExtNetAddr would need to become part of the P2P protocol. Maybe we wish to push for that at some point, but probably together with other improvements like host keys and authenticated connections.

Carlton Banks
Legendary
*
Offline Offline

Activity: 3430
Merit: 3071



View Profile
December 18, 2019, 03:27:47 PM
Last edit: December 18, 2019, 03:51:54 PM by Carlton Banks
Merited by Abiky (1), ABCbits (1)
 #3

There has been some discussion about this over the years. In fact, there was a Bitcoin fork that worked on I2P back in 2013 or so. The developer never tried to get it implemented into Bitcoin Core.

Back then, this is what Pieter Wuille had to say about the subject:

Quote
So, "support" for an external relay network requires:

    The ability to internally resolve the equivalent of the relay network's "IP addresses", and send them to a separately-configurable proxy service.
    The ability to relay such "IP addresses" over the P2P network.

For Tor, we cheated, by reusing some address space within IPv6 (the onioncat range) as onion IP addresses. This allowed fixing both issues at once, as we already internally and on the P2P network use IPv6 everywhere.

I2P and cjdns cannot use this method, as their addresses are too large to fit in IPv6. Garlicat exists for mapping i2p into IPv6, but it requires an external lookup service to convert garlicat addresses to ful I2P addresses. I don't know phantom.

If we want to support more types of networks, the first step is probably adding something like a CExtNetAddr, which represents either a CNetAddr or some address in another network. The connection/proxy logic could easily support that.

For relaying, such a CExtNetAddr would need to become part of the P2P protocol. Maybe we wish to push for that at some point, but probably together with other improvements like host keys and authenticated connections.

the groundwork for supporting I2P is in motion, there's a work-in-progress pull request (user @dongcarl implementing wladimir van der laan's spec) that iterate the the addr metwork message to a version that has an IP field with sufficient length for either I2P or cjdns IP addresses. As with any such changes (i.e. protocol changes), it's gonna sit for a while before it gets merged. But it's on the way, there's nothing particularly blocking it, just that these things shouldn't be rushed, and also that pretty much all the devs seem to be working simultaneously on multiple improvements that also take time and need considering and reviewing etc.


The real question is how to do it since there's no thought-out guide (AFAIK) that would tell you how to connect to the BTC blockchain through i2p.

It won't be as simple as setting up Tor. I2P is inherently an internal-only network, i.e. it doesn't have protocol built-in outpoints with which to access the regular DNS resolved internet (or even accessing regular IP addresses outside of the I2P network). So you would need to explicity configure your Bitcoin node's machine to relay with Bitcoin nodes on the regular internet too, otherwise you'll suffer extraordinary risk of all sorts of sybil/partitioning attacks (which is already the case with Bitcoin over Tor). That would be quite a setup, and, really, the safest way to do that is running the Bitcoin node that's on the regular internet yourself, so even more of a setup. This comes with anonymity trade-offs almost certainly, but the alternative is an unacceptable risk to your node's awareness of the current valid chain.


Most often, I consider the i2p network to be much more secure and anonymous than the Tor network itself. Imagine the possibilities this would bring if used with the Bitcoin blockchain.

Yeah, I don't know about that altogether. When you read descriptions of I2P's architecture/protocol, it sounds great. I have never been enthusiastic about the implementation of that design however.

Two implementations of I2P exist; the original is written in Java (which is a huge no when it comes to security), and the C++ implementation is written (seemingly) exclusively by people who are writing in the cyrilic alphabet (so Ukrainian or something). So it seems a little opaque (despite open source code, I'd still prefer to be able to understand the chatter going on around it).
 
I am kind of enthusiastic about I2P, it does sound like a good direction as a model for an anonymous overlay for the internet (certainly an evolution of Tor's concept). But I'm also a little cautious about the compromises. But if everyone started using it tomorrow, I also wouldn't be complaining.

Vires in numeris
Lottoshi
Copper Member
Newbie
*
Offline Offline

Activity: 98
Merit: 0


View Profile
December 18, 2019, 07:06:56 PM
 #4

I consider IPFS a competitor to i2p, what advantages does i2p has over the coming IPFS trend?
Ucy
Sr. Member
****
Offline Offline

Activity: 2576
Merit: 401


View Profile
December 19, 2019, 07:55:41 AM
 #5

Just went through I2P on google >wikipedia
This interests me:
Quote
I2P running on Android.
Release builds of an I2P Router application for Android can be found on the Google Play store under The Privacy Solutions Project's Google Play account or on an F-Droid repository hosted by the developers. [76]
Nightweb is an Android application that utilizes I2P and Bittorrent to share blog posts, photos, and other similar content. It can also be run as a desktop application. It is no longer in development.
https://en.m.wikipedia.org/wiki/I2P

Would be nice to have something like that on mobile devices (and easy to use.). The lack of mobile & easy-to-use version could prevent lots of people from using or taking it seriously. I wonder how well it runs on mobile devices though.

In fact, there was a Bitcoin fork that worked on I2P back in 2013 or so.

Is the Bitcoin fork still in existence and working on I2P?
Abiky (OP)
Legendary
*
Offline Offline

Activity: 3192
Merit: 1359


www.Crypto.Games: Multiple coins, multiple games


View Profile
December 19, 2019, 03:54:59 PM
 #6

There has been some discussion about this over the years. In fact, there was a Bitcoin fork that worked on I2P back in 2013 or so. The developer never tried to get it implemented into Bitcoin Core.

Back then, this is what Pieter Wuille had to say about the subject...

Interesting. Never thought that someone came with the idea of integrating the i2p network within the Bitcoin Blockchain. The i2p network is much more complicated than the Tor network itself. If the developer would've continued working on this i2p-based implementation of Bitcoin, the project would've been successful in the long run. But I guess that there are other more important things to work on, in order to make the Bitcoin Blockchain a better place. Scalability seems to be the biggest concern of developers nowadays. With the Lightning Network, anything is possible. This layer-two solution for scaling Bitcoin also provides privacy to its users. No LN transactions can be tracked on a block explorer, unlike transactions performed on the main chain.

Using Tor + VPN with the Bitcoin Blockchain, may be all we need to achieve a strong degree of privacy. The i2p feature is something optional and not entirely necessary these days to achieve anonymity using the Bitcoin Blockchain. Besides, with privacy coins like Monero and Grin, who cares about full-fledged privacy on Bitcoin? Roll Eyes



It won't be as simple as setting up Tor. I2P is inherently an internal-only network, i.e. it doesn't have protocol built-in outpoints with which to access the regular DNS resolved internet (or even accessing regular IP addresses outside of the I2P network). So you would need to explicity configure your Bitcoin node's machine to relay with Bitcoin nodes on the regular internet too, otherwise you'll suffer extraordinary risk of all sorts of sybil/partitioning attacks (which is already the case with Bitcoin over Tor). That would be quite a setup, and, really, the safest way to do that is running the Bitcoin node that's on the regular internet yourself, so even more of a setup. This comes with anonymity trade-offs almost certainly, but the alternative is an unacceptable risk to your node's awareness of the current valid chain.

Yes. I've figured this out when doing an in-depth analysis of the i2p network. It's much more complex than the Tor network itself. It's better off for Bitcoin to stay as is, since adding more complex features might "ruin" it. One thing for sure, is that no privacy technique is perfect. No one can achieve 100% anonymity by using alternative networks like Tor or i2p. The level of anonymity a user will get depends on his/her knowledge. Sometimes, carelessness of a user tends to expose his/her identity to the outside world. In networks like Tor or i2p, its important to be extremely careful by following the necessary security precautions in order to remain as anonymous as possible.

Bitcoin still works with the Tor network though, and it may be all we need to achieve some privacy across the Blockchain. If it were me, I'd use Tor + VPN alongside Bitcoin mixers to achieve a high level of privacy across the Blockchain. Better yet, privacy coins like Monero and Grin enforce anonymity techniques by default making our lives much easier.

But who knows? Maybe some developer becomes interested in making a cryptocurrency based off the i2p network a reality again. With enough tests, it could be possible to use this alternative network for Blockchain communications in case the Tor network becomes compromised sometime in the future. Until then, there are other more important things to take care about. Wink


Yeah, I don't know about that altogether. When you read descriptions of I2P's architecture/protocol, it sounds great. I have never been enthusiastic about the implementation of that design however.

Two implementations of I2P exist; the original is written in Java (which is a huge no when it comes to security), and the C++ implementation is written (seemingly) exclusively by people who are writing in the cyrilic alphabet (so Ukrainian or something). So it seems a little opaque (despite open source code, I'd still prefer to be able to understand the chatter going on around it).

I am kind of enthusiastic about I2P, it does sound like a good direction as a model for an anonymous overlay for the internet (certainly an evolution of Tor's concept). But I'm also a little cautious about the compromises. But if everyone started using it tomorrow, I also wouldn't be complaining.

Honestly, I didn't know the security tradeoffs using Java on top of C++. Considering that i2p is mostly focused on its Java source code, its resilience against external attacks should be questioned. Anyways, it's good know about the vulnerabilities of the i2p network. Its open-source model may lead to someone making a better and improved version of i2p sometime in the future. We already have the C++ code, but I believe that it needs more work. It's no secret that the Tor network has far better support than i2p. I guess that's the reason why developers decided to work more on implementing Tor for the Bitcoin blockchain instead of i2p.

Still, any developer can design a new cryptocurrency (or work on an existent one) that would make use of the i2p network. It takes time, effort, and several tests to get the job done. With enough funding, the project could succeed in the long run. But as I've said before, there might be other important things to focus than just privacy/anonymity. If Bitcoin wants to gain the approval of worldwide governments, it would need to stay as transparent as possible. This explains why developers have been focusing on scalability and decentralization above privacy/anonymity. All in all, the adoption of i2p would be something that could increase the level of privacy among Bitcoin users worldwide. Smiley

█████████████████████████
███████▄▄▀▀███▀▀▄▄███████
████████▄███▄████████
█████▄▄█▀▀███▀▀█▄▄█████
████▀▀██▀██████▀██▀▀████
████▄█████████████▄████
███████▀███████▀███████
████▀█████████████▀████
████▄▄██▄████▄██▄▄████
█████▀▀███▀▄████▀▀█████
████████▀███▀████████
███████▀▀▄▄███▄▄▀▀███████
█████████████████████████
.
 CRYPTOGAMES 
.
 Catch the winning spirit! 
█▄░▀███▌░▄
███▄░▀█░▐██▄
▀▀▀▀▀░░░▀▀▀▀▀
████▌░▐█████▀
████░░█████
███▌░▐███▀
███░░███
██▌░▐█▀
PROGRESSIVE
      JACKPOT      
██░░▄▄
▀▀░░████▄
▄▄▄▄██▀░░▄▄
░░░▀▀█░░▀██▄
███▄░░▀▄░█▀▀
█████░░█░░▄▄█
█████░░██████
█████░░█░░▀▀█
LOW HOUSE
         EDGE         
██▄
███░░░░░░░▄▄
█▀░░░░░░░████
█▄░░░░░░░░█▀
██▄░░░░░░▄█
███▄▄░░▄██▌
██████████
█████████▌
PREMIUM VIP
 MEMBERSHIP 
DICE   ROULETTE   BLACKJACK   KENO   MINESWEEPER   VIDEO POKER   PLINKO   SLOT   LOTTERY
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!