Byzant is a new series by Neo News Today, providing access to insider perspectives from knowledgeable individuals in the Neo ecosystem and broader blockchain industry. For the following week after a guest has shared their insight, they will be encouraged to participate in discussion on the Neo subreddit by answering relevant questions from the community.
In this week’s feature, we asked Ricardo Prado for his perspective on developing solutions that make use of blockchain technology, and the improvements needed to make it as accessible as traditional application development.
Ricardo is the co-founder and CEO of Simpli, a software development company, where he performs hands-on programming activities in addition to strategy and new business development. Simpli has developed solutions that it claims have been integrated in over fifty companies, totaling more than 300,000 monthly users. He is also a key contributor of COZ and close partner of the Neo ecosystem, providing technical solutions and innovations that help expand the functionality of distributed ledger technology.
Readers interested in asking further questions about application development on blockchain can join the conversation and speak with Ricardo in the following thread:
NNT: From the perspective of an application developer, could you give us your thoughts on developing solutions with blockchain technology, and how you see this experience evolving towards parity with traditional application development?
First step: Usefulness
The Blockchain space has come a long way since the Bitcoin network was first released. Advancements have been made in any areas, specifically on consensus, interoperability layers and TPS, making the network more applicable. These initial steps were challenging to accomplish due to the complexity of the new technology and its relationship with encryption, which was related to advanced math. Once the technology proved to be not only useful, but bringing with it ethical solutions for an age looking for trust and transparency, more developers joined its development. With new developers came demands for new features to achieve unique business goals. As with the development of the internet, there are trials to overcome before blockchain becomes a more widely used and trusted technology.
The Challenge in Blockchain technology
The lack of basic features seen in the blockchain space is a common phenomenon for any modern technology. For example, for many years, development depended on manual memory management. This used to be true for iOS until the late 2012s. All this additional complexity is gone now, allowing developers to focus their energy on writing the solutions for these platforms.
File systems and oracles are “must have” features
“Must-have” are features that, without them, either it is not possible to develop an application, or it is close to impossible. File systems and oracles are so important that companies invest millions of dollars on its development so they could actually deliver the product that they were looking for. It is almost impossible to find a real-world application that doesn’t depend on external data inputs through internet access (oracles) or access to a file system to trigger their operation. This didn’t keep developers away from blockchain, but it made them implement complex sub-systems capable of performing these tasks. Not only are these subsystems rarely as decentralized as we would like them to be, but they are usually part of a private solution that people will never have access to.
Once file systems and trusted oracles are added to a blockchain, more developers will likely appear, and with these developers, more questions and possibilities will arise, leading to new features and improvements. The good news is that these features are probably the last “must-haves” blockchain will need.
Non-technical standards are needed
Most of the digital currencies are already covered in some sort of token. However, we still lack standards for objects that cross the boundary between digital and physical goods. We should not expect this standard to come from regular people, but rather from players in different industries. This is the purpose of the Token Taxonomy Initiative. Today, blockchain companies may have great ideas that will impact different industries, although there is little chance that someone from outside can impose a unique way of doing business. However, if the same company implements a standard that is already being used by the industry, there is a higher chance that their solution is used. Once these standards are adopted by the market, we should expect a major transformation in trading. Instead of decentralized exchanges trading only digital assets, we will start to see many different kinds of objects being traded, from properties to commodities.
The complexity of dApp development
If you consider all the modules required to deploy a working application on a blockchain, you will see that you need to develop on different platforms, besides smart-contract development. Additionally, you must consider fees, block time, chain synchronization, signing, multi-signing and so on. The blockchain is an additional layer that developers can now use, but unfortunately, an additional computational layer exponentially increases the application complexity because of the learning curve that comes with it. The way forward would be to add new features while decreasing the learning curve for developers.
Expanding the possible applications of a blockchain
Distributed ledger technology has already proved to be beneficial, but it still doesn’t cover much more besides financial applications. There are key features required to be added for the technology to be applicable to other industries. This is why Neo3 is so important. With network access, file system support, and single block finality, the technology will have all the features required by real world applications. By having file system support embedded on the blockchain and not relying on an external component, it checks the boxes of trustless and decentralized.
So, what comes next? The next step is to deliver these features to developers and discover what new applications are possible. There is no easy path to find all the important improvements required; you need to build your solution and see how far you can go. Only once the roadblocks are identified can the engineering teams start working on a solution.