Blockchain is all the rage! And, Dr. Christian Reitwiessner is in the midst of the storm. As one of the creators of Solidity, we were thrilled that he was willing to take the time to answer questions from the LinuxCareer crew. He provided great depth on his thoughts on not only Solidity, but Ethereum overall. Hopefully, you will find his insight as compelling as we did.
General Ethereum Questions
- Question 1: How is Ethereum different than other notable blockchain technologies?
Christian Reitwiessner: Ethereum offers smart contracts and thus is useful far beyond simple value transfers. It can be used to add trustless incentive layers to decentralised networks. As an example, Ethereum can be used to remove the trust in the large number of certificate authorities by handling name allocation, transfer and certificate registry. Another example is adding an incentive layer to a decentralized data transfer system like bittorrent and turn it into a data storage system that enables you to pay for others to store your data in a decentralized and fault-tolerant way.
In comparison, other smart contract blockchains are not practical yet or do not have such high network effects.
- Question 2: What is the role of the Enterprise Ethereum Alliance? How does it contribute to the development of the Ethereum platform?
Christian Reitwiessner: I have not seen much contributions, although I do not care much about private blockchains, it might be that they do something there.
- Question 3: How would you describe Ethereum's business model?
Christian Reitwiessner: (I'm interpreting it as "the Ethereum Foundation's business model") That's the beauty of it: There is not and there does not need to be a business model. The Ethereum Foundation is fully funded for several years and can focus purely on advancing blockchain technology with 100% open source software and open research initiatives. There is no product that needs to be sold. Of course there is a product and there are customers to be satisfied, but we do not have to convince them to give us money for something.
Question 4: Can you express your views regarding the licensing of the Ethereum platform? What main freedoms and risks do developers face when building applications on Ethereum?
Christian Reitwiessner: Everything the Ethereum Foundation does is open source licensed. As always, there might be some problems with incompatibility of licenses, but in general developers enjoy a high degree of freedom. As far as people developing applications on top of Ethereum are concerned: I'm not a licensing expert, but since you do not distribute any Ethereum software with your product, licensing issues do not apply. Of course everything should be open source because it would defeat the main purpose of a blockchain otherwise.
Question 5: In your opinion, what are the most significant barriers to Ethereum adoption?
Christian Reitwiessner: I guess it still needs some time to wrap your head around the concept of a blockchain and the development tooling could be improved.
Question 6: Are you aware of any corporate adopters of Ethereum? If so, has it branched outside of the financial sector?
Christian Reitwiessner: Yes, there have been many corporates who are building applications on top of Ethereum. Most of them chose a way to be funded through the community of their potential future users. Currently, the big players are still based on transactions (state channels, auctions, insurance, etc) but we are also seeing prediction markets, games and communication platform emerging.
As far as traditional companies are concerned, I think they are shying away because they do not see how their current business model which is mostly based on advertisement or selling of individual products can be transferred to the blockchain world, where users pay for development and not for products.
Question 7: There are questions about how well it scales. What is being done to circumvent this obstacle?
Christian Reitwiessner: For Ethereum, scaling is one of the top priorities for 2018. Even without a change in the core blockchain, state channels are rather easy to implement with Solidity (as opposed to e.g. on bitcoin). Finally, the switch to webassembly (which Solidity is also joining) might provide considerable speedups.
Christian Reitwiessner: The main reason to build Solidity was because the Ethereum Virtual Machine was vastly different from other virtual machines. Also, the language could not be too high level because the resource consumption had to be extremely low. Most existing languages require a runtime, memory management or other things which would just be way too costly. Also the storage-memory-duality was rather tricky to apply to existing languages.
Christian Reitwiessner: Unfortunately, I do not feel qualified to answer that question. If you already know a similar programming language (Java, C, Python), then a combination of the official documentation and remix could work. I guess the best way is to just try it out!
Christian Reitwiessner: Yes, I think some private chains use Solidity including Quorum and the Hyperledger project. RootStock is also using Solidity.
Christian Reitwiessner: We use a combination of traditional hiring via job platforms and hiring from the open source contributor community.
Christian Reitwiessner: Currently there is extremely high demand in people knowledgeable about Ethereum. Try building a small application (or even better: a development tool), write about, get exposure or directly approach projects you find interesting.
Christian Reitwiessner: To be honest, I do not think that skillfullness with a particular tool is important for the Ethereum project or for projects building on top of Ethereum. Of course it provides a quicker ramp-up, but it is most important that people understand what they are doing, see problems before they arise, know what matters most to users. These are skills you learn from experience and it helps to have a proper scientific education.
Christian Reitwiessner: It is hard to really get in touch with volunteers because you usually only communicate via comments on pull requests, so I can mainly only guess, but I think the main motivation is to be able to contribute to a project that promotes a decentralized world where users are in control.
Christian Reitwiessner: The Ethereum community is very welcoming, especially when compared to other communities in the cryptocurrency space. The driving factor for most is to build something that matters and for most, financial incentives only come far after that. Ideas are exchanged openly because people want things to happen as opposed to building a business out of their ideas. Because of that, it feels much like the early days of the open source / free software community, or what I imagine it to have been.
Christian Reitwiessner: Much more development is happening in Ethereum than in bitcoin or ripple. In my impression, in bitcoin, not much development happens outside of the core protocol. For Ethereum, most of the deveolpment happens outside of the core protocol. The platform is open for everyone to add an application to it and because applications can interact, all applications get more useful the more applications are added.
Christian Reitwiessner: I'm not sure I can assess the amount and quality of commits on GitHub. As I said earlier, there is certainly still a high demand for developers. I also think that many of the projects (including Solidity) have a big number of "easy entry" issues on github everyone could take a look at. They are often labeled as "help needed" or "good first issue".
Christian Reitwiessner: On a technical level, I'm very excited about future scalability solutions and removing the energy-wasting proof of work. Also, adding privacy solutions that favour the small users over the large corporates is something that excites me.
Christian Reitwiessner: This is very hard to predict. It might be communities of small businesses in countries where they would otherwise not be able to compete on the global market. It might be technologies in desperate need of improving trust like the world wide web.
Christian Reitwiessner: While many scalability solutions are already in the advanced testing phase, it is not yet clear if it will work out. If we cannot manage to scale blockchains, they will be useless for the general public.
Question 8: How did Solidity come about? What was lacking from existing languages?
Question 9: What is the best way to learn Solidity?
Question 10: Do you see Solidity being used outside of the Ethereum project?
Question 11: How do you go about finding people to work on Solidity?
Question 12: What advice would you give someone interested in getting involved in the Ethereum project?
Question 13: LinuxCareer readers refer to our Skills Watch to assess their prowess. What skill set is most sought after within the Ethereum project? Is there a certain skill missing from our Skills Watch that developers should be aware of?
Question 14: What, in your opinion, motivates volunteers to contribute to the Ethereum project?
Question 15: What does it mean to be a part of the Ethereum community?
Question 16: Why should a developer be more interested in Ethereum over other cryptocurrencies such at Bitcoin or Ripple?
Question 17: Are you satisfied with the amount and quality of commits on GitHub? Are more developers needed to keep up with the popularity of decentralized application development?
Future of Ethereum
Question 18: What does the future hold for Ethereum and what excites you most about it?
Question 19: What do you find to be the most interesting space blockchain technology will have an effect on?
Question 20: What are the main obstacles Ethereum faces in the future?
About Christian Reitwiessner
Christian Reitwiessner is working for the Ethereum Foundation, where he created one of the most popular high level programming languages for Ethereum called Solidity.