We know the community has been hungry for new insights into our work here in Shanghai, and we are very pleased to be able to share with you what’s been going on since last time. In this update we will in part play on the last update and progress being made from there, and in part provide some perspectives on blockchain tech and the road ahead of us here at APEX Network.

Decentralization much?

First off, considering the block rate of the testnet and the scaling goals for the future, some have been wondering whether different issues such as latency might hinder decentralization of the network. We are however confident that this will be a non-issue. We aim to support deployment in any networked location in the world — based on the declared latitude and longitude of each production node, all nodes will agree on the working time of each production node to ensure both the stability of the network and each node’s ability to take part in the network. Our network will undergo a series of new iterations to gradually improve all aspects of it — the road to perfection is long and sometimes winded, but we have absolute confidence in the scalability and ability of the network to meet enterprise demands.

Smart contract programming languages, was there Solidity in our Github?

As some avid Github visitors may have noticed, there has been Solidity related code uploaded. The reason is naturally that Solidity is the first and main language that will be supported to write smart contracts for APEX Network. As a comparison, writing smart contracts on EOS requires using C++. This is a very low level programming language, and only a small fraction of coders master C++. Solidity is, on the other hand, both the most common and the most accessible language for writing smart contracts. Keeping in mind that Solidity is a blockchain related language not well known to mainstream developers in non-blockchain related enterprises, the intention is for APEX Network engineers to develop the smart contracts for companies running on APEX Network. This is in line with our heavy focus on minimizing the threshold for enterprise adoption. Do note that we are not currently limiting ourselves to using Solidity only. Once the mainnet has been completed and gone live, we will revisit this topic and consider the pros and cons of implementing support for other easy to use programming languages such as Python and Java for the writing of smart contracts.

Testing… Debugging… Exploring… Where’s the Virtual Machine at?

In relation to this, it is natural to talk a bit about the Turing complete virtual machine being developed. As an initial observation, Ethereum’s virtual machine is the most mature virtual machine currently available, and EOS’ virtual machine supports C++ only. Because of the current POW consensus of Ethereum, the EVM is not directly portable to a DPOS consensus based blockchain. With this as the backdrop, we have been developing the APEX virtual machine with reference to and drawing on knowledge from the Ethereum and EOS virtual machines. Because EVM is by far the most mature, and also easy to develop feature in relation to, the EVM is the virtual machine that has been most referenced during the development of the APEX virtual machine. In some ways, our virtual machine is quite similar to the EVM.

We spent a lot of time studying how DPOS supports complex smart contracts. The APEX virtual machine development is now all but completed, and currently only some of the built in smart contracts have yet to be developed.

Going back to the previous update published in January, the block explorer is also coming along nicely. The web wallet that will be integrated into the block explorer is currently the only module we have yet to complete.

One thing that is definitely worth mentioning while speaking about the blockchain development is that we have received several thoughtful and interesting suggestions from the technical community on Telegram, and these suggestions have without fault been forwarded to the relevant development engineers for review — and possible implementation depending on whether they fit the needs of the network.

To sum up the state of development…

Our Turing complete virtual machine is close to completion, including smart contract support. Still on the agenda: Developing further built in smart contracts.

The block explorer needs its wallet module, thereafter this too will be complete.

Giving a realistic time frame to allow for minor edits and updates before completion, we aim to have testnet phase 2 with both the complete VM, smart contracts and the full block explorer with the wallet module out by the end of March, in a little over a month.

So what happens when phase 2 is released?

We are still in testnet mode, and will remain there for as long as we need to ensure complete stability for the mainnet launch. During the second phase of the testnet, we will be testing the entire blockchain network from A through Z. This will naturally take some time, and we expect this phase to last for a minimum of one month. Note that this is a minimum value — depending on whether we find unexpected issues, this period may be extended. We are however well on track to releasing the mainnet within Q2 of 2019 as outlined in the roadmap. Once the mainnet has gone live we will consider going to work on a new roadmap outlining the milestones that still lie ahead of us.

There is also a bit of good news here for those who have been eager to fully join us on our testnet. Whereas it has previously been necessary to deploy a private testnet among tech interested community members, we will during phase 2 open up the official testnet for community participation. Please note that we will need at least two full weeks from phase 2 release to do internal testing and ensure stability before opening up for community nodes. Deployed community nodes will be able to become production nodes, taking part in the creation and validation of the blocks being produced. During this stage, if a community member finds a vulnerability within the network, we will consider issuing a reward based on the type of vulnerability and the risk associated with it.

Wallets and backend integration

We have noticed that there have been some questions still about the APEX wallet. It is important to note that the objective with the APEX wallet is not to act as a cryptocurrency wallet. There are already several excellent wallets out there, so this would not solve any current problems. Our main goal is to solve the problem of over-centralization of the data industry. Under this business goal we need to promote large scale enterprises to use APEX Network based blockchain services. The lowest threshold for adoption for these customers is obviously through seamless integration of our services into their own existing platforms.

Pilots, where are they?

We are actively working with our pilot enterprises. These enterprises have very different needs when it comes to type of use case and particular services involved. Some companies only need a smart contract to solve the problem, which is the easy scenario. Other enterprises have more complex needs, and to solve this our team is collaborating with their personnel to clearly define their business needs. As these are clarified along the way, there are further discussions with our product managers and engineers to come up with tailored solutions to satisfy those needs. The initial stages for enterprises with complex needs is a time and resource consuming process, which is also the reason why the entire piloting process takes quite some time to be completed.

The team growth strategy going forward

The research and development of the main network is all but completed at this stage, and adding standard developers serves no purpose in this regard. We have from the very beginning set quite a high standard and clear requirements for the skill set of developers applying for a job here at APEX Network. Now it is time to further refine and tighten those requirements, to acquire even higher quality developers for the team’s further work. This means we are basically looking for the unicorns in the developer community, and will only accept new applicants who are even more proactive, persistent and highly intelligent R&D engineers. This means that very few of the new applicants will, to put it bluntly, be found worthy of employment. The problem solving skills of the APEX Network developer hive mind has so far surpassed our expectations, making us quite confident in our future prospects.

Token minting and supernodes

Some have been wondering whether it would be mandatory for an enterprise to deploy a supernode to be able to create a token in the APEX Network ecosystem. To clarify; It is naturally not necessary to deploy a supernode in order to be able to mint a new token on the network. Minting a new token simply requires deployment of a smart contract for this purpose. Sidechains are in this sense more related to issues such as scalability. In short: It is possible for an enterprise to a) deploy a supernode and run their blockchain services in this manner, or b) deploy a smart contract on the main network and mint their own tokens if they so choose. The choice will among other things depend on both currently expected network load and the enterprise’s expected addition to this, in addition to other enterprise specific needs and wishes.

APEX Network and AI

In addition to our work on the blockchain we pay close attention to all aspects of blockchain technology where AI can augment the quality of the technology. Being dedicated to serving corporate customers, we firmly believe that combining blockchain technology and artificial intelligence will create even greater value than each on their own. Just a few examples of thoughts on blockchain & AI:

How artificial intelligence can improve blockchain technology: In the Ethereum network, when the miner produces a block, the miner cannot guarantee that his block is added to the Ethereum blockchain. Thus the miner runs the risk of the block becoming an uncle block. Therefore, it is in the best interest of the miner to broadcast his block to as many additional miners as possible. Ideally the miner should broadcast the blocks to other miners that are in a pivotal position in the Ethereum network, as these hubs of miners can conduct more secondary broadcasts. The challenge then arises of how to determine if other miners connected to our miner are indeed in such a pivotal position in the network. This part of the broadcasting logic does not involve block consensus, and thus miners can optimize their own code logic. Some powerful miners use machine learning to discover miners who are in a pivotal position in the network, and then broadcast their blocks to those miners.

How blockchain technology relies on artificial intelligence: For contemporary blockchain technology there are some well known problems related to how offline data is recorded on the chain, and how the authenticity of the data is guaranteed. A good solution is for the AI to be responsible for logging data to the blockchain. For example: How is the price of an underlying asset in the real world recorded on the chain? Artificial intelligence can be responsible for writing this data to the blockchain (and artificial intelligence algorithms can even be written into the block to ensure consensus on the results) to ensure data reliability.

Final words

It’s always a pleasure for us to know that the community takes a great interest in the work we do, and we wish to be as transparent as possible about it. We hope this update provides additional insights into the stage we are currently in, and also what to expect in the coming months. Furthermore, we hope all those who have been deploying nodes based on our November iteration of the blockchain code will accompany us on the main testnet once we are able to open up for community participants! We will continue to work hard to provide a solid foundation for our enterprise customers, and fully intend to make the community proud of the team that some of you have been supporting for more than a year!

Until next time,

Team APEX

APEX Network