Post
Topic
Board Altcoin Discussion
Re: 10 months on... About the Bytecoin (BCN) ninjamine
by
Bizmark13
on 23/01/2015, 22:35:54 UTC
Is most of the development done by the CryptoNote/Bytecoin devs with the Monero team merging these changes into the code as required (such as in the case with Linux Mint being based on the latest Ubuntu release) or have the codebases completely diverged?

An excellent question. Let's take a look at our respective github summaries:





Our first blockchainDB LMDB implementation is in testing, and that cements the picture:



I think it's safe to say that most of the development is being done by Monero, Bytecoin hasn't had a commit since September 15. If anything, Bytecoin would have to merge our work to their code, but practically speaking our codebases have diverged way too much.

I think this can be explained by the fact that Bytecoin is an older and more "established" coin similar to Litecoin so there isn't really a strong incentive for the devs to make drastic changes to it. Before the reference implementation was released, BCN functioned as the "vanilla" version and all the other CryptoNote coins were built on top of its design. Each coin has its own unique identity, feature set, and niche (here is a link to a list of them). For example, Fantomcoin supports merged mining, duckNote/DarkNote employs unique marketing, Dashcoin uses self-mutating code, Boolberry uses Wild Keccak for its hashing function, MonetaVerde is environmentally friendly, etc. Hence you would expect to see a lot more development happening with these newer coins compared to a three year old coin that has probably already accomplished most of its original design goals.

I'm guessing that the workload for Monero and most other CN coins is spread out over many individuals too so that updates will probably be more frequent and the development of the coin will happen at a faster pace.

That being said, I'm fairly certain that Bytecoin will be releasing a GUI wallet very soon. The devs alluded to it in a recent blog post. Monero seems to be working on one as well and Boolberry already has one.

Quote
And to what extent do the Monero devs understand the code behind CryptoNote? (I realize this is a tricky question to answer).

You've read our research bulletin, MRL-0003, "Monero is Not That Mysterious", right? Not only do we go into detail explaining the Monero cryptography in layman's terms, but we also released a reimplementation in Python: http://github.com/monero-project/mininero

Whilst you're at it, why don't you check out MyMonero, the Monero web wallet. It reimplements a lot of functionality in Javascript, which also points to our very deep understanding of the CryptoNote code.

I've skimmed through the PDF but haven't read it fully. As for the other links, well I'll check them out.

Quote
Since the Monero devs didn't actually write the code behind their coin, I wonder if the task of maintaining it is beyond their technical capabilities.

This is an excellent question. So let me ask you this: since the Bitcoin core devs didn't actually write the original Bitcoin code, do you think the their task of maintaining Bitcoin is beyond their technical capabilities? Not only have they "maintained" it since Satoshi's departure, but they have improved on it.

The question remains: are the Monero devs similarly capable? Well, if you checkout git commit 1a8f5ce (the initial Monero fork) and you do a cloc (count lines of code) of the src folder (so excluding external libraries or copy-paste code), you get a total of 20 305 lines of code. Step up to the current commit, and that folder jumps to 32 322 lines of code written by the Monero core team and contributors. With our blockchainDB implementation that count jumps even further to 35 829. That means that the we've written 15 524 lines of code beyond the initial 20 305, and that completely ignores changes to existing lines of code (of which there have been many), as well as comments (of which there have been many), as well as external projects.

Is this including the list of mnemonic phrases and their translations? The main additions on top of BCN seems to be the addition of Electrum-style passphrases, aliases, and the new per-kb fee structure.

Quote
We've done way, way more work than the initial project.

Agreed, as per reasons above.

Quote
I know there is another CryptoNote coin called Dashcoin which tries to be a 1:1 mirror image of Bytecoin and thus circumvents the risk of inexperienced coders messing up while still avoiding that pesky 82 percent ninjamine.

It's a little insulting to call all 23 contributors to Monero (that's besides amjuarez, Bytecoin's sole developer) "inexperienced". Most notable among that esteemed group are Ben Boeckel, a Fedora and KDE contributor as well as a CMake core developer, and Dave Andersen, an associate professor at Carnegie Mellon University. Many of the other contributors, myself included, have many, many years of experience. You'd do well to choose your words more carefully next time.

OK, I see. Point taken. I didn't realize you were a XMR contributor so perhaps I should have chosen my words more carefully. After Bytecoin was discovered and announced on these forums, it seemed as though there were tons of forks appearing all at once and BitMonero happened to be the biggest one of these. However, kicking the original dev out of the project and changing the coin's name mid-development didn't inspire too much confidence personally IMHO. Usually the quality of altcoin devs around here isn't very high but after seeing those links that you posted, it looks like Monero has some bright people working on it now who seem to know what they're doing. That's definitely good to see.

My main concern was that there's a big difference between being a good programmer and being a good computer scientist. Suffice to say, most altcoin devs are neither. And it's usually the case that good programmers don't make good computer scientists and vice versa. Oh, and computer scientists are much harder to find too. Most hold post-graduate degrees and many work in research/academia. After reading the CryptoNote whitepaper, it's obvious to me that a.) Nicolas van Saberhagen is a bloody genius, and b.) a proper in-depth understanding of the protocol requires a rigorous knowledge of mathematics and cryptography. My first impression with Monero was that it was just a community fork of Bytecoin designed solely to avoid the poor distribution that plagued BCN while leaving the original coders to take care of the core protocol. Perhaps I was wrong.