Cryptocurrency developers - who are they? [Interview]
In recent years, the financial software sector has experienced a boom. And not only near-banking systems are developing, but various alternative solutions are emerging. One of the topics that caused a wide public response was the emergence and rapid development of cryptocurrency. In addition to its monetary and network components, cryptocurrencies are also specialized software. Who is working on their code, and how is it done?
The most popular cryptocurrency for today is Bitcoin. However, in terms of the speed with which innovations have been introduced, the cryptocurrency project “Dash” (formerly “Darkcoin”) has become noticeable recently (by capitalization, Anonymous Cryptocurrency No. 1). There is a Russian-speaking developer in the “Dash” team, and I persuaded him to give an interview - especially for Habrahabr readers. ')
Hi, UdjinM6.Thank you for agreeing to the interview.Let's talk about cryptocurrencies in the context of the process of developing them as software, without going into details of why they are needed and how they function.
Hey. Thanks for the offer, I will try to answer as much as possible.
Please tell us briefly about yourself and your activities in the “Dash” team.
I became interested in cryptocurrencies rather late (in 2013) and solely as a new speculative tool with a relatively simple way to enter. Then I tried and remembered a little. By the way, both of these classes ended for me with a serious financial disadvantage, but I began to be more interested in how it all works, began to delve into the math and algorithms, as well as try different software and participate in its development as much as . Later, in the middle of 2014, questions to Bitcoin about his anonymity began to get louder. This topic interested me and I drew attention to several alternatives, one of which was Darccoin. The idea and the proposed implementation seemed interesting to me, and I also liked the fact that Darkcoin has a friendly community and available for comment developers. Now in the team, I mainly develop the “official” wallet, but sometimes I help third-party developers on porting any software written for Bitcoin to work with Dash, and just everyone who tries to do something on the basis of Dash.
How does the development of cryptocurrency differ from the development of other software?
I would single out the fact that in a fairly short time there is a huge mass of research, various materials on the topic, new ideas and furious mathematics. You need to constantly “keep your finger on the pulse.” It is also worth noting that many new works on cryptography are available only in English, and taking into account the mathematics already mentioned above, it can be quite difficult to delve into it.
Who can become a cryptocurrency developer, what qualification is needed for this?
The official client of many cryptocurrencies is written in C ++, but there are those where the main wallet is written in Python, for example. It would also be nice to have good knowledge in mathematics in general and in probability theory / cryptography in particular, but you can type them as you go. There is a good, in my opinion, overview course at Khan Academy “Journey into cryptography” ( www.khanacademy.org/computing/computer-science/cryptography ). Also a lot of materials are available in the form of various kinds of reports, presentations, etc. in free access.
Does your entourage know what you do?How to relate to this?
In the course, only a few closest friends. For the rest, I “sit on the Internet.”
Do not pull back to the office for a “normal” job?
While there is a financial reserve from the previous work, and then we'll see. I hope that we still do something necessary and Dash, as they say, will “take off”.
Russian-speaking developer - a rare phenomenon in cryptomir ... It was difficult to win a reputation in the community?
In fact, I did not at all strive to become a developer of any cryptocurrency, it was just interesting and I had some experience in programming, project management, etc. At first, as a regular user, I began to ask a lot of questions, look at the code in more detail, understand the topic, and later myself began to answer the questions of other beginners. At that time, Dash was at the release candidate stage and there were forks quite often. I tried to help, with what I could, and for about a week I practically “lived” on the official forum and answered many questions, helped me solve problems, looked for bugs. I was very annoying and constantly tormented Evan and other developers with questions and my own suggestions for solving various problems. In the end, I was all tired of the community members began to offer to include me in the team and after a few days I received a simple message of the following content: “Not bad! Would you like to join?"
For you, the development of “Dash” is a way to make money or something else?
At the moment, this is a way to “benefit” by doing something interesting. Well, of course, hope to conquer the world, wherever without it.
What tools do you use in your work?
Since the client is written under Qt, respectively, most of the time passes in Qt Creator. The rest is all on the command line - git, vim, etc.
How are the attitudes of the “Dash” team members?
Nothing special - they are all normal, adequate guys from different parts of the Earth. We all do one thing, while everyone does the part that he considers interesting for himself, does what he can, how he can and when he can (time zones and problems in “real” life are felt). Of course, we try to synchronize and join forces in every possible way. We use for this purpose both a forum and Slack. After the release of the 0.12 version there are plans for some formalization of the release process, the preparation for this is already done by individual team members.
I saw that you were mentioned in the list of those who took part in the latest version of Bitcoin.Do you have time to lead other projects besides “Dash”?
Honestly, my contribution there was scanty and I was very surprised to see my nickname in the list. As for other projects, I previously participated in NOMP a bit ( github.com/zone117x/node-open-mining-portal ), added Russian interface for WalletGenerator.net a few months ago (https://github.com/MichaelMure/WalletGenerator.net ). Ported several repositories to work with Dash, for example, github.com/bitpay/insight-api from BitPay.
Have you ever thought about running your own cryptocurrency?How realistic is it?
In the understanding of many, starting a cryptocurrency means, as a rule, to copy Bitcoin or its successful fork, to “improve” the parameters and, voila, a new currency. Such a “currency” is not difficult to do, but without development, and sometimes even elementary support and correction of bugs, it will literally live for a couple of months, after which the miners will merge it on the stock exchanges and as a result only a certain number of naive “lucky ones” will remain of coins. There are already hundreds of such “currencies”. I don’t have the desire to stand with their developers in one row, and there are no reasons why I cannot implement any ideas within Dash.
“Dash” is testing a decentralized financing system.Is it aimed at supporting existing developers or attracting new ones?
In fact, it is not aimed at supporting any kind of developers, but at implementing projects that support Dash and are able to move Dash further. The main idea here is as follows. Open-source projects are very hard to exist in the absence of funding. Many try to live at the expense of donations, others live on grants or under the wing of some corporation. Each of these methods has its drawbacks. We want to build a system that will finance itself. One of the powerful ideas embedded in Bitcoin - tokens that miners produce have a certain value. It is precisely this part of this value, created within the system, that we plan to use and direct to support and develop the system itself, instead of seeking this financing “outside”. There are no restrictions on the system, whether it will be directly developed by the developers, or someone who can organize the process, or promote it, or somehow help the project.
Suppose a programmer or even a team wants to offer (for money) their skills to the “Dash” project.How exactly should they act?
The first thing I would advise you to do is to come to our forum dashtalk.org, create a topic and try to convince the community that a) the idea is worth b) you are able to implement it. This part, as it seems to me, is the main one, since in any case you will need the support of the community (or, more precisely, the masterstock owners) in order to receive funding. And to help you deal with the wallet and which teams need to be executed in order to send your proposal to the network to participate in voting and receiving remuneration, you will always be prompted. However, if this part is interesting, then the draft documentation can be viewed at GitHub github.com/dashpay/dash/blob/master/doc/masternode-budget.md
What would you advise Russian-speaking programmers who want to try themselves in the field of cryptocurrency?
Sample. To get started, you do not have to buy Bitcoins or Dash, risk real money and spend it in the development process. There are test networks, there you can get coins for free and experiment without the risk of losing everything, if something suddenly went wrong.
Thank you for the interview and farewell.
And thank you.
You can get a general idea of ​​“Dash” in this short video.