Hacker News new | past | comments | ask | show | jobs | submit login
Kovri – A secure, private, untraceable C++ implementation of the I2P network (github.com/monero-project)
118 points by kim0 on Aug 8, 2017 | hide | past | favorite | 51 comments



One thing I love about cryptocurrencies is that it has created an economic incentive to accelerate hardening of internet communication.

I wager that TOR would still be extremely slow without the dark net markets and payment rails.

The I2P stewards have similarly has been affiliated with several cryptocurrency projects. But The Monero team's Kovri implementation of I2P will be the best.


Tor is fast because they have a birds eye view of the entire routing concensous where as i2p does not as it can not. The latency suffers as a result in i2p. That is why tor is faster, it's not because of coins.

I have considered adding such a thing for i2pd optionally enabled but there is no such interest from the community to maintain such entities.


Don't you think that clients' peer selection logic could be improved to build lower-latency tunnels? Perhaps an intuitive UI could be provided, allowing the user to tradeoff anonymity with latency.


I have such functionality in i2pd, what would help a lot are more hints on capacity bandwith and latency from the network. I added "aligned outbound tunnels" which make things MUCH more responsive and snappy. i think that lowering the latency on the network is probably the only way to make i2p faster again.


Can you contact me via: https://apeace.github.io/contact.html

I've been reading the i2pd source the past few weeks and would love to pick your brain over a couple of emails!


sent


Get out of here with that segwit crap :P


It's not really fun to be down voted constantly but I guess I can't help but share my beliefs.

What we need more than a 0% trust and 100% anonymity is just a decentralized internet where so many nodes are not controlled by centralized organizations.

So while I2P and Monero etc are great, I think we can replace banks and credit card payments for most things with less stringent requirements.


Who's "we"? Everyone can want what they want, and do what they can to realize it.


"I think we can replace banks and credit card payments for most things with less stringent requirements."

Can you give examples?


sounds like you might like cjdns


ipfs?


That's the dream compelling the filecoin ico.


I don't get it they took I2P and just renamed it, why do people care about this? Their faq says "Kovri has become a unique, actively-developed, community-driven C++ I2P implementation with many improvements, security enhancements, and new features over its predecessor."

They claim its unique, cool whats unique about it? What are these improvements, security enhancements and new features? Would it not make more sense to list the new improvements, security enhancements and features? Their table "What does Kovri do/not do for you?" shows it can do everything I2P can do and nothing else, unless I am missing something.

Call me paranoid but renaming another project and then, marketing it as more secure and trustworthy without proof is what dodgy fuckers do.


Do your research before fucking other people, dude.

i2pd has been abandonned by their devs for roughly 6 months and they have not been available at all. Since the Monero team believed, i2p would be better than Tor, they forked i2pd to Kovri and started cleaning up the code and fixing bugs. Why not the official i2p Java client? Because of Java, which is not common in secure environments, fucks up Proxy settings or just ignores them eg.


With the recent bust of AlphaBay we know bitcoin mixers are vulnerable. It looks like Monero will take over as the favorite cryptocurrency of new markets especially with I2P integration.


I support your theory. For whatever that's worth. I've put some of my assets into Monero instead of other alt coins. When I researched the landscape of crypto currencies IMO Monero was best of breed regarding anonymity, privacy, and cryptography theory. Now of course time will tell if the bullet points of Monero regarding untraceable privacy hold true or not but from everything I've read that's the crypto coin I'm parking my Fiat in.


Just curious what made you opt for monero instead of dash or zcash?


I can tell you my reasons, but it's mainly the mandatory privacy, where every single transaction has to use RingCT and helps to protect the privacy of the whole network.

Zcash's very computing expensive shielded transactions are rarely used and no GUI (and mobile) wallets simply offer them. You can see this in their block explorer: https://explorer.zcha.in/transactions Here is some more information on their own forum: https://forum.z.cash/t/low-percentage-of-total-shielded-zec-... Most exchanges also don't accept shielded Zcash deposits/withdrawals.

DASH's private send is just similar to a bitcoin mixer and takes even more than 24 hours to finish, since the Masternodes have to wait for mixing partners for you. This mixing creates a shitload of transactions on chain, it were around 70 when I tested it lately and that's a huge overhead. That are probably the (main) reasons why it's rarely used and since Chainalysis, Blockseer and all the Bitcoin tracking companies have no troubles to track mixed transactions, like they did with Wanna Cry, I think it's only a matter of time to extend them for DASH with more adoption: https://cointelegraph.com/news/bitcoin-exchange-shapeshift-h...

Summarising optional privacy makes where almost no one uses it, makes you suspect just for opting in for the privacy feature. It's also much easier to track just the few percent of private transactions by design.


You pretty much summed up my opinions as well. I view DASH like I view linux containers. They are taking something NOT designed to be secure and private/anonymous and trying to retroactively bolt on anonymity and security to the existing bitcoin tech. Which is NOT now you secure something. It has to be designed in from the get go not baked in after the fact.

This is the problem with all the so called "secure anonymous" coins I looked at until I read up on Monero and how it works. Security and anonymity is baked in by design, not retrofitted after the fact which never works.

So as far as I can tell Monero is the only one that has this right. Now, again, time will tell if their technology choices actually deliver what they say it will deliver regarding anonymity and security.

But for now it's the only game in town as far as I am concerned.


What's the connection between the AlphaBay takedown and Bitcoin mixers? According to the complaint, suspected AlphaBay co-founder Alexandre Cazes allegedly "included his personal email address in one of the site's welcome messages".[0] That could be parallel construction, I admit. But still, why conclude anything about mixers?

0) https://motherboard.vice.com/en_us/article/8xa7mz/europol-he...


One of the AlphaBay alleged charges was money laundering because they built in a mixer.

See https://en.wikipedia.org/wiki/AlphaBay#Timeline for a summary.

After they went down, another major mixer, BitMixer, apparently saw this as a significant legal change to the status quo and announced they were shutting down by choice, shuffling users off elsewhere.


OK. But for BitMixer, that's a failure of conviction or nerve or whatever, or maybe a change of heart. And whatever it's about, there aren't any implications about the feasibility of darknet mixers, markets, etc. Except, I suppose, if owners have made foolish assumptions about their privacy and security.


How does this compare to i2pd, a more mature C++ implementation of I2P?



Yet this is just one side of the split.


I believe it is forked from i2pd.


a more mature implementation of I2P with the primary focus of further hardening Monero transactions


Yet they haven't even fixed the bugs they started with....

kovri is a rebrand of i2pd, someone took one of the worst revisions of i2pd back when it sucked more and called it kovri and to this very day still have loads of bugs that are fixed for over a year in i2pd. somehow the kovri people managed to make the code worse than it was when they started complexity wise.

disclosure: I work on i2pd a bit.


Can you provide some examples? The FAQ beginning with [1] seems to paint a different picture, and it would be nice to hear something from the i2pd side.

[1] - https://github.com/monero-project/kovri-docs/blob/master/i18...


https://github.com/monero-project/kovri/blob/3dbfb89d07a82d5...

there is an off-by-one that prevents the dht from working properly, it actively poisons the network. i fixed this in i2pd last year, the code changed so much I think that's where it is located now. there are a few more bugs like that i know of off the top of my head but i'd need more coffee. i got kicked off kovri for trying to fix bugs, good luck to them in the future. they're going to need a major management additude readjustment if they want to provide a proper functioning i2p router, so far all they have done is shoo away competent developers with the way they treat PR.

further updates:

kovri does not provide extra "security" or "quality" as seemingly none of the bugs I and many others fixed in i2pd have been fixed in kovri. that document is a huge load.

if anyone wants to contribute to i2pd see: https://github.com/purplei2p/i2pd/


Come on, you know the history of the whole fucked up situation and now turning you into the role about the caring i2pd project manager? Let's say what we can see on GitHub in your repository...

https://github.com/PurpleI2P/i2pd/graphs/contributors

Where have you been between June and November 2015? Kovri was meant to be just an integration of i2pd into Monero, not a fork. But yeah... When the only maintainer of a project is gone for half a year, what do you expect? Anyone familiar with Git is able to see when anonimal finally forked away...

https://github.com/monero-project/kovri/graphs/contributors

But yeah, then you came back and started developing again after 6 months of nothing? Just don't be like an offended asshole and maybe try to cooperate or just let it go the open source way and the better solution will probably get the most adoption.


I work on the fork I think is most likely to succeed.


On which one? There are hundreds in GitHub alone...


Such a non sense post...


The Monero Team is doing lots of cool things, and the proactive security testing they do is comforting. I'm excited to see what this brings to the project, and I applaud the devs for their hard work.


I don't understand-- what's the significance of an re-implementation of I2P in a memory unsafe language?

Also-- why all the comments about Monero? Is it the only altcoin that supports I2P?


Hey I write memory safe C++ - do others not? Only ignoring RAII and move semantics will give you unsafe code.


The link goes "monero-project" on Github, that's why.


Too bad they couldn't build it in anything safer than C++.


If the first adjective is "secure", how to reconcile this with C++?


This is why I've lost respect for lots of developers. I mean why the heck would someone re-implement a piece of code in memory unsafe language? We've a better language now, but this habit isn't dying very soon...


Your account is 2 hours old and all of your comments consist of you complaining about C++/proselytising Rust. Please stop trolling.


What makes you think I'm trolling? Honestly, I'm tired of all these mediocre devs just pushing their keyboards in some inefficient, unsafe language and are totally unaware of the alternatives. If I'm showing them a greater alternative, am I trolling on this site? Can you show a single reply where I spoke something that doesn't holds true? I accept that there are certain opinions of every individuals that are not ought to match, certain disagreements and other things, but you should respect mine too.


Rust is god. We got it. Now come back to topic...

Btw. are we already again in these HTML / Flash wars where the second one was shilled as the only possible future for websites and incoming death for HTML? Oh wait, children can't even remember it... Search for it on Wikipedia (or probably even a printed encyclopedia).


"We've a better language now" -- presumably you mean Rust, which tries to break into C and C++'s market.

If you check https://forge.rust-lang.org/platform-support.html , ARM is only tier 2 support, while Kovri seems to care enough to cover ARM. That's a legitimate reason to not choose Rust.


what do you mean ? its safe if its been tested well.


It's a big if, and it's a hard to prove one has done it.

The best C++ pros make mistake all the time. Because it doesn't matter how much skill you got with a can of spray paint, if you do makeup with it, you will mess up from time to time.


I've mainly worked in embedded area, most bugs were missing logic / missing use case/ or just incorrect coding / handling / logic. Memory leaks were found early in the development phase. There's also lots of improvements in c++ when using pointers now. Are you telling me that a Rust code base with over 100 devs won't have any problems


> Are you telling me that a Rust code base with over 100 devs won't have any problems

If you've had 100 problems writing c++, rust will reduce 99 of them. No data races, no SEGFAULTS - yes its impossible, no pointer mathematics, no bad (nullptr) state of pointers and much much faster than c++. Just see the benchmarks here - https://benchmarksgame.alioth.debian.org/u64q/regexredux.htm...

Rust is 2.73 seconds and c++ is at 17 seconds LOL. C is ahead but not too much. ( 1 sec difference and who cares about a second when c++ is ....). Btw, have fun with your spray paint ;)


> Just see the benchmarks here …

But you only tell us about one of them!

http://benchmarksgame.alioth.debian.org/u64q/compare.php?lan...




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: