Many of you will have seen us talk about our testnets, where we run the versions of Cardano and other testing simulators so we can test our products and get feedback from the community. Some of you have already been playing with the code from our GitHub repos. So as we move from the Byron to the Shelley era, we want to extend that collaboration and learn more from the great talent in our Cardano community.
With the Rust codebase for Shelley now nearing primetime, we’re asking the community to help us build out a testnet. The Shelley era is all about decentralization, so we’re taking a more decentralized approach to testing and documentation. It’s an important step in expanding the Cardano technical community and ultimately preparing everyone for the day when the community takes over the blockchain.
For some time, there has been a dedicated and vibrant best practice group on Telegram – the Stake Pool Best Practices Telegram group (1,733 members). There’s clearly a lot of talent and interest out there. We recently pinned a survey in the channel to learn more about potential stake pool operators. We’ve had a really positive response, with over 150 full responses so far.
What’s the range of technical skills and knowledge in the community? What are people’s particular interests in staking? Are they keen hobbyists or entrepreneurs with plans to run a stake pool as a business? What equipment are they planning to use? Would marketing or other business support be useful? We asked lots of questions to learn as much as we could. Ultimately, our goal is to find out how we can support the community in implementing Shelley’s decentralized model in the most effective way we can. It is these people who’ll be helping to kick things off.
So, we’ve started harnessing the power of the Cardano community to roll out a staking testnet. We’ll be supporting this early group along the way in a number of ways.
There’s now a dedicated code repository and log to support the test program, all open. We will soon release new Shelley testnet webpages on our Cardano testnets website. We’ll publish instructions, videos, tutorials and so on explaining what to do and how to do it. We're writing a pretty good set of documentation for the Rust client. There will be instructional videos on how to install and operate the node as well as report bugs and log issues using GitHub.
A key part of the testing program will be working with people with mixed levels of technical experience, working across different platforms and configurations. The feedback from this group will ultimately make our technology easier to install, configure, and operate for everyone who follows.
The testnet will have a series of releases rolling out in three main phases.
Phase 1: The self node, aka ‘blockchain in a box’
The first stage is all about setting up and hosting a ‘self node’. You can think of a self node as ‘blockchain in a box’, a minimum viable product (MVP) for testing key capabilities. This is basically a set of tools and documentation to bootstrap your own genesis block and run a multi-node environment on your own machine, where you can see how stake pools actually operate. It’s like a complete network within a single instance.
We’ll provide instructions and invite people to run the node through various configurations and give us feedback on what they find.
But what about the network? Isn’t this supposed to be a decentralized solution we’re testing? Well, although we’re starting with the self node, we’ve coded things so you can implement more features against this self node down the line. So, as we add more functionality – namely the network and incentives components – the code developed against the self node won't have to change much or at all. That’s the plan!
So, the first phase is about establishing the basic configuration for your set-up that gives a sense of how well things are working locally. The early code will contain just the core functionality, designed to explore the fundamental capabilities. Across the stake pool task force, we’ll be learning about operating on different hardware, operating systems, cloud hosting environments, and technical skill levels. We'll get a much broader set of results data by collaborating with the task force.
Phase 2: Connecting the network
Once we’re happy with phase 1, and have a robust set of self nodes up and running, we’ll start connecting them up. The goal will be to create a single, unified testnet and to add more nodes as we go, scaling the network step by step. So, instead of experimenting within your own instance, you’ll now be moving to a system where you’re talking to nodes across the internet. You're gossiping, you're downloading blocks from peers. And then we’ll be learning from a whole new set of behaviors and potential risk scenarios.
Phase 3: The incentives system
This is where we add in a networked incentive system. Moving blocks around is all very well. But Shelley’s true potential will be realized with staking. This is about demonstrating how staking rewards will go to the stake pools to encourage that.
So, at a high level, that's what you’ll see in the coming months. We'll also be working closely with the folks at EMURGO on this. They’ll be helping with testing and also ensuring that their Yoroi wallet has all this interoperability. Seiza, their new blockchain explorer, will be a great tool for visualizing a lot of the things that we do that are unique in our ecosystem.
This testing program is an experiment in community collaboration. There’ll be a lot of testing, re-coding, improving documentation and training materials, tweaking, and so on along the way. We’ll be checking the integrity of individual components as well as demonstrating that those components play with each other nicely. The objective is clear, but it’ll be interesting to see how we get there. We’re committed to it because it fits: a decentralized process to test a decentralized system. And a broad collaboration with the community to test a system that will be owned by the community.
We’ll keep you all posted. For those who choose to step up and work with us in the program, a sincere thanks in advance to you for your partnership.
Cardano is in an exciting transition stage. The project has long combined thoughtful product vision with research-driven specification and evidence-based development processes. Still committed to that rigor, we’re now making the jump to a new stage of development where first-ever-in-the-world new capabilities are delivered. The rubber is starting to hit the road. As we are making this transition we recognize that we need a better way to communicate how Cardano’s 2020 vision is being delivered, and that we should do a better job keeping the community informed about our status against those goals.
Here is what we are doing to accomplish those things.
We are working on a redesign of the Cardano roadmap website that will do a better job describing our upcoming release phases, with themes and detailed functional components for each. You can expect to see it live in 2-4 weeks, with more content added over time. Aligned with the keynote speech from CEO Charles Hoskinson at the recent IOHK Summit, the new roadmap site will provide a clear definition of delivery phases, how they fit together, and what we’ll deliver when.
Regarding delivery status, Cardano has had an ethos of openness and transparency since the beginning. We want to take that further. Here’s how.
We’ve recently improved our organisational processes to support this phase of development where long-promised functionality becomes reality. One aspect has been a focus on how we share progress against milestones inside the Cardano team, with weekly project updates, live progress demos, and soon a new Shelley testnet.
As a result we have greater visibility and accountability in our work. So as we enter the next stage of development, we need status reporting that properly reflects real progress, setting accurate expectations by showing exactly what we’re working on and highlighting real delivery.
Past versions of our roadmap had feature-level percentage complete indicators. We put a lot of effort into those, but even with all that work they fell victim to the same thing Tom Cargill at Bell Labs described in his famous-and-funny-but-a-bit-painful-if-you-build-software quote:
“The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time.”
Sigh. But we don’t want to back off on communicating status. The best way to fulfill our ethos of transparency is to push it further and open up the process to you. We are going to record those internal development status demos, where our dev teams show their latest finished working components, and deliver them to the community. So you’ll have a real understanding of our development progress, because that last 10% that sometimes becomes another 90% has to be done, really done, in order to demonstrate working functionality.
At the same time we deliver the recorded progress demos, we will also deliver a status report summarizing the work completed, and I’ll do an Ask Me Anything (AMA) session where I’ll describe the latest results and answer questions from the community. This will happen every month or two based on progress milestones.
Often the news will be awesome with lots of progress, but sometimes you’ll see that there’s a problem we are working through. Because that’s the reality when implementing first-ever new functionality. Solving hard problems is hard. But now you’ll be able to see where we are and how it’s going.
You’ll still be able to access the information sources you had before. Our Githubs are open. We’ll keep sharing weekly technical reports on Cardano.org. Emurgo delivers monthly Cardano reports describing what we’ve been up to. The unstoppable Charles will keep doing his own AMAs. But we want to make it easy for the community to see what we’re delivering, so this is a major redesign of our roadmap and reporting process, starting from our internal processes and extending out to our partners and the community.
The first demos, status update and AMA will come later this month. I’ll be joining the guys from the Cardano Effect within the next few weeks to talk more about our new roadmap and reporting process, so keep an ear out for that. We’ve got lots of exciting stuff in the pipeline, and I’m looking forward to sharing it with you.
Artwork, Mike Beeple
Senior Product Manager