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
Government ministers, industry professionals, and Cardano fans were at the IOHK Summit 2019 in Miami this month, excited to hear IOHK CEO Charles Hoskinson outline the future for Cardano and launch Atala, the company’s enterprise offering for business. Hosted at the Miami Beach Convention Center, the summit saw renowned speakers such as computer scientist Stephen Wolfram and cyberpunk author Rudy Rucker alongside government representatives, entrepreneurs, and enthusiastic community members. The summit reflected the broad appeal – and potential – of both blockchain technology and IOHK’s research. In total, the event had over 700 attendees, including IOHK staff: a rare and enjoyable opportunity for our decentralized company to meet and collaborate in person.
IOHK Summit 2019
To kick off the summit, IOHK CEO Charles Hoskinson discussed the goals and philosophy of IOHK: ‘we're not just building a decentralized system, we're building a decentralized infrastructure’ to invite billions of people – thus far ignored and unserved by legacy finance – into a new and flourishing economy.
IOHK holds a summit every year, but this was the first year that the event was open to the public. Attendees gathered between talks to network and discuss all aspects of blockchain and cryptocurrency, with stands from Emurgo, the Cardano Foundation, the Cardano Effect podcast and more lining the walls for attendees to visit.
Atala: our enterprise product
Atala, the new Cardano enterprise offering, was a major piece of news from the summit. The enterprise-grade product will blend blockchain with new and existing technologies, providing a holistic, best-in-class offering for those with large and potentially complex use cases. Like everything else we do, Atala will be underpinned by IOHK's world-leading research. During his presentation, IOHK director of engineering Bruno Woltzenlogel Paleo outlined the fundamental vision for Atala: ‘to do for all data what bitcoin did for money’.
With the formal specifications for Shelley released just days before the summit, progress on Cardano development was in the spotlight too. There were talks from senior Cardano development team members Duncan Coutts, Philipp Kant, and Bruno Woltzenlogel Paleo, as well as open panel discussions about how blockchain – and Cardano, of course – will interact with future law and monetary policy. IOHK engineers have been working hard on the development of Shelley, and Charles took the opportunity to reiterate that the ultimate goal of Cardano isn’t just to ship a technology product, but to create a means of improving quality of life for millions of people around the world.
Other exciting news from the event included the first public announcement of an MoU between IOHK and the Ethiopian government, with IOHK set to design and create a cryptocurrency for Ethiopian citizens. John O'Connor, IOHK director of African operations, announced the joint venture during his presentation about IOHK's recent success running a Haskell course in the Ethiopian capital Addis Ababa. Meanwhile Lars Brünjes, IOHK’s director of education, discussed the human impact of the initiative: not only is it a huge step forward for the industry to be engaged with government organizations, but leveraging blockchain technology in the developing world will improve the everyday lives of millions of people.
It isn’t just the Ethiopian government that IOHK is engaging with either: also at the summit were Caitlin Long and Tyler Lindholm, both members of the Wyoming legislature, discussing how the state is making huge strides to become a haven for the emerging markets of blockchain and cryptocurrency. Delegates from the Mongolian government were at the summit as well, including the minister of foreign affairs, along with CEO and entrepreneur Gerelmaa Batchuluun, explaining how ‘Mongolia is the next destination for the blockchain revolution’.
The summit was also an opportunity for members of our dedicated community to meet and collaborate directly with IOHK, and one of the most popular workshop sessions was run by two community members who only met a few months ago at the inaugural PlutusFest event in Edinburgh, UK. In their talk, Cardano on the rocks, Markus Gufler and Robert Kornacki presented undeniable evidence of the potential reach of Cardano. They demonstrated how a full Cardano node can run on low-cost open-source hardware using less than ten watts of power, potentially provided by a solar panel, opening up the world of Cardano to anyone, anywhere. Not only that, but Markus and Robert run a free, community-driven education portal, Clio.1, where they’ll soon be sharing the details of their work for everyone to benefit from.
That’s not all
Also at the summit was the Symphony of Blockchains project, beginning its much-anticipated world tour in Miami. The full virtual reality blockchain experience was available for attendees to explore, with augmented reality posters scattered around the summit, waiting to be discovered. Visitors to the exhibition described being ‘blown away’ by the simulated blockchain.
In addition to the talks, stands, workshops, and exhibits, summit attendees also had the option to take part in a cryptopuzzle with a $10,000 USD prize - won by a team of three community members working together - as well as a collaborative hackathon providing Plutus and Marlowe training.
Before the public event, IOHK staff also took part in two days of internal presentations. As a decentralized company, the annual summit is a unique opportunity for IOHK employees to meet each other in person. Many IOHK employees arrived early to enjoy the beautiful Miami weather, spending time together on the beach and taking a trip to the Everglades before getting down to business.
‘As a company,’ IOHK CEO Charles Hoskinson began his internal address, ‘we've touched and tackled every fundamental problem in the cryptocurrency space’. He spoke of the company's history, and its unprecedented growth from just a dozen employees in 2016 to almost two hundred now in 2019. As the blockchain industry matures, and IOHK with it, Charles discussed the challenges of 'being able to keep your principles while embracing pragmatism'.
Other internal talks covered everything from IOHK's educational efforts in Africa to the latest updates from the engineering team. Throughout the two company-only days, groups of IOHK employees could be seen all around the Loews Hotel location, hunched over laptops, deep in discussion. The mood was passionate and enthusiastic, no one wanting to waste the chance to collaborate, and meetings continued into the evening, spilling out into local bars and restaurants.
The IOHK Summit 2019 was an incredible event, not just for IOHK but for the industry, bringing together members of the blockchain community with politicians, legislators, and thinkers, all poised to define the future of this revolutionary technology. The event made it clear just how far IOHK has come - and how much further we're going to go.
The goal of the Cardano Shelley era is to bring full decentralization to Cardano, moving beyond the federated epoch and handing control of the ledger over to the community via stake pools. As part of the process of delivering Shelley, we create formal specifications which allow us to verify that the final code is in line with what the researchers initially envisaged in their publications. By creating implementation-independent specifications, we can build components of the system using different languages, confident that they will work together.
We are pleased to announce that we have successfully reached an important milestone in the Shelley journey, with the key specifications now completed. The finished specifications are as follows:
- Engineering Design Specification For Delegation and Incentives In Cardano-Shelley: Describes the requirements and design for the delegation and incentive mechanisms to be used in the Shelley release of Cardano.
- A Formal Specification of the Cardano Ledger: Specifies the ledger rules for Shelley, including delegation and incentives.
- A Specification of the Non-Integral Calculations in the Ledger: This document defines a way to exactly calculate non-integral calculations in the ledger for Shelley which use elementary mathematical functions. The main objective is to provide an unambiguous specification that gives the same results, independent of the architecture or programming language to prevent chain forks because of slight differences in calculated results.
To provide a smooth transition from the Byron era to the Shelley era, the Shelley code will have to be compatible with the Byron rules. To enable this, we have created specifications for the Byron era as well:
- A Formal Specification of the Cardano Ledger for the Byron release: This document defines the rules for extending a ledger with transactions, as implemented in the Byron release of the Cardano Ledger.
- Specification of the Blockchain Layer (Byron): This document defines inference rules for operations on a blockchain as a specification of the blockchain layer of Cardano in the Byron release and in a transition to the Shelley release.
The process of implementing these specifications in production code is well underway, and the specifications will continue to improve with feedback from the mathematics, research, and development communities.
For the most up to date version of the specifications, check the Formal Models for Ledger Rules GitHub repository.
I started with IOHK in May 2018 as a formal methods developer working on two components of Cardano, neither of which involved writing Haskell code. Because of my expertise in logic, type theory, proof assistants, and theoretical computer science, I became part of the team without having much Haskell experience, even though it is the main language we use. So, I was surprised when my name came up last summer about who would be the teaching assistant for a Haskell course in Ethiopia this year. I had thought I would be a student, but then it became clear that loftier plans were being proposed for me.
While there were other qualified candidates, I imagine not everyone was willing to relocate to Africa for three months. Also, the Ethiopia 2019 class was distinguished from previous versions of the course because it was only open to women. For this reason, the idea of having a female assistant seemed particularly relevant. So, I found myself getting ready to learn, present in class, and assess material that was new to both me and the cohort of students from Ethiopia and Uganda!
I was living in Canada, and had yet to meet any IOHK employees in person. I knew little about Ethiopia. So, I got my inoculations, my one-way ticket — I was not sure when the course was scheduled to end and how much longer I was expected to stay on afterwards — my visa (with my name spelt wrongly), and headed off to Africa for the first time in my life.
Once I got to Addis Ababa, the thing that stood out was the amount of livestock in parts of the city. Donkeys, cows, and goats were grazing, carrying heavy loads, and wandering about the streets. After the first drive through Addis, Lars Brünjes, director of education at IOHK, and John O’Connor, director of Africa operations, and I sat down for a cold drink at the hotel where Lars and I were staying. We had some laughs, talked a bit about ourselves and the course, and it began to seem as if I would be very happy working with my colleagues here for three months — what a relief.
From the first day until the last, which was almost three months, I was really engaged with both the students and the material. The course started at the Ministry of Innovation and Technology and the students showed incredible perseverance. Two had to drop out in the first week, but the rest stayed on, no matter how challenging it got — and no matter the transportation time to class given the crazy Addis traffic!
Most of the students had a computer science degree, some also had a master’s or work experience. However, Haskell is different from anything they would have learned or used before. There were some difficult concepts to grasp, but Lars did an awesome job breaking down the material and providing plenty of relevant examples (as many as the students wanted, which was a lot).
There is a saying that the best way to understand something is to teach it. For me, this was true for the entire duration of the course. I learned a lot, answering questions, delivering lectures, grading work, and especially making up the questions and answers for the final test. It was a special treat to learn about smart contracts, Marlowe, and Plutus in the last two weeks, too — new material for me and a great addition to the course. This part was taught by Phil Wadler, one of the creators of Haskell, and at the very end he delivered a special lecture on propositions as types, which was particularly engaging and open to a wider audience than just the students — it was a very nice way to end the class.
Throughout the three months, but especially at the beautiful graduation ceremony, I really felt the importance of what we were doing — giving people the skills and tools to address their problems locally. The best part was getting to know the wonderfully enthusiastic students and watching them develop their skills in this unusual and interesting programming language. I look forward to having the opportunity to work with some of these women in the future. Finally, getting to know my IOHK colleagues as we arrived in Ethiopia was a real treat as well!
Read Lars Brünjes's blog - Training blockchain developers in Africa
When I got off the plane at Bole airport in Addis Ababa on the evening of January 4, I did not know what to expect. It was my first time in Ethiopia, and all I knew was that my Canadian colleague Dr Polina Vinogradova, an IOHK formal methods expert, and I were supposed to teach a three-month-long Haskell course to a class of young Ethiopian and Ugandan women. When our students graduated three months later on March 22, it was the highlight of my professional life. Words fail to describe how very proud I am of these courageous young women who sacrificed so much to attend the class, who worked tirelessly and hard, eager to start tackling some of the most pressing problems their countries face.
I stand humbled, not only by their fierce intelligence and passion, but also by their gentleness and kindness.
The course had been organized by John O'Connor, IOHK's director of African operations, in co-operation with the Ethiopian Ministry of Innovation and Technology, and the Ugandan government. We had 22 students, 18 from Ethiopia and four from Uganda. All the attendees had studied an IT-related subject at university, some were just graduating, others had worked for several years in software development or lecturing at university.
Most of the Ethiopian students were from Addis Ababa, but some were from far away and had to leave their family and friends behind to attend the course. The four Ugandan students lived in a hostel, spending three months in a country strange and foreign to them, not speaking the language and unfamiliar with local customs.
Teaching students with such diverse backgrounds sounds challenging, but the fact that none of them had any experience with functional programming in general or Haskell in particular made it easier: knowing other programming languages does not really help much when learning Haskell, and can even be counterproductive.
Haskell is the most important programming language used by IOHK. It is a functional language, whereas most well-known languages are imperative and object-oriented. Haskell is high-level, mathematical, extremely flexible and expressive, not really mainstream; an ideal language for setting out our complicated protocols and cryptographic algorithms efficiently and in a provably correct way.
This is what one of our Ethiopian students, Bethelhem Teka, says about Haskell and the course:
Despite coding on imperative programming languages for more than six years, I was a stranger to the functional programming basis of Haskell. Initially it was exciting to internalize its promises of being functional, lazy, pure, no side-effects, and so on.
There are object-oriented concepts used in Haskell, but they are implemented differently, and it was weird to hear some facts like, no inheritance and no objects.
Obviously, there were many tough times on the course, especially when interpreting concepts into code. Being a crucial element of the language, understanding and implementing monad to achieve purity functionality was even harder.
There were many silly questions that came into my mind at different points, like wondering how Haskell kept its purity and avoided side-effects before discovery of monad, but these were soon answered by Lars or Polina or friends.
There are also other points that I need to take into my own assignments and dig further into for the future.
Finally, I feel lucky to have learnt the functional programming language paradigm as a whole and I find all its notions amazing and promising.
I cannot say that I have understood each and every concept covered in the course, but it has given me the confidence to start working on it and read more.
Circumstances were less than ideal, and we were facing problems all the time. The traffic was horrific and some of the students spent three hours every morning getting to class.
The internet was unreliable, and most of our students did not have access at home, which forced them to stay late after class to work on their assignments. Even in the classroom, we suffered many an internet failure and were forced to distribute material on USB sticks from laptop to laptop.
One evening, I got frantic messages on Telegram from those students who had stayed late to work on their assignments: they had been locked in! A security guard had decided it was time for his dinner, locked them in and left. It took some frantic phone calls, picking up a ministry employee with keys and driving to the building to free the students. They kept their good spirits, though!
Some of our students had problems with their laptops — insufficient memory, intolerably slow processors or faulty keyboards. After a slow and painful start, IOHK eventually provided better machines.
The Ugandan students neither liked the cool climate, nor were they happy with the unfamiliar Ethiopian food. Addis is 2,500m above sea level and the second-highest capital in the world, so the climate is cooler than one would expect from an African city. Polina and I felt so sorry for the four of them during the first weeks, they always looked so miserable!
Another problem, at least in the beginning, was the fact that the students were used to an education system where asking ‘stupid’ questions was frowned upon and where teachers were often unapproachable. It took patience and encouragement to convince the students to open up, to show them that it was okay to ask questions and to interrupt us when there was something they did not understand.
The students also seemed to be used to a style of teaching and learning that focuses on theory. In the beginning, they followed our lectures well enough, but did quite poorly when it came to practical exercises and to applying what they had learned to actual code.
Once we realized this, we provided more examples and exercises, and had them write code as often as possible. Repeat the Haskell workflow over and over again. Write some code. Compile. Fix errors. Test. Repeat.
It is a challenging course and goes far beyond a mere introduction into Haskell. Many advanced topics and concepts are covered, and a lot of material is squeezed in. This puts pressure on the students and requires them to work hard. But it is worth it! After completing the course, the students can be proud of a solid understanding of Haskell and are prepared to work on real problems.
For one project, the students had to implement a peer-to-peer protocol, and they were really excited to see how the abstract concepts they had learnt could be applied. In Bethelhem's words:
Working on assignments was the most favorite task among any of the activities in the course.
I was trying to understand and work on every question. Even though it was group work, each assignment had something to do with practical points and It gave me discomfort to miss one.
Therefore, if I didn’t code it, at least I discussed with the group to visualize it algorithmically. Working in a team was fun! It helped to know each other, and I do appreciate well organized and clean lecture slides. The screen recordings also helped a lot.
One novelty in this course was a two-week section about Plutus, taught by Professor Philip Wadler, one of the creators of Haskell. Plutus is the smart contract language developed by IOHK for use on the Cardano blockchain; it has been implemented in Haskell and is very similar to Haskell, so our students were in an ideal position to learn about it.
Another student, Bethel Tadesse, had suggestions for the course and the Plutus part:
About the course I really like it and it is very interesting and useful for me, also inspiring me to work more and more. It's really optimal that we can bring this relevant and efficient technology to our developing country Ethiopia and also Africa. I also proudly say that I am lucky to learn this, a life-changing and solution-making infrastructure.
It lets me see the brightest future. It is really helpful and well organized, except the time shortens and makes it stressful and more effort is needed from us. And in the smart contract session, honestly speaking, we take in only the basics not the details and in my conclusion we need a bit more clarification to work more on it further. And in the basics I found it really interesting and powerful in securing different areas which need to be handled by this technology.
As a suggestion, I want to say that it might be better with the smart contract session if we get more time to internalize and see it more in advance how it works with the powerful language Haskell than dealing with it apart from the Haskell.
After almost three months of hard work, many struggles, countless internet and power failures, after learning esoteric concepts like monads and equational reasoning and down-to-earth applications with web servers and databases, after disappointments about poor test results and elation about steady improvements and ‘aha!’ moments, after learning and studying and working and eating and having coffee together, after medical emergencies, family tragedies and sicknesses, after many little and larger triumphs, much laughter and much joy, after being scared of ghosts on rooftops in the night (no kidding...) and avoiding countless shoeshine boys, it finally culminated with a beautiful graduation ceremony at the Sapphire Hotel in Addis Ababa.
Watched by proud family and friends, diplomats and industry experts, and journalists and philanthropists, the students were awarded their certificates by Dr Getahun Mekuria Kuma, minister of innovation and technology, and Charles Hoskinson, chief executive and co-founder of IOHK.
Nobody was more proud, though, than me. The women were all wearing Ethiopian dresses, they were shining with excitement and joy; they looked so beautiful, I had to fight back the tears. According to my wife, ‘They had always been beautiful, but success made them gorgeous.’
Read Polina Vinogradova's blog - In at the deep end in Addis