Blog > 2018 > March

How Cardano can help development in Africa

We are taking the first steps on our journey in the continent and invite you to join us

10 March 2018 John O'Connor 7 mins read

How Cardano can help development in Africa - Input Output

How Cardano can help development in Africa

Five years ago, I was with a friend when she received a distressing call from her home in East Africa. Without permission, someone had been collecting the rent on a small commercial premises she owned in the capital. My friend had inherited the property five months previously from her father, but had only recently discovered that the property had tenants. The rent collector in question turned out to be a neighbour of the property and the previous owner. Upon learning that her father had passed away, he’d elected to take advantage of the confusion and collect the rent for himself. In the court case that followed, my friend provided a fund transfer receipt she had found in her father’s office. Expecting that to be the end of it, she was shocked when the neighbour still claimed the plot to be his, on the basis of his name being registered with the utilities company. The problem for the court was that when there is no reliable record of ownership what should it do? When friends in London ask me if the UK government will ever adopt blockchain technology, I have to stop and think. Blockchain can reduce cost and increase efficiency in almost any industry that involves record keeping. However in countries with entrenched processes and institutions that reliably (if expensively) maintain records, efficiency may not always provide sufficient motivation for governments to switch. The UK Land Registry is such an example. Founded in 1862, this institution has 4,486 employees and over 150 years of expertise and cultural history, which allows me to access a record of ownership history for any property at a cost of £7. This reliable legal title acts as a catalyst for economic growth. Landowners can use property as collateral to borrow money, perhaps to expand their businesses. If they choose to sell their property, the purchaser can pay with the confidence that they are truly purchasing the legal title.

For many African countries however, this is not the case. Efforts to improve records have generally had limited impact. That is not to say there have not been successes. In a three-year programme, Rwanda led an effort to register titles of land ownership. It was effective, and by the time the scheme was complete, 81% of plots had been issued titles, driving investment and economic growth. Embracing the high mobile penetration rate, the ledger was linked to a telephone service, allowing the ownership of plots of land to be instantly queried in ongoing disputes. Yet without the institutional cultural history of accurate ledger keeping, there continued to be problems with keeping records up to date when land was sold or inherited. Enter blockchain.

A digital blockchain property register that identified land using GPS coordinates would allow property ownership to be verified and transferred at low cost. Rwanda has woken up to this, and as part of its digital transformation plan is looking to port its ledger onto the blockchain. There are similar noises in both Kenya and Ghana, as government officials begin to see that the technology might let them leapfrog the 150 years of development the UK Land registry has benefited from.

If the opportunities that are now arising for blockchain trials in sub-Saharan Africa are to be maximised, then they should be built on robust and open-source technology. Our aim with Cardano was to build a blockchain based on peer-reviewed academic research by some of the world’s foremost researchers and engineers. We chose to write it in Haskell, a formal programming language that allows mathematical guarantees of the correctness of code. These design decisions were made not because they were easy, but because they would give strong foundations to whatever applications were built on Cardano. We have started down this road, and now is the time to begin planning trial projects across countries in the African subcontinent. We aim to make Cardano the blockchain used to build land registries and much more.

This is a grand ambition and will not be accomplished in a day. Success will be achieved only if public authorities invest in creating the required legal and regulatory environments for these trials. Even after proving value, there will be implementation challenges in scaling a tech solution to run for millions or hundreds of millions of people. Governments, NGOs, and the private sector will need to work together to fulfill the promise of this technology.

IOHK must earn the right to sit at this table by building credibility through sustained investment of resources and attention. Our first inroads to Africa will therefore be with education. The core of Cardano is the Haskell engineering team, who turn our research into actual lines of code. We have run engineering schools in partnership with universities in Barbados and Greece, taking young graduates and intensively training them in Haskell. At the end of the course, some will be employed by IOHK as junior software developers, continuing their training and earning a competitive salary. Training is free, without obligation, and delivered by leading academics in the field. We have hired 70% of the students that have embarked on the scheme, with most of the remainder continuing on into further education. Education should not strip a country of their best and brightest, and the jobs that are offered are local, allowing hires to contribute to a global project from their own country. This year we will offer our first course in Africa, probably in Ethiopia, and expect the first cohort of Ethiopian developers to be contributing to Cardano code by the end of the year.

My excitement about Cardano’s potential to solve development issues has only grown since starting this role a few weeks ago. I have heard from some amazing companies who want to use Cardano to do incredible things. From increasing biodiversity in Kenya to making a decentralised app to connect participants in the informal South African rental market, the possibilities for Cardano are truly endless. And with this unbounded opportunity comes risk. The risk of being swept up in the grand mission and not understanding local needs and wants. Facebook’s [misguided entrance to India]( "The inside story of Facebook’s biggest setback, The Guardian") with their basics product should provide a cautionary tale to any tech company that believes their technology can make a social impact. So we need to learn, and will work with local partners to discover requirements before suggesting solutions. We are ready to take the first small steps on this journey. So humbly, I use this blog post as an open invitation to get in touch, because certainly, we will need your help.

If you are based or work in Africa and would like to help, please submit your details through this form. We are looking to partner with governments, the private sector, and NGOs who are interested in using Cardano. We are also looking for community volunteers to help organise events and meetups.

Creative Commons
Mike Beeple

Cardano 1.1.0 software update

A major package of improvements and fixes is ready for users

7 March 2018 Duncan Coutts 4 mins read

Cardano 1

Cardano 1.1.0 software update

The software update today is the first major release for Cardano since the mainnet was launched at the end of September and it consists of a great deal of work from the development team. The release contains a few new features that are aimed at improving the user experience. And it also contains a set of important fixes for many of the bugs that were identified since the last release, Cardano SL 1.0.3. Here is Charles Hoskinson, CEO of IOHK, with a video update about this release, and below we outline the most significant changes delivered. Users will notice the changes take effect tomorrow.

The team has been working hard to address the issues some users have experienced with Daedalus and this update contains fixes for some of the problems.

With this release, Daedalus will detect when the time on a user's machine is out of sync with the global time and will display an error message asking the user to fix the issue. Before this feature was added when there was a time difference of 20 seconds or more, the Cardano node was unable to connect to the network and validate the blockchain, and Daedalus would be held on the loading screen with the "Connecting to network" message. This feature will eliminate the problem of users being held on the loading screen because of the time difference issue.

Several other instances of the user being stuck on the "Connecting to network" screen were fixed. Many issues that can lead to this have been partially or completely fixed. Problem areas include node shutdown, networking and block retrieval mechanisms.

A new "Support request" feature enables users to report a problem directly from Daedalus. This will automatically include log files along with the problem report. By always including log files, this feature will help the development team to investigate and solve the problems that users are experiencing. This feature is accessible from the main user interface and from the loading screen when there is a delay while connecting to the network or when blockchain syncing stops.

Blockchain retrieval performance and reliability has been gradually improved, in particular bugs have been fixed that caused significant slowdown in syncing to the network after reaching 99.9%, and caused occasional network disconnections. Handling of whether Daedalus is connected or disconnected is improved, and a lost internet connection is now detected and brings the user to the loading screen to indicate that wallet is not currently operational.

In addition to individual fixes, importantly, this major release is the first time-based release containing significant new code, and represents an improvement in our development process. All previous releases of Cardano were scope-based, i.e. the goal was to deliver a particular scope and often the release was repeatedly postponed because of inaccurate estimations on having the scope ready for release.

There is much debate among software developers on which release process is preferable. As was outlined in our previous blog post, the Cardano team has chosen time-based releases. We had a significant backlog of work to resolve to be able to release our development branch to the mainnet – a substantial amount of testing had to be performed because of large amount of new code. But with the release of 1.1.0, we have made a major step forward.

There will be two more time-based releases in the next couple of months containing more improvements, fixes and new features for Cardano. New features for the Shelley phase of development will begin to be released in Q2 and continue through Q3. For more information see the Cardano Roadmap.

Creative Commons
Mike Beeple

Kaleidoscope – a cryptographic protocol for securely playing poker

Bernardo David presents the research paper at Financial Cryptography 2018

1 March 2018 Bernardo David 5 mins read

Kaleidoscope – a cryptographic protocol

Poker is arguably one of the most popular card games in the world, both in casinos and on the internet. Online poker has become increasingly popular after a boom in the early 2000s, fueling a growing market with revenues estimated in the tens of billions of dollars. However, the current model of online gambling forces users to blindly trust the online casinos, who could easily rig games or suffer attacks from disgruntled employees who aim to make easy money. In fact, this state of affairs not only represents a threat but has resulted in real-world attacks. A clear alternative to using online casinos consists of using cryptographic protocols for securely playing poker over a network without trusting any third party. In fact, constructing such protocols has been a research topic since the early days of modern cryptography. Shamir, Rivest and Adleman proposed the first candidate protocol to this end only a few years after publishing the famous RSA public key encryption scheme. Their seminal effort initiated a long line of research that has produced countless results over the years. However, no cryptographic poker protocol has ever been adopted for real applications, mainly due to the following issues:

1 - Security: The security guarantees of existing poker protocols are not clearly defined, so it is hard to understand the level of security that these protocols actually provide and how reliable they are.

2 - Efficiency: Most of the existing poker protocols rely on costly cryptographic techniques that incur high computational and communication overheads, which in the real world result in boring games with long delays.

3 - Financial considerations: Previous poker protocols could not ensure that winners received their financial rewards, even though classic cryptographic techniques could ensure that a game of poker was played honestly (i.e. without allowing players to cheat or learn each other’s private data).

In a recent paper to be presented at the Financial Cryptography 2018 conference, we construct Kaleidoscope, the first cryptographic poker protocol to address all three issues above. Kaleidoscope is the first protocol to be proven secure according to a comprehensive security model that formally and clearly captures all the properties and guarantees commonly required from a poker protocol. Moreover, Kaleidoscope employs blockchain techniques to ensure that winners receive their rewards and that cheaters are financially penalized. Even though it is mathematically proven to achieve security while providing financial rewards and penalty enforcements, Kaleidoscope achieves very high efficiency in comparison to existing solutions (which have not been formally proven secure).

The first step in designing Kaleidoscope was formally defining the security guarantees that a poker protocol should achieve. Since such formal definitions are missing from current literature, we provide the first security definitions for poker in the so-called simulation paradigm, which is the gold standard for cryptographic protocol security. Our security definitions take into consideration all phases of a poker game, modeling the security guarantees obtained for each of them and the conditions under which they hold. Namely, we model security against very powerful adversaries who can attack all but one player. This worst case scenario also captures the case where many players in a game collude in order to cheat against one single player.

With a proper formal model in place, we developed Kaleidoscope, a highly efficient protocol that can be proven to realize our security definitions. Our protocol builds on cutting-edge zero knowledge proofs of shuffle correctness and is carefully crafted to achieve the best possible efficiency in terms of computation and communication. In fact, as shown in an upcoming work, Kaleidoscope achieves high security guarantees while requiring three times less computation and eight times less communication than the best previous protocols (without formal security guarantees).

Another important feature of Kaleidoscope is that it ensures that winners will receive their rewards, and that cheaters will be financially penalized as well as kicked out of the game. The basic idea is that, before a game starts all players send to a smart contract the funds they will be using for betting and an amount of "collateral" funds. At the end of the game, the smart contract ensures that the betting funds are distributed to the players according to the outcome of the game and that the collateral funds are returned. In case a player is caught cheating (which is ensured by our protocol), the smart contract confiscates the cheater’s collateral funds and distributes those among the honest players as compensation. Moreover, we show that the communication with the smart contract and the on-chain storage requirements are minimal.

Although Kaleidoscope successfully addresses the three issues described above in the context of poker protocols, it can only be used to play poker games. There is a false common sense notion that poker protocols can be used for playing any other card games, which would actually lead to serious security issues. However, in the case of Kaleidoscope we were able to extend our formal security model, protocol and proofs to general card games. In doing so, we have obtained Royale, a protocol that can be securely used to play any card game with the same efficiency as Kaleidoscope. We will be describing Royale’s features and techniques in an upcoming series of videos and blog posts.