Cointelegraph is following the development of an entirely new blockchain from inception to the mainnet and beyond through its Inside the Blockchain Developer’s Mind series. In the fourth part, Andrew Levine of Koinos Group discusses some of the challenges the team has faced since identifying the main issues they wanted to solve.
At the beginning of this series, I outlined three of the “crises” that are hindering the introduction of blockchain. Updatability, Scalability, and Governance.
In this post, I will summarize the solutions we have developed to these problems and which we will present in the upcoming Koinos testnet, which is scheduled for the second quarter of 2021.
Since that series, Koinos Group has successfully introduced a token, KOIN, as evidence of the degradable token on Ethereum. By using proof of work to distribute the initial token offering, we were able to make the token accessible to early adopters and dispense with an ICO.
Evaluation of the ICO model
ICOs and similar token selling tools, although not devoid of their use cases, have created their own crisis within the space by misaligning incentives before development even begins. The problem is not the ICO as a tool, but what happens when a team is financially rewarded before even shipping a product.
While so many projects have followed in Bitcoin’s footsteps, it’s surprising how few have replicated arguably the most successful aspect of its launch. a token distribution exclusively through proof of work.
The advantage of this approach is that algorithmic security ensures that the people behind the blockchain have no advantage in purchasing the token. In short, everyone, no matter who they are, has to make a financial sacrifice to receive this mark, and the extent of that sacrifice is determined by a neutral third party. In the case of proof of work, this neutral third party is the hardware manufacturer.
For Koinos Group, this means that like everyone else, we had to spend money to purchase our token. Since we have to spend most of the time developing the product, we are even at a disadvantage compared to professional miners. So we need to keep working on adding value to the protocol if we are to get a return on our investment.
Evidence of working algorithms is not without its problems, but we have mitigated this in a few ways.
- First, the mainnet is controlled by a completely different consensus algorithm that is neither a proof of work nor a proof of deployment. Therefore, any attempt to develop an ASIC would be a waste of resources.
- Second, we made the algorithm GPU-resistant.
- Third, we released this token long before our mainnet was released. In fact, we released the token long before we finished developing our framework. Without a working product, this token will become a way for people who believe in our team and share our vision of a free, smart contract platform to purchase the token at a reasonable cost.
Fast rate of improvement
Part of what makes this launch strategy work is Koinos’ innovative real estate set. We created Koinos from scratch, not with individual features like transactions per second or sharding, but with the aim of creating a blockchain that would improve much faster than any other blockchain out there.
In our experience developing the Steem blockchain, the need to run hard forks has been the biggest factor holding back progress. If we were to remove this bottleneck, we figured that it would be enough to move as much system code as possible into smart contracts that could be updated in-band.
For this reason, the Koinos blockchain framework only contains the most basic blockchain functions (so-called “thunks”) such as entering / entering contracts, calling up parameters and writing to the database. All of the more complex functions that users are more familiar with (consensus algorithm, accounts, resource management, governance, etc.) have been moved to modular WASM smart contracts that run in the virtual machine and can be updated without a hard branch.
Because all behaviors are now coded in separate “modules” that can be “updated” individually, this feature is known as modular updateability.
Because of its modular updatability, any behavior can be added to the blockchain without a hard branch, as individual upgrades can be distributed in blocks and transactions that are sent to the network similar to an operating system patch, but with the added benefit of an on-chain recording of the entire upgrade path.
By transferring almost all of the blockchain’s system code to smart contract modules that can be updated without a hard fork, we have turned koinos into a blockchain that derives its strength not from the functions it was born with, but from its ability to to work fast Acquire new and better features faster than anything.
That is why we call Koinos the first blockchain that is capable of evolution.
Modular upgradeability was just the first major technical innovation we developed to make Koinos less monolithic and an order of magnitude more upgradeable. Just as there is code that does not need to be implemented natively (in the blockchain itself) but can be implemented as smart contracts (most of it actually), there are many codes that need to be implemented neither natively nor natively as smart contracts and can instead be implemented as microservices.
Microservice architectures offer many advantages, which is why this has become the industry standard for modern software development. A major advantage, however, is scalability, as individual services can be scaled without having to scale the entire system. This can dramatically reduce the cost of running a network while improving the speed and quality of improvements to that network. Due to historical accidents, blockchain stacks appear to be the last to adopt this new standard as Koinos will be the first blockchain based on a microservice architecture.
This creates amazing new opportunities for developers who will be able to create application specific microservices for koinos that will allow them to run their nodes and applications more efficiently. and as a result, deliver better user experiences. Best of all, it makes Koinos nodes more accessible to operate, which improves decentralization and allows the network to run more efficiently overall, allowing developers and their end users to get more out of their decentralized applications.
Another benefit of a microservice architecture is that individual microservices (basically small programs) can be written in the best programming language (fastest, safest, best libraries, etc.) for the job, a feature we wanted to offer smart contract developers as well . To take advantage of this feature, we had to develop a way for these small programs, written in different languages, to “talk” to each other in a way that suited the particular needs of a decentralized network. To solve this problem, we created a cross-language serialization framework called Koinos Types.
Koinos Types is like the Rosetta Stone for blockchain data structures. Programs written in different languages can communicate with each other in a simple and consistent way by giving them access to the same objects (the “building blocks” of modern programming languages). Koinos Types enables the interpretation of Koinos data structures (i.e. blockchain data structures) in virtually any programming language, which is extremely useful for developing blockchain-related microservices, clients and smart contracts.
Koinos Types solves a number of problems. It helps us to support koinos more generally in multiple languages (also for smart contracts), it enables microservices to communicate with each other, and it makes the development and updating of client libraries much easier. While the modular upgradeability and microservices architecture alone make Koinos far more upgradeable than any other blockchain, Koinos Types takes this upgradeability to another level. That’s why we were so excited to make Koinos Types the first piece of Koinos to be offered as an open source product.
As you can see, the point is not to make sure Koinos can improve faster than any other blockchain.
- It’s about getting the incentives right from the start.
- The point is to ensure that the blockchain can be upgraded in a modular fashion.
- It’s about modularizing the architecture itself as microservices.
- And it’s about ensuring that developers working at all levels of the stack (not just smart contracts) can use the programming languages they already know and love.
The views and opinions expressed are those of the author only and do not necessarily reflect the views of Cointelegraph.com. Every investment and trading step is associated with risks. You should do your own research when making a decision.
Andrew Levine is the CEO of Koinos Group, where he and the former development team behind the Steem blockchain develop blockchain-based solutions that enable people to take responsibility and control over their digital selves. Their foundational product is Koinos, a powerful blockchain built on an entirely new framework that gives developers the features they need to deliver the user experiences necessary to spread blockchain adoption in mass.