Unifying blockchain programming languages like Solidity with traditional languages like Java is the first of many steps that need to be taken before we begin to see mainstream adoption of decentralized technology. In this article, Sky Guo explains why Cypherium has chosen to run on Java and how this language can facilitate mainstream blockchain adoption.
Adoption remains one of blockchain’s largest obstacles. Critics often point out blockchain’s lack of real-world usability as one of its main barriers to wide-scale use and broad adoption by various industries. In order for blockchains and cryptocurrencies to realize their full utility and leverage their full value, our space will need to focus on adoption in an immediate sense. The tires of this vehicle, in other words, need to meet the pavement successfully.
While crypto enthusiasts already believe in an on-chain future, existing institutions such as banks and Silicon Valley companies need to be fully convinced before this new technology truly reconfigures the architecture of our everyday lives. The only way to accomplish this, however, will be to win the support of dedicated computer scientists who are willing to code smart contracts.
At its core, then, adoption must make distributed computing systems available to everyday legacy coders. In order to build the future, our architects need to be able to read the blueprints. Even the tech-savvy have trouble explaining what smart contracts are: why should we force developers to learn a new, specialized language like Ethereum’s Solidity just to build a simple contract? For these reasons, Cypherium has chosen to run on Java, the most popular coding language in the world.
Lowering the barriers of adoption with Java
For anyone outside the coding world, Java and code can be somewhat synonymous, and for good reason. According to Oracle’s estimate, Java runs on about three billion devices, having this week now been launched and available for over 23 years. This estimate refers to the fact that Java operates the runtime environment for all Android operating systems. Crucially, its virtual machine (the JVM) supports a vast array of servers and programs. Java has one of the largest developer bases in the world. By integrating this programming language and its community into the blockchain fold, Java will help blockchains become capable of the higher transaction speeds required for global, enterprise-ready tech.
Most of the “things” referred to in the Internet of Things (IoT) run Java, including passports and IDs; credit cards; ATMs; and perhaps most importantly, computers of all magnitudes.
The arrival of Cypherium
As our public testnet launches, Cypherium has become the first major smart contract platform to leverage the full force of Java’s developer community, particularly through the advent of the Cypherium Virtual Machine (CVM). Based on the Dalvik architecture previously used by Google’s mobile Android systems, the CVM is a lightweight and flexible runtime environment for the execution of smart contracts. While contracts can be written in Java, the CVM does offer full horizontal integration with contracts written in Ethereum’s Solidity. This innovation in the smart contract space offers increased accessibility to the world’s largest pool of legacy developers. It also addresses many of technical shortcomings faced by blockchain platforms today, including SafeMath checks, register-based structuring, 64-bit words, and many more exciting technical specifications. Cypherium’s solutions tackle the space’s existing limitations by facilitating implementation across a variety of possible industries, from supply chains to financial contracting, to payments and beyond.
Perhaps more crucially, these steps toward scalability do not come at the cost of the network’s community members. In fact, presenting a more dynamic and flexible smart contract platform enriches the power of developers and miners. Cypherium makes a concerted effort not to sacrifice its distributed operations for the sake of a speedier, cheaper, and more centralized scalability mechanism.
Unifying blockchain programming languages like Solidity with traditional languages like Java is the first of many steps that need to be taken before we begin to see mainstream adoption of decentralized technology. The most impactful and lasting aspect of today’s internet remains its vibrant communities — its developers, inventors, and content creators. Cypherium’s design reaches out these communities by making a more approachable, more robust, and more powerful network, with Java as an important first step in that direction.
High throughput and the capacity for everyday use
However, Java compatibility alone will not propel the technology. A feature like this one must coincide with a truly usable and physically scalable product. Right now, Bitcoin and Ethereum plainly cannot support the kind of decentralized world they have helped us imagine. At their best, these first generation protocols can process speeds of up to 20 transactions per second (TPS); at their slowest, they cool down to a glacial rate of five TPS.
Cypherium’s testnet is already reaching an average of around 2,500 TPS, with its maximum tests exceeding 3,000. This is the speed that our industry will need to compete with the legacy payment systems of Visa and Mastercard. Payment, of course, is not the exclusive use case of this kind of technology, but it is a crucial one, and one that demonstrates just how far our technologies must come to meet the needs of modern enterprises.
Cypherium is able to achieve such a high throughput primarily due to its novel consensus mechanism. Cypherium has invented a dual-chain structure, which uses both Proof-of-Work (PoW) and Practical Byzantine Fault Tolerance (PBFT). In short, these two chains take on separate responsibilities of minting and verifying transaction blocks. Moreover, this mechanism deals in small, variable block sizes that allow for much faster processing than its predecessors.
Scalability will be a coordinated effort. It requires sophisticated technology, a clear vision of the future, and a sensible connection to the past. Perhaps more importantly, bringing blockchain into everyday industries will take an entire community. Developers are that community’s backbone.