Blochain Catcher: The Development of Blockchain is Similar to the Development of Database
2018-04-07
Interviewer: Yanzhi Wang, Qiankun Liu
Writer: Yanzhi Wang
Editor: Yubo Pan
Media: Blockchain Catcher
Date: 07/04/2018
ArcBlock is one of the projects that are friendly to developers, can accelerate the development of blockchain applications and can engage more people into the ecosystem of blockchain technology. The goal of ArcBlock is to reduce the barrier that blockchain developers and applications face by launching a service platform. The endorsement of Lei Ding, the founder of Netease.com, made ArcBlock a highly expected project from the very beginning, and also put it under more scrutinies.
Recently, Blockchain Catcher interviewed Robert Mao, CEO of ArcBlock. When people looked at Robert’s career, they summarized how “lucky” he was in the past: “he started developing Instant Messenger program half a year earlier than Pony Ma, the founder of Tencent; he started developing casual games half a year earlier than Lianzhong, he started working on SNS half a year earlier than Facebook”. But should he be considered as a failure or a grand talent who matures slowly? We asked Robert in person. We don’t know whether readers would be satisfied by his answers, but those were genuine answers came from his heart.
Robert also expressed the solution to the technology bottleneck, and the future potential of blockchain technology. He compared the development of blockchain to the past development of database technology, and I am sure you can learn something from him.
A Decentralized Team
Blokchain Catcher: We have heard a lot of people question your capability, they think your past projects weren’t really successful and you just rushed into blockchain technology. How does the actual situation look like?
Robert: Actually, I heard about BitCoin in 2009, and I tried mining as well. However, at that time, I didn’t realize there was much value behind cryptocurrency. And I formatted my hard drive where the BitCoins I mined.
Two reasons why brought me back to blockchain technology seriously were: 1. I left Mircosoft to start my own business. I found out that many people were talking about blockchain in Silicon Valley; 2. One of the former star employees at Microsoft, my former colleague Flavien Charlon started a BitCoin-based project called Colored Coin. However, even though I started to be more aware of blockchain technology, at that time, I felt it was still some concept far away from our daily life. My understanding at that time was close to where I am now, but I didn’t know what I could immediately do with blockchain.
In 2016, when I was working on a project called Knowledge Network, we encountered some real-life problems, for example, how to share knowledge among different organisations and users effectively. The first idea that came to our mind was using blockchain technology; however, when we started the actual work, we found out that there were so many problems needed to be solved.
Blokchain Catcher: What were the problems you encountered at that time?
Robert: The first problem was which blockchain should I choose. Many developers didn’t know how to choose in between Ethereum and BitCoin system, how to make the right judgment; the second was that lack of development tools, a lot of information and discussions online were out of date. There was not many authorities statements when it comes to new topics, which made it even harder for developers to begin with. Since the whole development environment was at a very early stage, we started working on some basic framework by ourselves.
In 2017, I realized quite a few people around me started to work on blockchain related projects. Through communications, I figured that most people had encountered similar problems, they didn’t know where to start and didn’t have enough tools to use, while the existing tools were not user-friendly. Our idea of building a framework inspired them, and also got their great support.
Moreover, there were some VCs that suggesting us to focus on building a framework for blockchain industry. Therefore, we made a major pivot in 2017.
Blokchain Catcher: The reason why ArcBlock gained so much public attention was mainly because of Lei Ding’s endorsement. Meanwhile, a lot of people also questioned about how his endorsement could actually help.
Robert: In fact, Lei Ding came to me first, he wanted to invest in us. At that time, I was about to finish the white paper, and I invited some experts to review it. When Lei Ding came to me, he had already seen this white paper indirectly. Apparently the content has impact on him to certain extent.
But I had never planned to ask Lei Ding for funding. Because on one hand, I knew Lei Ding very well and I knew he rarely invested in other projects, on the other hand, I thought blockchain wasn’t very related to big enterprises like NetEase. As it turns out, Lei Ding, not only invested in us, but he also became an advisor to our project. .
Blokchain Catcher: Did you and Lei Ding communicate a lot?
Robert: I always meet with Lei Ding when I go back to China. Last time I met him, I took a photo and posted it online. When we are not meeting in person, I talk to him on WeChat and ask his advices when I encounter problems. Earlier, there were people questioning us if our advisor was the Lei Ding from NetEase or the Lei Ding from Silicon Valley. We asked Lei Ding to clarify for us, he said, based on his own experience, no need to care about rumors because people would find out the truth eventually.
Blokchain Catcher: We saw on LinkedIn that Flavien Charlon, one of the core members of ArcBlock had many other peojects going on, his main role was the CTO of another company, so what is his role here in ArcBlock? Does he still have time and energy to lead the team?
Robert: First of all, his role in ArcBlock is Cheif Scientist, not CTO or VP. So he is doing what a scientist should do here, not what an engineer should do. We know each other for a while, Flavien is engaged in at least four projects now. To certain extent, he is a genius in technology, but he isn’t the most proper person to apply technology at the engineering level.
I think in Blockchain era, the most important thing is letting people do what they are best at. Do we need to manage the company in a centralized way? No, we don’t. For the right people, it is enough that he is supporting the project in a proper way. Flavien is playing an essential role in helping us solve a lot of critical issues about the framework, and the design of utility token economy. Because of him, we learned a lot from the colored coin project as well.
Even in the blockchain industry, Flavien has done more than the colored coin project, he probably will do more later on. ArcBlock would not be his last project, the project that he is the CTO right now would not be his final project either.
Blokchain Catcher: Where are your current team members located? How do they collaborate each other?
Robert: Earlier, the team was spread out in Ireland, Poland, Seattle and many other places. Right now, after relocation, the Chinese team members are located in Beijing or Shanghai, and the American team members located in Seattle.
One of our core concepts is to build a real decentralized team. For example, when companies want to be our potential partners or get investment from us, we could use our ArcBlock Token (ABT) to invest in their teams, and also get the utility tokens they issued. In the end, because we work on similar things together and our benefits are aligned, we can genuinely be merged into one ecosystem.
We have accepted utility token (CMT) from CyberMiles during our token contribution event, and we have rewarded our core employees CMT as well. CyberMiles and ourselves are both happy about the collaboration. We think, maybe in the future, when blockchain companies collaborate with each other, instead of signing contracts or outsourcing deals, we create a utility token driven ecosystem that can motivate and benefit all parties involved.
Apart from the technology, we would love to try this method in marketing and community management as well. For example, if someone who agrees with our mission and vision, and also is an excellent opinion leader to promote ArcBlock in the community, as long as he is willing to accept ABT, I would give him ABT instead of cash. I think it is a revolutionary way to do business in the blockchain industry.
Solve the Pain Point
Blokchain Catcher: What we understand is that ArcBlock will help developers to adapt to various blockchains through only one set of codes. Do developers really have this kind of demand?
Robert: In my understanding, blockchain technology is like database technology. Right now, almost 99% of the Internet applications are using database technology, while users don’t even realize. This is most likely how blockchain will operate in the future. My application is supported by the database, but I don’t realize the existence of the database, nor do I need to know the address or the wallet.
Experienced developers don’t necessarily need to develop on multiple blockchains, but they would not want to be locked in a particular type of blockchain technology. For example, it is fundamentally different using Ethereum or EOS to create an application, so if later on, the developers want to switch to another public chain, they have to rewrite most of their codes.
We are optimistic about Ethereum and other public chains will keep growing and growing. Meanwhile, we will define a useful framework and a protocol, like creating an abstract layer, to separate a specific public chain from the end applications. In the future, it would be smooth when we switch from one public chain to another or replace a major component. No programmer would love to be tied to only one specific chain because it means you take higher risks.
Blokchain Catcher: But on another perspective, is it also a form of “platform lock-in” to have all developers use ArcBlock platforms?
Robert: It is impossible to not lock anything. Let me use an analogy, it is better to lock on JAVA than to lock on 8086 compilation. We are going to develop an open source protocol, and share the protocol so that many public chains can operate on this protocol. We are locked in Open Chain Access Protocol, but we aren’t locked in any specific public chain.
Blokchain Catcher: How long would it take an experienced developer to learn how to use ArcBlock?
Robert: People find it hard to learn blockchain technology like Ethereum because the technology is mystified and there isn’t enough authorized learning materials. If we have an official study guide, it only takes at most a few weeks for developers to develop applications using Ethereum. It only takes one or two weeks for developers to be able to work on under layer development when there is already a network protocol.
The goal of ArcBlock is to allow developers be able to develop applications through Blocklet within one or two weeks, Blocklet is a serverless computing architecture component for running various types of applications. There are specific components included in this architecture. You will feel so much easier to develop applications when you have a useful framework, but it doesn’t mean you truly understand the technology behind it.
Blokchain Catcher: Another pain point about blockchain is the low efficiency. Even when people develop applications by using ArcBlock, the applications still run on public chains. Would the applications be affected by the efficiency of those public chains?
Robert: I had a misunderstanding about Ethereum when I first encountered it. I thought if Ethereum wanted to become the computer of the world, why the efficiency was so low.
**But when you think of blockchain in the way that we think of the database, you will understand that the bottleneck of efficiency lies in the database part. Companies like Taobao, with massive e-commerce data can still remain highly efficient because their system framework is designed to prevent the database bottleneck from affecting any operations. There are a series of operations that can alleviate the problem of inefficient database component performance, such as architecture, cache or database sharding.
So if the whole architecture is designed right, applications would still be running smooth even though the public chains are not efficient enough.** In my opinion, 1,000,000 TPS claimed by EOS is very likely infeasible by using today’s technology. And even in theory, it won’t be realized any soon by using today’s devices. However, it doesn’t mean applications based on EOS cannot reach a high TPS.
For example, most current database applications are about reading, so the writing inefficiency won’t affect the reading. Unless every operation of the application needs to write on the public chain, otherwise, it is not necessary for public chain to reach a high TPS.
Blokchain Catcher: Can ArcBlock, instead of public chains, support high TPS of applications?
Robert: In the architecture of ArcBlock, Blocklet is a very efficient microservice architecture. For example, if we apply ArcBlock to run the Ethereum-based game CryptoKitties, it is very likely that the only part that runs on Ethereum is ERC721, which is the DNA part of CryptoKitties. All the other information could be calculated off-chain at the Blocklet layer. Therefore, the application running speed would be super fast.
CryptoKitties is not an instant application, if the data uploading process is slow on the chain, there can be a queue, but the user experience will still be high-speed. And high-concurrency calculations will not impact the public chain as well. So even today’s Ethereum is inefficient, if the architecture is well-designed, the user experience would not be bad, and the functionality of the whole system would not collapse either.
Blokchain Catcher: But why would the underlying public chains agree that applications are developed through ArcBlock and then loaded onto them?
Robert: Every blockchain must have its unique interface if it allows application development. We defined an abstract interface that there is no need to earn public chain’s permission. Our Chain Adaptor’s function is to make a transformation between other public chains’ interfaces and our own interface. To avoid losing information or capability during the transition, we designed three levels of APIs for the Open Chain Access Protocol:
Level 1 is the Common Chain APIs, this set of APIs provides the foundation for the Open Chain Access APIs. Leval 2 is Common Chain Data APIs. This set of APIs enables fundamental access to blockchain data, and treats each blockchain under layer as a finite state machine.. Level 3 is Native Chain APIs. This advanced API set exposes the native features of underlying blockchain protocols.
We referred to ODBC when designing this Open Chain Access Protocol. ODBC defined this kind of structure that goes from the most basic to a strengthened version to the native. Of course, at upper layers, it is easier to transport your codes, and it would be impossible for you to transport your codes at Level 3.
Blokchain Catcher: So when applications developed above ArcBlock, users would not know which public chain is underlying?
Robert:I think in the future for an excellent applications, users would not be able to tell which public chain is underlying. They are using a DApp that should at least giving them current mainstream user experience. When the codes migration occurs, it would be similar to the situation that the current Internet companies migrate their database — users will not even notice.
This question also reminds me of the difference between App and DApp. DApp can facilitate each App’s collaboration with other Apps through the use of the utility token. This functionality is totally different from the frequently mistaken DApp purpose of being a simple blockchain App technology.
People have many different opinions about centralization and decentralization. I tend to see the differences between these two concepts from three perspectives: physical, managerial and logical. Physically speaking, I would check if machines are decentralized-allocated. Managerially speaking, I would see if the system management method is centralized or decentralized. Logically speaking, I would like to see if the system can be divided into different segmentations or has to work as a whole.
I think it is the most understandable way to explain the core of DApps by using the logical perspective. It means when users use one application, users feel like it works as one piece, but logically, it consists of many different components or parts, and all the different parts are connected seamlessly due to the existence of utility token.
Blokchain Catcher: After switching underlying public chains, how can the tokens on previous blockchain be switched too?
Robert: Applications could issue their own utility tokens based on ABT. Different from Ethereum system, the utility tokens issued by developers here are at the same level as ABT. We would prefer to use ABT to switch the value, and it would be unrelated to the utility tokens that are issued on underlying public chains.
Ultimately, ABT is a ledger system; it can connect to other public chains through advanced Chain Adaptors. You can think of Ethereum as one component of the whole system, the resources consumed by Ethereum is equivalent to the resources consumed by ABT. The value can be moved from other chains to ArcBlock system by using ABT.
Blokchain Catcher: We know that people can be rewarded by creating components for other developers. Who will decide the price of the contribution of services?
Robert: Our reward system is very different from traditional mining system. Our “miners” are all developers, and there are two different types of developers, one type of developers develop an application, one type of developers develop a component that can be used by others. The demand and supply of these two different types of developers can be matched, and thus created a market equilibrium.
If I am a developer, I would decide whether I develop this component myself or I use what has already been developed by others. If the component is costly, then I would rather do it myself, which will cool the market down. In this market-driven economy, if no one wants to buy the component created by you, the price of the component will go down until it is low enough that people would rather buy it from you than develop it themselves. A market equilibrium will be reached, and a consensus will be achieved as well.
Blokchain Catcher: Why there was no lock-up period for token contribution?
Robert:We didn’t set up any lock-up period for our utility token. It can circulate freely. We understand that it would be hard for us to control the market price, which might disappoint some investors. However, we are using a very decentralized concept so that we have a significant number of supporters all spread out.
I think the most effective market management is providing fantastic product instead of manipulating the token exchange market. That is why we didn’t set up any lock-up period in the past months. We are waiting for the market to realize our value, it is hard to measure whether the marketing strategy is right or not, but this is the way we do things.
Development Progress
Blokchain Catcher: How long it takes ArcBlock to develop one Chain Adaptor?
Robert: We plan to implement Chain Adaptors for Bitcoin Blockchain and Ethereum, and then work on Hyperledger. This part is not an open source yet because creating Chain Adaptors is theoretically feasible, but still has a lot of engineering details to consider when doing the actual work. We plan to open source after we finish some steps first, and then anyone in the community will be able to contribute. If we open source too early, when we need to change API, other people will have to change what they have already done too. We prefer to release it until we achieved a relatively stable stage.
Blokchain Catcher: Is this reason why some people complaining about cannot find ArcBlock’s codes on GitHub?
Robert: First of all, we are not a completely open-sourced project, we will only open source a few key components. Secondly, we are not entirely done yet. We prefer to follow our own pace instead of being distracted by so many different opinions.
Blokchain Catcher: You would not set a strong barrier in technology, because you want more and more people to participate in?
Robert: I always think what true value we can bring to the community matters the most. Indeed, we do not have a very complicated technology compare to some other blockchain projects; maybe we are the least complicated one. I always say we are a tiny project in blockchain industry, and we are not very aggressive. However, a lot of big projects don’t know how to implement their visions. When it comes to scalable applications, our project is challenging due to the amount of engineering work that is involved. When our project is launched, we will be very open.
Blokchain Catcher: What are the goals that ArcBlock plans to achieve in 2018?
Robert: Our most significant goal of 2018 is to launch our first application around May or June. By the end of this year, we would like to launch the main blockchain of ABT. Our applications do not need to wait for our main blockchain, because they are more related to our Open Chain Assess Protocol but not the underlying chain. This year, we also plan to open source our Open Chain Assess Protocol so that more community members can join us to develop the protocol together.
Blokchain Catcher: What would the first application be about? How different would it be compare to the applications we saw on Ethereum?
Robert: It would be remarkably different because we are customer-oriented. Our first application would be a mobile App. We have a few options right now, and could not tell more today. I would not say it outperforms all the mobile device Apps, but I think it will beat all the blockchain applications so far.
Blokchain Catcher: Do you think after one round of industry reshuffling, would there only be a few public chains left?
Robert: I always think blockchain is similar to the database so that we can refer to the development of the database. Firstly, there would not be only one or two companies that dominate the whole market; secondly, there would not be thousands of companies either. I think ultimately, there would be a few public chains left; each has its characters. It would be similar to the current situation of database industry: there are less than ten types of databases, and each type has its own value proposition divided by industries or business operation modes. A few companies are working on each type of database. I think this is also the future of the blockchain industry.
Above is the English except from the original interview in Chinese: https://mp.weixin.qq.com/s/zDOjQevh6h9iFKXvDQLyKw