Milen Radkov is founder and CEO of hack, a blockchain development, and consulting company. Before starting with blockchain he was web and mobile developer. He also freelanced developing content management systems (CMS) and enterprise resource planning (ERP) systems for managing content and teams.
While studying at Technical University Gabrovo, in 2014 one of his colleagues introduced him to Bitcoin. But it was not until a year later when he actually got interested in it. Since then he’s managed to build his reputation in the blockchain industry. Founded in 2016, hack initially offered development of mobile and web technologies and just partially blockchain technologies, but meanwhile Radkov saw the bigger potential. In the last year, the entire focus was set to blockchain. “When the cryptocurrencies started growing in their monetary dimension, then people started realizing it is not just a game of numbers, but an economy,” he says.
For the last year, Radkov has a solid representation of the local blockchain scene. He started organizing Blockchain Developers Meetup, became technology advisor of the Bulgarian decentralized exchange WeiDex and developed web browser extension Waellet for Aeternity blockchain. Recently he also joined Comrade Cooperative, an autonomous digital cooperative experimenting with blockchain and AI.
We met with Radkov to find out what does it take to become a blockchain developer and to build your image and authority in this community.
Trending Topics: How did your journey into the blockchain world start?
Milen Radkov: I started as a miner. When I was a student at the Technical University of Gabrovo, a friend of mine introduced me to bitcoin and told me how to mine it and respectively get some cash out of it. I thought it was just the next scam, so I ignored it. We met a year later and I saw that bitcoin still exists. I thought, if it was a scam it would be long gone. When I saw that the possibility is still there I decided to get a miner with few video cards to find what bitcoin is and how to mine it.
When I gathered with my friends, I started explaining to them about the mining and they started asking me what the video cards were doing. Are they cracking passwords or made some calculations. I thought I have to learn more about the technology, partially to know that I wasn’t doing something illegal. I probably had to do it beforehand, but that was the way things went. I wanted to have a better understanding of what was happening so, I went deeper into the technology. The same year Ethereum was launched and I started mine it as well.
During the summer of 2016, I started looking at how to write smart contracts in Solidity, because suddenly there was great demand. I stumbled upon offers for developers who can write smart contracts, and the money was really good. It was easy to see that this would become part of the IT ecosystem with high demand in the next few years. So I decided to take a few months and try to learn it.
What are the main differences between developing blockchain and standard mobile applications?
Еven if the blockchain technology sounds very complicated it actually isn’t. It combines other technologies that are already familiar to us. These are networking, transmission control protocol (TCP), communications and a little bit of economy, which is interesting. A good developer could easily switch to developing blockchain applications or networks. The thing is you have to start looking from a different perspective. In the blockchain, we have term immutability, not like in the traditional databases. There we can make changes by having the standard operations like create, read, update and delete. On the blockchain, we can only append new data. Validating the previous state, in order to define the future one and to see all the history. When you get used to such ideology and this type of framework everything else is almost the same.
How long did it take you to start writing smart contracts?
It took me four to six months to start writing. I think this time is completely enough if you are passionate and eager enough. At the time I had a day job and there were days I didn’t sleep at all. When I got home after work, I was reading and creating tutorials. When you are in a flow, time goes by very fast. In 2017 SoftUni launched their Introduction to Blockchain Technology course and then The Blockchain Dev Camp. I decided it was a good idea to sign in and confirm my knowledge and to learn new stuff. It was getting very hard to catch up with all the new information that was releasing and to filter and get the best of it. At the same time, other networks start to emerge, like ZCash, æternity and more. The market started to oversaturate with possibilities where you can create your decentralized app (dapp). Over time, it turned out that for now, Ethereum is the most stable one.
What blockchain use cases attract the most attention from the developer’s side?
The mass use case is programmable money. The decentralized financial solutions are providing better guarantees that a deal will happen. It also gives certainty that you will receive the deserved funds. The escrow could be easily replaced by a smart contract. Instead of signing a notarial attestation that after completion of specific work, money would be distributed, this could be easily done via a smart contract.
You took part in Crypto Games Meetup. Why we need games on blockchain? Is the hidden potential there?
From my point of view, there is quite a big potential there and would be quite useful. As a gamer, you dedicate some time of your life to develop a character. Let’s say you do that for two years. Then you decide that you no longer want to play this game, there is nothing you can do about it. You can try to sell your character to a friend or to look for side markets. Yet, it’s very hard to actually find a way to monetize some part of the time that you lost. On the other hand, when you have a massively multiplayer online game (MMOG), the whole logic of the game is stored on a server. This makes it easily manipulated.
The blockchain technology and cryptocurrencies can help a lot. There could emerge markets for items, where you can easily sell your items through a platform. There are a few startups that are currently developing a game engine, that makes it possible to transfer a hero from one game to another. If you have a hero, with agility, strength some other parameters, which are just numbers, they can be stored in a structure on a smart contract. Later the company can use the same game engine to develop another game. For instance with cars, that have parameters like speed, traction, and suspension. It logically maps different parameters, which can be used to create an asset, like cars, in another game. Written in a smart contract, gives the opportunity for third-party developers to create a different game, that still uses the same data. This way the ecosystem could grow incredibly.
With over 4 years in existence, how much of the original promises did Ethereum deliver so far? Is the dream of world decentralized computer still alive?
The network expanded a lot, which brings some good and some negative things. One of the negatives is that it is very hard to make a decision on how would the network continue to develop. It takes months and even years for some of the changes to be voted. The good side is that many people see the potential change and can express their opinion or point out a mistake. Still, this slows down the process. This might be the reason why younger networks like EOS, Cardano and Aeternity are technologically better. In the beginning, there isn’t that much peer pressure and big ecosystems to affect technological development. It’s the same with Bitcoin. It takes between a year and two for a decision to be made.
Ethereum 2.0 is a term used to describe a series of potential updates to make it “faster and better”. Which lines of development are closer to reality right now?
Ethereum becoming Proof of Stake (PoS) will allow many people to enter the sphere as validators and stakeholders. Right now if you want to earn Ethereum you have to mine it. This has a limit of penetration. You have to buy hardware and then you have big monthly costs. And not everyone wants and can do it as it requires technical training. By switching to PoS, it will become easier to participate in the network. This also has its downsides as people with bigger resources can influence the development of the network. Now we have mining pools, maybe in the future, we will have staking pools as well, which will bring a balance between the users of the network.
It would also bring an opportunity for faster validations and scalability. Not that someone at the moment feels the scalability issue. It’s a real problem but right now if you execute a transaction you won’t wait more than 20 seconds. Still, at the moment there are technical solutions, like batch transactions, which combines many transactions into one. Even now, there are off-chain solutions that give the opportunity to take advantage of the network. If you have microtransactions that happen very often this could be done via state channels, and at the end to just validate the final state. It depends on the use case. If we want to track everything on the blockchain at some point even if we have unlimited transactions per second, in the end, we will be limited by the disk space. All validators would have to keep the data and at some point would hit their space limit.
When you develop an app, you have to think about those aspects at the very beginning. What would be the demand and how many transactions would go through and create the right architecture for the solution.
What improvements do you want to see first in Ethereum and the public blockchains with smart contracts in general?
One of the problems is with communication and interaction with real-world data. The other one is scalability. It could be solved with off-chain solutions like state channels. They are things that don’t necessarily have to be on the blockchain. It is enough to be cryptographically verifiable and а proof to be recorded at some point in time. I think this is the problem with many projects, that they are trying to do everything on-chain. This is why it is expensive and problematic when it comes to the number of transactions that the network can handle.
Do we really need high scalability or is it a compromise with the current technological limits?
If in the future the blockchain technology gets adopted by the state administration and other infrastructures of a bigger scale this might be a problem. It will require publicly available data in large volumes and a lot of transactions to be executed. For example, for lawsuits, documents from a library database, having a lot of on-chain transactions will be a problem. In the business, off-chain solutions like state channels and off-chain transactions are a smart option. There are also private data, that don’t have to be on the blockchain, like GDPR. I think that a lot of people are going after an issue that is not that urgent.