Charles Hoskinson Cardano Update - 5/2/2020
(Written by @Eric_Czuleger)
Charles Hoskinson sat down for a brief update on process after a high level meeting with his team about the functional and non-functional requirements for the Shelley testnet.
Quick Summary:
-
Cardano was built by leading with a formal methods and peer-reviewed approach to creating evidence based software.
-
We are nearing the completion of the science around Ouroboros, and it is now time to tell the world what we did and why it is important.
-
The switch to the Haskell Shelley testnet will happen in two phases. First for the stake pool operators transferring from the ITN and then for the wider user base.
-
We are currently looking at not only the Cardano Improvement Proposal (CIP) process, but also a Cardano enhancement process which will drive adoption of ada.
-
We have begun exploring wider partnerships in commercialization.
Forging a new process
The first report from Root9B has come out on the security audit of the new code.The audit report comes with the good, the bad and the ugly. But it also gives us the opportunity to fix these issues before releasing the final report to the public. This brings into focus our development process. We would like to take a moment to lift the veil on how IOHK builds software. We believe that this will help people understand the distinction between us and the industry as a whole.
In the beginning there was Bitcoin. It was a loose whitepaper. It was short, it didn’t have security proofs or a serial model. It explained what Satoshi was trying to do. It gave us an idea of how protocols could work. The white paper also gave us an idea of the philosophy behind it all.
This was paired with some C++ code which was filled with lots of curious design decisions. It came along with a good deal of blood sweat and tears. Needless to say, it was clear that it has been worked on for years before release to the general public. At the time however, this was a revolutionary idea. The industry has evolved a lot over the last ten years however.
We have gotten to the point where real people, governments, and corporations are making multi-billion dollar bets on which crypto company they will go with. The capabilities of the ledger and the system need to be able to scale in a way that Bitcoin could never accommodate. These needs exceed the grasp of Ethereum’s current incarnation as well. We are positioning Cardano to meet these needs.
Scientific rigor first
When we started the Cardano project we decided to think about science differently than our industry thinks about it. This is in opposition to writing a white paper or developing vague ideas, which we saw other companies doing at the time. Our decision was to start with the peer-reviewed scientific process.
The first thing we did was to hire a large group of scientists. We asked hard questions. This led them to think deeply about security models, security proofs and adversaries. They thought around all of the major problems plaguing the blockchain industry at the time. This was a major step forward because this kind of science has not been done on a large commercial scale by anyone in our industry. However, we are beginning to see this kind of work follow suit.
Formal methods
We didn’t stop there however. In 2015 we decided to pursue the concept of formal methods. This is something that very few software engineers working in blockchain fully understand or appreciate. In essence, a formal methodology starts by writing out rigorous mathematical intended specifications. It then hopes to build around those in a fashion which fulfils them entirely.
We have this concept of Ouroboros. There are many flavors of it, but what it means is far more important than the academic papers may lead on about. These papers allow an engineer to look at them and understand unambiguously that what they have created matches the intent of the author of the system. The specifications developed with formal methods can be analyzed in a rigorous way for correctness.
You can verify your specifications meets your design requirements in a variety of different ways. We chose to go down this road. Most of the time when software is written in this way, it adds years to the roadmap. That is exactly what happened with IOHK. When we chose to go down this road we hired scientists and formal methods experts. We then had to figure out how to do formal methods with cryptocurrencies. At the time, no one had done that before.
Advancing the space
Some projects in the space have approached the same level of rigor. However, there was no project scale effort to achieve this feat when we started in 2015. We have seen some projects like Tezos beginning to embrace formal methods in their practices. It’s important to remember that IOHK was the market leader in peer-review, formal methods, and generating a pipeline which allowed us to go from peer-review, to formal methods, to actual testable code. We can also do this fairly quickly.
We have called this approach evidence based software. The reason for this is that you can see the chain of custody for evidence of the software’s efficacy. We have generated some content on both Youtube and our official blog about this. There you will see our leading scientists talk in exhaustive detail about what evidence based software is.
Third parties of merit
In the end, we can build great software on our side, but there is a difference between what IOHK can do and achieving third party validation that our work has been done correctly. This is why it is important to have independent security audits. It is also necessary to have the peer-review process.
Third party verification is necessary to see that the science was done correctly. It’s vital that they are impartial, monetarily and philosophically. It is also important that an organization is putting their credibility on the line when confirming the accuracy and security of our product.
We are also beginning to push this philosophy into our project management and product planning pipeline.That means, for the the first time ever we have sets of project charters and documents from the last three years, to consolidate a universal set of scopes as well as functional and non-functional requirements. We have spent the last three weeks cobbling this together from source documents and Github issues. At the moment it covers scope up to the Shelley testnet. Going forward every project will have similar documentation.
Increasing transparency
We would like to point out that underneath the surface, there is an enormous amount of work going on. This is often invisible to supporters of Cardano because they generally only see the outputs. However, there is room for experimentation, prototyping, and talking with the customer. Ultimately the question is, ‘Did we get it right?’ Ultimately, this will be decided by our supporters and our third party partners.
Take for example, the Incentivized Testnet. This was created to generate a conversation around the user experience for staking. We wanted to look at the business model of staking and figure out how the Ouroboros protocol works. This is why we chose a rapid prototyping method. It allowed us to change things on a weekly basis. It let us play around with a wide range of ideas and configure things quickly with the community. This allowed us to accommodate an experimental edge. This was the point of the ITN.
Progress and participation
Participation has been overwhelming, as has support. These things combined together are what make a great software project. It is taking a long time to pull the strings together in just the right way. It is also taking time to communicate in the right way. We have not done the best job in being open about what our process actually looks like. We have been insular and myopic at times and this means that some people have forgotten about what is happening.
However, in 2019 we are still the most actively developed platform on Github by commits. We believe that we will maintain this velocity if not more so, in 2020. We say this to give users a sense of the enormous amount of work that is going on behind the scenes.
Developments for February
In the next few months you will begin to see the fruits of our labor. This month we will have the OBFT hard fork which is tentatively scheduled for February 20th. We hope to also get the Byron reboot code out this month as well. This will be the first product of our rigorous adventure. It truly is our proudest work as a company.
If you would like to see what all of this work is based on, you can go to the IOHK Github and look at our repo entitled ‘Cardano Ledger Specs.’ That is the design of what we are launching this month. It will be launched with the Shelley testnet and the Shelley mainnet coming soon. On the back of the Byron reboot, we will begin turning on the Haskell testnet. This will happen in two phases.
Transitioning from the ITN
The first will be for the stake pool operators to help transition those with stake pools on the ITN to the Shelley Haskell testnet. That should be a process of about 2 to 4 weeks. After that is done, the consumer side will be released. That will involve a balance check for if you participated in the ITN. Users should be able to verify their balances in the second iteration.
From then we just need to select a date for the launch of the Shelley mainnet. Of course we have a great deal more to do before that happens. We are building supporting infrastructure and refurbishing Cardano docs ahead of the mainnet. We are currently focused on delivery and we are very proud of all the work that has been put in.
Moving onto Goguen
After that is the launch of Goguen. To achieve Goguen we need six things to occur. Currently we are making an effort for multi-asset functionality, identity, oracles, metadata, development experience and Ethereum interoperability. Of course, the launch of Goguen will go alongside additional work on Shelley. We believe that every month or two months there will be a major update or release for the near future. These are the fruits of years of effort, rather than the quick turn around of new updates. In addition, we will start transitioning the ITN work into Basho.
Basho and then Voltaire
We are beginning to get final specifications and ideas on how Basho will integrate into Goguen. Announcements about this will come at a later date. We believe that work on this will begin in March or April. Meanwhile Voltaire work is underway with the Cardano Foundation.
At the same time we are collaborating with our partners, this includes making original contributions to Haskell. For example, for over a year we have been funding various projects for compiling Haskell to javascript and web assembly. This will make Haskell as portable as Rust, C++ and C. This is important for the Adrestia project and Plutus.
Adrestia is a collection of the wallet backend, explorer functions, and libraries. It allows users to build wallets for Cardano. It allows exchanges to list Cardano. It also allows for cold staking and staking as a service. We’ve been working with several exchange partners to rebuild the experience of listing Cardano. This will make one unified stable experience which is portable and enjoys the same stability the rest of our products have. This is a Herculean task because we are talking about work with 30 different entities.
Evolving the ecosystem
Another task that is currently underway with Cardano Foundation taking the lead is generating a way for Cardano to evolve. Thus far we have set a high bar for quality and rigor in development. With that said, when we look at improvements to our protocols and ecosystem, you can break them across two dimensions. One is an improvement process to protocols. The other is an enhancement proposal for new features or growth factors.
In order to accomodate this we will begin with a formal specification and then update that to a new specification. At the moment you can see our specifications in the IOHK Github. When interacting with those specifications, it is very difficult to understand what is going on. We believe that it is important, when talking about the CIP process, we need to find out how to transform the original specifications to new specs with breaking or non-breaking changes. We believe this will address both soft and hard forks, as well as consensus and network rules.
We also think that this can be done in a decentralized way. The reference code for this will then be self hosted within the Cardano ecosystem. This will break our reliance on third parties like Github. This means that all of the democratic mechanisms will be on ledger.
In terms of enhancements, this could include everything from gaining more traction in Ethiopia. Maybe it would include giving the government of Mauritius to put their voting process on the blockchain. These enhancement protocols are more about promoting new use cases for ada.
Part of the CIP committee at the Cardano Foundation is exploring both of these broad mandates. How do we improve formal specifications in a structured way? This will help us get to the next state. This is codependent so users will be able to verify that they are using a single source of truth.
In terms of the enhancement protocols, they are not based on mathematical formalism. They are based on the opinion of the community as to whether the enhancement will add value. The goal is to put both of these under the auspices of a voting mechanic and a treasury system. This is the core of Voltaire.
Decentralizing software updates
There is a lot that goes into creating a good voting system and a good update system. About two years ago we applied for a grant with Horizons 2020 along with several other members like IBM. The purpose of this was to research decentralized software updates. We were awarded the grant of over a half million dollars and Input Output Research has been working on this since the award. We have produced a paper based on how to do a decentralized software update. We have combined this with research at the University of Lancaster and other organizations. This all constitutes the development of the design fundamentals of Voltaire.
However, this will not substitute for community engagement. Design won’t substitute incentive structures. These are required for the mechanics to be successful. Because this is so involved we have authorized the hiring of a dedicated product manager to manage these work-streams on behalf of IOHK. Currently, there is a product manager for EMURGO and the Cardano Foundation who will ensure that this system consolidates before the end of the year. This will handle both the CIP and the Cardano enhancement process.
Ending the first generation
The good news is that once the Shelley and Goguen work is done, our entire team will be available to help develop this treasury and voting mechanics. Of course, the project can be scoped up and down based upon actors involved and community participation. Goguen and Shelley are significantly more involved.
We are nearing the end of the first generation of research for Ouroboros. This means that we are about to solve the problems that we outlined 2015. We have systematically worked our way through the beginning of Ouroboros to the current advancement, Ouroboros Hydra. The science is now becoming settled. We now need to let people know what we have done and why it is amazing.
There is a lot more that we can do with Cardano and Ouroboros, but the point of having the improvement process and the enhancement process is to leave it up to the community to prioritize where we go next. IOHK would be thrilled to do another 5 year sprint. If funding is permitted we will pursue this. But for this to be a truly decentralized ecosystem, the community must decide who the stewards of the ecosystem will be.
Building the future
When we started the ITN, our wildest hope was to have 100 stake pools. We recently found out that we are nearing 1000 registered pools. We believe that there is no end in sight. We believe that we have started an engine which tends towards decentralization without giving up performance and coordination. We believe that once it is left to its own devices Cardano will become the most decentralized cryptocurrency in the world. We also believe that it will be able to advance and deal with both external and internal threats.
This is no small feat. We are very proud of what we have accomplished. We will have completed the roadmap of years of work sooner rather than later. It has been an honor to work on it and we look forward to the next scope of work.
We have begun brainstorming ideas like a satellite relay network and quantum proof VRFs. We also look forward to what is built on the system. We believe that we have the ability to define what the transactions of the future look like. We have a chance to make huge contributions to computer science. Finally, we have a chance to build increasingly larger coalitions to utilize our software.
On the IOHK and EMURGO side we have already begun exploring partnerships. This includes our work with PWC. It also includes determining use cases for how partners can build products on Cardano. However, we believe that the definition of success is the ability to rebuild everything.
In essence, we have a shot at rewriting global playbooks for economies, and societies. This would push power to the edges. Individuals will determine how and where they participate in an economy. It includes allowing them to maintain their identities, their wealth, and their credentials. This will definitively answer the question that everyone is asking about the blockchain industry: Why are we here, and what are we providing to the world?
We believe that Cardano will answer this question.