Everyone in Kenya has two things: A mobile phone and an M-Pesa account, Kenya's ubiquitous mobile money service. Since its launch in 2007, Kenyans can transact with anybody in the country directly from their phones, making Kenya a global pioneer in mobile payments and financial inclusion.
After M-Pesa proved that mobile payments work, the next step is to use digital technology to build wealth.
As everyone, a Kenyan who wants to build wealth has basically two options: Saving and investing or building a business.
Let's say he decides to invest. He might buy a Boda Boda or farm land and rent it out. This can already be a steep barrier to entry, because it requires significant capital. To circumvent that, he might invest through an investment group, a cooperative like a chama or sacco. But there is already a trade-off here. Chamas are smaller groups with limited funds and therefore fewer investment options. Saccos are bigger but they might require management fees and face a higher risk of fraud due to their more impersonal nature.
In any case, his investment needs to beat inflation. Inflation in Kenya is currently around 5-6% per year. Historically, this is on the lower side and 2-digit inflation rates are not uncommon. This greatly reduces the number of profitable investment options in the country. Many investments that look good on paper actually lose money due to inflation. Some investors might not even be aware of this, but even those who are are still lacking better alternatives.
The second option to build wealth is to start a business. This usually requires at least some capital. Our aspiring entrepreneur needs a loan.
While a small business loan can help create a sustainable income stream for the entrepreneur, it is often not an attractive investment. The return for the investor is limited at best and the coordination costs are way too high. It's just not worth it. Other common sources for funding are family and friends and microfinance banks. Microfinance started with good intentions, but in reality microfinance loans can become a burden. Besides that, many banks switched to a for-profit model while some non-profits became corrupt. In both cases they changed their goal from providing loans at minimal costs to maximizing their return by extorting money from the people they wanted to help in the first place, making the poor poorer.
Some people believe that fintech can fix those problems. I doubt this.
I was working with a fintech startup in Kenya. Fintech innovation happens mostly along traditional institutional lines. Existing players like banks and insurance companies are trying to digitize themselves while new players are trying to bring more transparency and efficiency to the market. All of this is largely driven by a copycat mindset where institutions from the West and China serve as inspiration and benchmark. It is a narrative of catching up instead of innovating and thinking for yourself.
Fintech fails to truly innovate because it can't break away from existing institutions:
- Lower-income people rarely benefit from fintech because it is primarily targeted at the middle class (M-Pesa was an exception but it has been weirdly stagnant since its launch in 2007).
- Existing players are invested in the status quo. They neither have the necessary incentive nor the expertise to innovate and reinvent themselves.
- Existing institutions are inefficient and corruption is rampant. This includes companies and governments.
- Existing growth is rarely driven by innovation but rather by Kenya's explosive population growth and the steadily rising middle class.
- Talented teams with good intentions are being pulled down by the existing system. They can't escape the dependencies.
But enough of the rant. Instead of building on top of a broken system, we can build better alternatives. Crypto and decentralized finance (DeFi) are proven tools that we can use to bypass existing institutions altogether and build new solutions on top of what is already working on the ground.
In this article, I want to kick-off a project and lay out the idea for a crypto-based investment cooperative, a community owned decentralized finance (DeFi) protocol called Kukuza. Consider this article a starting point. I don't have all the answers, yet.
Kukuza aims to create prosperity for its members in two distinct ways:
- First, it creates higher returns for its members by leveraging decentralized finance.
- Second, it provides access to capital (loans) for its members by incentivizing good financial habits and using immutable code to contain risk.
It is best to think of Kukuza as a cooperative economy instead of a financial service. It is community-owned and governed by immutable code instead of a financial institution. That means nobody can extort money from anyone.
As a cooperative economy, Kukuza will provide the following functions, which I will each address in-depth in subsequent articles:
- Payments and liquidity
- Providing loans to its members
- Investing and generating returns
- Financial provision, e.g pension plans and insurance
In general, higher returns are achieved by investing member's funds globally by connecting to other DeFi protocols. DeFi further helps to escape inflation, and the minimally extractive fee structure of crypto keeps costs at a minimum.
Kukuza is formed by many small self-forming groups. A group of groups. The purpose of these groups is to leverage the trust between people who already know each other well. This social trust can help generate positive signals for financial decisions such as loan assessments. The groups are not used for cross-collateralization to contain risk. Risk is contained by code.
Making investment and capital allocation decisions requires a consensus between members. Consensus on the group level is reached through social trust between group members. That means we leave it up to each group to come to an agreement. Consensus on the protocol level is reached through programmable trust via blockchain technology.
The combination of social trust and programmable trust eliminates the need to rely on financial institutions. It would give us the best of both worlds: An immutable, corruption-resistant and highly scalable financial economy on the protocol level, and a more flexible and adaptive structure on the group level.
The ubiquity of M-Pesa makes Kenya the natural place to start Kukuza. It is already second nature for Kenyan's to use their phones for all financial matters. But it shouldn't stop there. Crypto doesn't know any borders and is open to anyone. Therefore, Kukuza can and should grow far beyond Kenya.
My goal is to build Kukuza. If you want to join me and work on it together, please read on and reach out.
In this article, I begin by reviewing the limitations of financial institutions and cooperatives for investing. After that I describe the evolution of trust with a focus on programmable trust via blockchain technology as a new paradigm for cooperation. I then lay out a first vision for the Kukuza protocol and a way forward to start building towards that vision.
Limits of Financial Institutions and Cooperatives
The first step in building Kukuza is to understand the existing alternatives. One option is to invest on your own, but the average person lacks the necessary access, skills, funds and also time to make a good return. Therefore, investing and building wealth requires some form of collaboration. Usually through a financial institution or a cooperative.
That means most people currently invest either through an institution like a bank or insurance company, or through a cooperative, like a chama or sacco in Kenya as mentioned above. Both of these options have limitations.
Investing through Financial Institutions
Let's review how investing through a financial institution works. An aspiring investor enters a contract with a financial institution, becomes their customer, and gives them some money. This typically means buying an investment plan that requires a regular mandatory payment. But it could also mean buying an insurance policy or simply putting your savings in a bank account.
The customer wants to make a return on his investment. In the example in the sketch above he gets a return of 3% (numbers for illustration only). When investing in an insurance policy, the customer receives a claims payment in case of an emergency instead of a return.
The typical customer is therefore only concerned with the bottom half of the sketch. But the real action happens in the upper half.
Financial institutions don't just collect funds from one customer, but pool the funds from many customers. This pool of funds gives them the necessary scale to invest in more profitable investment opportunities, e.g. by hiring experts to source opportunities and assess risks. That way they can generate a higher return of e.g. 10%.
Out of these 10% the customers get 3%. The remaining 7% are profit for the financial institution (after covering costs). That profit is distributed to their shareholders, or it is used to rent fancy offices to attract more customers who in turn will give them more funds to invest.
This is an oversimplified example, but the bottom line is this: The real money is made in the upper half of the sketch. Financial institutions don't get rich by charging their customers. They make money by using the funds of their customers and investing those in the capital markets. An insurance company can actually lose money on claims and still profit. The claims they pay out might be higher than the premiums they charge. But by investing the premium payments of their customers in the capital markets, they make more than enough money to cover the losses of their claims payments.
You might think that as long as everybody benefits, where is the problem?
Customers are regularly talked into products that they don't need. Valid claims are not paid. Some banks are stealing their customer's savings, or they don't let them withdraw their funds. Financial institutions are causing one financial crises after another. The whole system is broken. Not just in Kenya. Everywhere.
The priority for every financial institution is to maximize profit for their shareholders. And if you are not their shareholder but their customer, you are on the wrong side of the fence.
Investing through Cooperatives
Investing through a cooperative works differently. There is no middle man. No financial institution is taking a cut of the return.
A cooperative is formed by members, not customers. Those members pool their funds and invest them directly in the markets.
By doing that, they get to keep the whole return of 10%. The members then jointly decide whether to distribute the return or reinvest it. There are no financial institutions and no shareholders that suck money out of the system.
So far so good, but there is a problem here.
A small cooperative, e.g. a chama with five members, doesn't have the necessary size to invest in highly profitable investment opportunities. Actually, they are usually limited to saving money and lending it to each other. In our example they would have a very hard time making that 10% return.
Because of that, cooperatives have an incentive to scale. They want to attract more members and more funds to make bigger returns. But when you scale a cooperative, you run into a different problem.
You can organize yourself with a few friends. You can form a group and come to an agreement together. It can be difficult, but it's possible. You know each other well, you live in the same community, and you hang out with the same people. After you reached a consensus, you won't easily break away from that agreement, because you put your social life and your reputation on the line.
But when your cooperative grows beyond that small group, sometimes to hundreds or thousands of members, you don't know the other members anymore. At this stage a cooperative needs a more formal structure to get things done. Maybe a voting process, or a management team. You might even pay that team for their work. All of a sudden, this starts to look awfully like a financial institution.
Cooperatives have a tendency to grow and morph into a special type of financial institution. A hybrid, if you will. And they are bringing all the problems of financial institutions with them in the process. We don't want that.
We are a bit in a pickle here. On the one hand, we have financial institutions. They scale, but they only work well for their shareholders, not for their customers. On the other hand we have cooperatives. But a true cooperative doesn't scale. Or it turns into another financial institution.
With Kukuza, we want to resolve this trade-off and have the best of both worlds: The scale of a financial institution and the nature of a true cooperative that creates value for its members.
To achieve that, we need a new way to create trust between large numbers of people.
The Future of Trust
The Evolution of Trust
Cooperatives and financial institutions are two different forms of cooperation that work at different scales. And all cooperation is driven by trust.
I recommend that you check out Ali Yahya's excellent presentation "The Web 3.0 and the Future of Trust". He explains why the increasing scale of cooperation required the nature of trust to evolve.
In the past there was only social trust between individuals and small groups. People you know well and who live in the same community as you do. Social trust works because people care about their reputation in their community. You don't screw over your friends. But social trust doesn't scale. You don't trust an anonymous stranger that you have never met in the same way as you trust your friends.
That's why we invented institutions like churches, governments, nation states, and corporations. Instead of just trusting a handful of people, we now put our trust in those institutions so that we could cooperate with a large number of people. This is the predominant model today.
But today, we are reaching the limits of purely institutional trust. More and more of the institutions that we put our trust in are letting us down. Think of the failing banks in the 2008 Financial Crises or Chase Bank Kenya's closure in 2016. Or the ongoing scandals at Facebook around privacy and user data. And of course the many corrupt governments around the world.
As a response to this, Bitcoin emerged and laid the foundations for blockchain technology, the decentralized web, and a new paradigm for trust. We can call this paradigm programmable trust. In this paradigm, we don't have to put our trust in institutions that can behave arbitrary or can be hijacked by malicious actors. Instead, we put our trust in immutable code so that nobody can change the rules for their own benefit.
Blockchain, or crypto, is therefore best understood as a governance technology. It is not primarily a financial technology.
For Kukuza, crypto and programmable trust are an important building block to scale trust without the need for a financial institution.
The Limits of Programmable Trust
With crypto in our toolkit it is tempting to base Kukuza solely on programmable trust. That is in fact what a lot of existing DeFi protocols do. And they work very well. Check out Compound, MakerDAO, and Uniswap. They are truly mind-blowing.
But there are limits to relying only on blockchains and programmable trust.
The rules of a blockchain protocol are immutable. That is the biggest advantage of blockchains, but under certain circumstances this can be a limitation. Blockchains leave zero room for individual interpretation. The classic example of this is a vending machine. Let's say you want to buy a coke. If you put in 99 cent instead of 1 €, nothing will happen. It doesn't matter whether you argue with the vending machine, or offer to pay the rest later. And a vending machine can't just make an exception for you.
In most cases, this is an advantage of blockchains. But let's say you consider lending a friend some money. You might take hard factors like his income or collateral into account. But most likely you will focus on softer factors. You know what kind of guy your friend is. You know how likely it is for you to get your money back. You kinda have a feeling. This is nothing that you can just put in code. Human relationships are way too rich for that.
If you ask a crypto protocol for money, the protocol will ask for very specific inputs and then automatically decide whether you get a loan or not. In real time. You either meet the criteria or you don't.
Today, basically all crypto loans are overcollateralized. With a crypto loan you can borrow fiat currencies (like USD or Euro) or other cryptocurrencies by providing cryptocurrency (e.g. your bitcoin) as collateral to protect the protocol from losses in case you default on your loan. Overcollateralized means that you have to provide more collateral than the amount of your loan. Most people use these protocols to borrow fiat currencies (like USD or Euro) against their cryptocurrency so that they don't have to sell their crypto to spend it.
Crypto loans are cool, but how do you even get a small loan when you have no collateral? This is where existing crypto loans fall short.
Kukuza is a Group of Groups
Now let's look at how Kukuza can address these issues. Kukuza is organized in three layers. Individual members form the basis. Members can then organize themselves in small groups that are limited in size. The groups should be small enough so that they can reach an agreement without a "management structure". Up to 6 members seems like a reasonable number. A member can be part of several groups, and being in a group is not mandatory. All members and groups taken together form the Kukuza community.
Members, groups and the Kukuza protocol reach consensus in different ways. A single member doesn't have to reach a consensus at all, because he is alone. He just makes an individual decision, e.g. how much money he wants to invest.
A group reaches consensus through social trust. That means we leave it up to each group to come to an agreement. The decision making process happens outside Kukuza. They talk to each other.
The Kukuza protocol reaches consensus through programmable trust. This blockchain consensus means that the decision making processes are encoded in the protocol. The decision is made automatically based on the inputs that the protocol receives from its members.
Example: Loans on Kukuza
The following is a very high level example. The actual implementation is much more complicated, but I hope this will give you an idea of what might be possible.
- Members of a Kukuza group invest money in the Kukuza protocol. Those funds will then be split into three different categories:
DeFi Fund: A shared fund that automatically invests outside Kukuza in other DeFi protocols to generate a return.
Group Fund: Funds that remain under complete control of a specific Group.
Loan Fund: A shared fund to provide loans to Kukuza members.
- Note that there is just one DeFi Fund and just one Loan Fund on the protocol level, but each group has its own Group Fund.
- The logic for the allocation between the three funds is encoded in the Kukuza protocol. It could either be static (e.g. a fixed percentage split) or dynamic. That means the fund allocation happens automatically via blockchain consensus.
- The logic for the DeFi Fund (for investing outside Kukuza in other DeFi protocols) is also encoded in the Kukuza protocol. This includes the logic for distributing returns.
- If a member needs a loan, his group members can use their Group Fund to provide a portion of that loan amount.
- By providing a portion of the full loan amount, the group and its members have skin in the game. They have an interest to make the loan happen, but they also have an incentive to vet the loan and the borrower properly, because they lose money when he can't pay back the loan.
- The group basically qualifies the loan. Putting in their own funds creates a signal that is created by social trust between the group members.
- That Signal is an input for the Kukuza protocol. A qualified loan can automatically get "topped up" by the Kukuza protocol, using funds from the Loan Fund.
- The logic for topping up these loans is encoded in the protocol and should include building up credit over time. E.g. at first members can only get a small loan. Paying back a loan on time qualifies them for a higher loan. Group members can decide to cover the loan to improve the credit history of the group, but covering for a member's loan is not mandatory.
- Funds in the Loan Fund that are currently not used for loans are automatically invested in other DeFi protocols via the DeFi Fund. If they are needed, they can be made available in real time. There is no lock period in DeFi. The same applies for group funds. All money generates a return when not used otherwise.
The main risk here is members defaulting on a loan. It should be possible to balance the outstanding loans with the DeFi investment returns to contain the risks. This needs more thinking and some serious math. A version of this can probably be applied to insurance as well.
Another risk is fraud. The protocol needs to be designed in a way that it incentivizes good behavior over fraud. Members should make more money from paying back loans on time and investing compared to stealing their initial loan.
To sum it up: We are using social trust between group members to create signals that we then use as inputs for the Kukuza protocol to make automated decisions. We can think of this as the Barbell Strategy applied to trust:
- Social trust for flexibility
- No reliance on institutional trust at all
- Programmable trust for security and scalability
In technical terms, our crypto cooperative Kukuza is a Decentralized Autonomous Organization. In short, a DAO.
DAOs are an organizational structure where control is not exercised by a central management. The rules of the DAO are rather encoded on smart contracts on a blockchain. By running on a blockchain, the DAO is decentralized and its smart contracts cannot be changed by anyone. The DAO therefore runs autonomously without a central management. Once it is running, it cannot be stopped.
Just remember this for now: Instead of having managers, we have code that cannot be changed. Code is law.
A DAO doesn't have offices or departments like a traditional organization. A DAO is a decentralized application. In short, a dapp. That's what we want to build. A basic dapp consists of a mobile front end that is similar to other mobile apps, and a blockchain backend that includes all smart contracts.
There are two more things that make a dapp different from a normal app:
- A Decentralized Computer: The dapp needs to run on a decentralized computer so that nobody, not even the team who built the dapp, can gain control over it and change its rules.
- Mechanism Design: Since there is no management that tells people what to do, we need to design mechanisms that incentivize people to perform certain actions that make Kukuza work.
The most mind-blowing invention in the history of computing is probably Ethereum. Ethereum is a decentralized computer that runs on a blockchain. While Bitcoin was the first blockchain protocol and put financial transactions on a blockchain, Ethereum took this concept further. Instead of financial transaction, Ethereum put small computer programs, smart contracts, on a blockchain.
A dapp is an application that runs on that decentralized computer and consists of smart contracts. Due to the open nature of crypto networks, dapps can easily integrate with other dapps via smart contracts. Think of them as open APIs.
Ethereum was the original decentralized computer or smart contract platform, but today there are several, each of them serving a slightly different purpose with different trade offs.
The most promising smart contract platform, or Layer 1 blockchain, for building Kukuza is Celo. Celo is a fork of Ethereum and is optimized for mobile DeFi. That means it is optimized for financial applications running on mobile phones. It is lightweight and has a good fee structure for everyday transactions. Celo uses phone numbers as public keys for crypto wallets (genius!). When you want to send crypto to someone, you don't need to know a complicated crypto address, you can just send it to his phone number.
Mechanism Design and Token Model
Since we don't have (and don't want) a management structure, we cannot tell people what to do. Instead, we want to incentivize them to do certain things. We do that by giving them money in the form of crypto tokens.
This is the hard part in building Kukuza.
Designing these incentive structures is called mechanism design, which is a combination of economics and game theory. The token that we use to incentivize people also needs to be designed to have certain properties and behave in a certain way. This is called token design, or token economics.
Mechanism design and the token model are far beyond the scope of this article, but the following notes give a direction to explore in the future:
- Kukuza needs two different tokens. A native token called Kuza, and a stablecoin.
- A stablecoin is a digital currency that is pegged to a “stable” reserve asset like the U.S. dollar. Stablecoins are designed to reduce volatility relative to unpegged cryptocurrencies like Bitcoin.
- On Kukuza, the stablecoin is used for financial transactions, loans and investments. We don't want volatility here.
- Celo supports stablecoins and also has its own stablecoins, the Celo Dollar and Celo Euro.
- The native Kuza token is not "money", but specific to the Kukuza protocol.
- The Kuza token can have different purposes. It can represent ownership in the Kukuza protocol (security token), voting rights on protocol changes (governance token), and it can allow the owner to do certain things on Kukuza, e.g. applying for a loan (utility token).
- Kuza tokens can also be earned. Members can get paid in Kuza, e.g. for paying loans back on time, or assessing loans or insurance claims properly. It is important that paying the members is aligned with the overall value increase of the protocol. What makes the protocol and community better gets rewarded. This is what mechanism design is all about.
- Note that Bitcoin has just one token for everything. The currency is bitcoin, miners get paid in bitcoin, fees are paid in bitcoin. And Bitcoins volatility makes it unsuitable for everyday transactions.
- Separating the currency (stablecoin) from the native asset (Kuza) solves the volatility problem. While we don't want volatility in the stablecoin, we actually do want the native token Kuza to change in value. The Kuza token should be designed in a way that it rises in value the more attractive and successful the Kukuza protocol becomes.
- An analogy here is the economy of a country and its local currency. When the economy is strong, the currency is strong, because the demand for that currency is high. When Kukuza gets stronger, the demand for the Kuza token will rise, and along with it its price.
- This also incentivizes early adopters. People who join Kukuza early will earn Kuza when it's value is still low. When the network matures and the Kuza token value rises, they benefit more compared to other members who joined later.
- Both the Kuza token and the stablecoin can easily be exchanged for fiat currencies (like USD, Euro, or Kenyan shilling) or other cryptocurrencies from the Kukuza app, e.g. via an M-Pesa integration.
DeFi is taking over the Financial World
In case you are new to crypto and DeFi, you might wonder how significant DeFi actually is.
I first explored DeFi in late 2019 (and started talking fintech developers into it). By the middle of 2020 DeFi took off from less than 1 Billion USD to about 15 Billion USD in Total Value Locked until the end of 2020.
Until May 2021 Total Value Locked in DeFi rose to 90 Billion. That's a 100x increase in one year, and it is just getting started. DeFi is here to stay. In a few years we will call decentralized finance simply finance.
A common concern with crypto is that it is used for criminal activity and avoiding taxes. That's a myth. Coinbase did a great fact check debunking these myths. Criminal economic activity is primarily conducted through traditional financial institutions and cash continues to be the funding of choice for criminals.
Another common criticism is the high energy consumption of crypto, specifically Bitcoin, and its negative impact on carbon emissions. It is true that Bitcoin's Proof of Work consensus mechanism requires a lot of energy. However, a lot of the mining activity is already using renewable energy (because it's cheaper).
But even more important are the developments of different consensus mechanisms. All you need to know is this: Proof of Work (PoW) requires a lot of energy, Proof of Stake (PoS) doesn't. Ethereum is currently switching from a PoW to a PoS model. Celo is already a Proof of Stake chain. And by combining Proof of Stake with carbon offsetting Celo is actually a carbon negative blockchain.
Mechanism design and token design need a lot of thought. I will draft a v0.1 and publish it here on this blog. This will include how the different functions like payments, loans, investing, and insurance can work on Kukuza. These models will form the basis for future smart contracts.
Start Building Something
We need to start building something right away and get it into the hands of users. No need to have all the answers, yet. A simple app on Celo with an M-Pesa integration for payments would be a good starting point. After that, we can add features for members to form groups. Then we take it from there.
Building a Team
Building Kukuza requires a team. One goal of this article is to serve as an anchor point to attract like-minded people who want to work together to build Kukuza. That means Kukuza will start as a side project with a self-selecting team.
At some point Kukuza will need some funding. To get funding we need a first product or prototype, initial users and traction, and a vision.
A first milestone can be Celo Camp. Celo Camp is an 8 week program that helps teams ship and connects them to industry experts and investors. The best teams get a prize. And winning typically makes the project more attractive for investors. Potential investors include the Celo Ecosystem Venture Fund, other DeFi accelerators, and crypto VCs.
Investors for Kukuza should have a basic understanding of crypto and crypto investing. Crypto investors don't really invest in a company, but in a future token. This is often done with a Simple Agreement for Future Tokens (SAFT).
The Kuza token will be distributed to:
- The Kukuza community members
- The development team and early contributors
Like everybody else, crypto investors make a return via network fees and when the token rises in value. Compared to traditional equity investing tokens are much more liquid. That means investors can easily sell tokens at any time.
And you can sign up here to get all future articles via email.
The following is a list of relevant links from the article for further reading.
- Past, Present, Future: From Co-ops to Cryptonetworks
- What is DeFi? Decentralized Finance Explained
- DeFi - The Future Of Finance Explained
- Web 3.0 and the Future of Trust
- Blockchain Consensus: A Simple Explanation Anyone Can Understand
- What Is a Decentralized Autonomous Organization (DAO)?
- Smart Contracts: The Blockchain Technology That Will Replace Lawyers
- What are Dapps?
- Celo: Mobile-First DeFi Platform
- Mechanism Design
- Messari Crypto Theses for 2021
- DeFi Pulse: Total Value Locked in DeFi
- Coinbase Fact Check: Crypto is increasingly being used for criminal activity and is a haven for illicit finance
- A Carbon Negative Blockchain? It’s Here and it’s Celo.
- a16z Crypto Startup School
- Celo Camp
- Celo Ecosystem Venture Fund
- Simple Agreement for Future Tokens (SAFT)