We can build a social system on Cardano
Money cannot be separated from the governments since money needs to be surrounded by the social layer. In the article, we will have a look at how smart contract technology can be used for building a decentralized social layer.
How the current social system works
The majority of people usually live in a social system that is bordered and has some form of government. Let’s explain what exactly means to be part of the social system in the context of the article. We begin with the current social system. The government consists of the legislature, executive, and judiciary. A legislature is a deliberative assembly with the authority to make laws for a political entity. In the separation of powers model, the legislature is often contrasted with the executive and judicial branches of government. The executive is the branch of government exercising authority and holding responsibility for the governance of a state. The executive executes and enforces the law. The executive enforces the law as written by the legislature and interpreted by the judiciary. The executive can be the source of certain types of law, such as a decree or executive order. Executive bureaucracies are commonly the source of regulations. The judiciary is the system of courts that interprets and applies the law in legal cases. The judiciary is the system of courts that interprets and applies the law in the name of the state. The judiciary can also be thought of as the mechanism for the resolution of disputes. The judiciary generally does not make statutory law (which is the responsibility of the legislature) or enforce the law (which is the responsibility of the executive), but rather interprets the law and applies it to the facts of each case.
Monetary policy is the macroeconomic policy laid down by the central bank. It involves the management of money supply and interest rate and is the demand side economic policy used by the government of a country to achieve macroeconomic objectives like inflation, consumption, growth, and liquidity. The primary goal of central banks is to provide their countries’ currencies with price stability by controlling inflation. A central bank also acts as the regulatory authority of a country’s monetary policy. The central bank can best function by remaining independent from government fiscal policy and therefore uninfluenced by the political concerns of any regime.
We will try to elaborate on the idea of building a decentralized social system that could to some extent substitute the current one. We will provide some examples of how the social system is used to solve some disputes rising from financial interactions. As you will see, smart contract technology can significantly help to build such a system.
Have we already built a new alternative social system?
It is not possible to easily separate money from governments since money is an important part of the social system. Money, together with the government and its three pillars of power (legislature, executive, and judiciary), is an inevitable part of our daily lives and they are deeply embedded in the social system. People generally trust the social system in which they live. Cryptocurrencies bring disruption regarding trust in the social system which will inevitably have an impact on governments. It has a few interesting consequences.
- People do not need to search for decentralized alternatives when they are happy in the current social system. That is why the cryptocurrency movement is not a topic for the majority of people. When only a few cares of cryptocurrencies and the rest does not then the current social systems will not be disrupted. As a result, the adoption of decentralized money and services will be slow.
- Cryptocurrency has the potential to disrupt governments. Governments will protect their positions. Governments can easily restrict the usage of crypto and people will not care much since they still trust the current social system. The voice of the crypto minority will be mostly ignored by the majority.
- At the moment, cryptocurrency is not able to at least partly substitute the role of the social system. Thus, it can hardly become mainstream. It is about trust. It is not possible to trust partly to the government’s social system and partly to an alternative financial system if the government social system and the alternative financial system do not trust each other. One way to overcome that is to build a decentralized social system as a layer above the financial system built on the blockchain. Due to that, we will not need to rely on the old social system.
A lot of articles discussed the blockchain technology and its potential to replace, reshape, and even eliminate trust. Blockchain is basically a specific data structure and distributed protocols. The first generation of crypto utilizes technology to create a kind of free and independent money. So only the pure financial system. The crypto community decided to trust blockchain technology instead of the current financial system. To what the crypto community really trusts? The crypto community trusts the code. To the source code of the protocol clients that are operated by independent people. Everybody can operate a client. Everybody trusts that the majority of people accepting a given project as their new financial system will operate the client with the same source code meaning with the same set of rules. If you think about it a bit you will find that they basically believe in very simple and primitive technology that is only able to work as a transactional system with fixed and rigid monetary policy. For example, a rule can exist that ensures that only a certain amount of coins will be created and a few other simple rules exist to ensure the gradual release of these coins. That is all. We consider the pure transactional network as a financial system that lacks the social system. We do not want to decide within the article whether it is good or bad. We just want to point out the fact that the social system can increase the abilities of the decentralized network.
Cardano intends to be a Social and Financial Operating System
The blockchain technology can be used in many ways. If you think that the only usage is a transactional system then you might be terribly wrong. The ultimate goal of blockchain technology is removal of middleman in financial and social processes. Read more
We are afraid that blockchain technology (meaning transaction networks without smart contracts) is not sufficient to have a bigger impact on society. Primitive systems can do a good job for small communities. Larger communities, however, require a higher level of complexity. Large social groups need laws and rules. People need the ability to propose laws and rules, have a discussion about them, approve them, and even change them from time to time. Moreover, sometimes it can be necessary to enforce the rules. That is why we have institutions and we vote to choose people who will be authorized to act in the name of the majority. The enforcement of the rules can be very tricky in a blockchain system to which people can voluntarily join and leave. Crypto has no traditional legal system and the necessary power to punish somebody in the physical world. The current belief of some crypto communities is that it will not be necessary since we can avoid such a system by following a few simple rules. That might not be the case. As you will see later in the article, the ability to define rules and conditionally evaluate events is very useful for interactions between two persons.
If you remember, governments consist of three pillars of power: legislature, executive, and the judiciary. If we try to bring that into the world of the source code then we are able to cover the legislative pillar. To write a source code (a computer program) can be considered as a definition of rules and laws. Developers maintain and change the source code every day. So they can be considered as a modern form of legislative authority to which we can trust. To some extent, we are able to cover the execution pillar as well. Processing transactions can be considered as following the rules. Decentralization basically acts as a strict executor of the rules. The executor is a bunch of people that operate full nodes and pools. People basically trust pool operators and can become validators if they wish so. In the world of the source code, there are no disputes. Everything is binary: yes or no.
Blockchain is not currently able to substitute the judiciary pillar but it is not necessary right now. It should be said that blockchain is not able to represent the authority in the sense of the organ that authoritatively orders some rules in the case of an emergency. For example, when a COVID-19 pandemic hit society, we needed authorities to tell us what we should do and how we should behave. These kinds of decisions are centralized and cannot be programmatically prepared in advance. We could consider some kind of quick voting system to make decisions quickly but still, we are not sure whether it could work in all possible cases. Every technology has some limits and we are not probably able to substitute top government authorities technologically.
We have created a kind of primitive system that could be considered as a viable social system to which people can trust. As we said, probably only for minorities since such a primitive system is not able to substitute the important role of the social system (government). The abilities of such a primitive system are very limited. Despite the fact that rules are changed every day (the source code) there is no form of voting. Authorities (developers) are unknown to the people that trust the financial system (and can consider it as the social system as well). Regarding the execution pillar, the system must be as decentralized as possible and allow many people to become a member of the elite (e.g pool operator). Except for the source code, there is no inspection or punishment entity that would watch the work of executors. Can we blindly believe the source code if we know that everybody can change it? It is true that pool operators cannot change the rule and for example create a block that would not be accepted by validators. An individual operator cannot increase the maximum supply of coins since others would notice that. On the other hand, they can do shady things and utilize their position to their benefit. Currently, a blockchain system cannot judge them or even punish anybody. To participate in the open permissionless system is based on voluntary and the motivation is economical. In the case that a pool operator would make some shady things, people can basically do only one thing. They will not delegate the consensus power to a pool to which they do not trust. Still, the pool can remain strong and do what the operator wants if he or she has sufficient resources for buying the consensus power. The consensus power can always be bought for fiat currencies. We do not know whether it is good or bad right now. We do not have enough experience.
What kind of trust a blockchain can establish
Society as we know it would not work without trust. Trust is everywhere and we do not even think about it much. Governments, banking systems, institutions, merchants, and also interactions among individuals, everything works due to trust. Concerns related to reputation or fear from punishment prevents entities from misbehavior. Laws, rules, regulations, and also social contracts surround every aspect of interactions between entities. There are mechanisms in the current social system that are able to supervise the interactions, resolve disputes, and punish entities that do not follow the laws and rules. As you will see in the scenarios below, blockchain is not currently able to cover all functionalities that would be necessary to establish trust and resolve disputes in scenarios that we are going to describe.
Let’s have a closer look at the trust that the current blockchain system is able to establish. For the purpose of the article, we can define a few categories where participants search for trust:
- Trust between entities that personally know each other. It can be two friends or partners. They are able to resolve all disputes personally without relying on somebody else. Personal reputation among a group of friends and family plays a key role.
- Trust between entities that personally do not know each other and thus do not trust each other. They might need to interact together for the first time. They need to build trust quickly or rely on a third party. It can be difficult for them to rely on a personal reputation or find a suitable reliable third party. Entities often have to make an agreement and rely on the social system regarding solving disputes. You can imagine two random people on the internet when one wants to sell something to the other.
- Trust between entities that know each other but do not trust each other. Both sides are more or less equal. It is a similar case as before but here, you can imagine two institutions or banks. Big entities usually know each other and believe that the counterparty will behave honestly (mostly for the reputation reasons) but the belief itself is not sufficient. There can be many reasons for that. The interactions can be complex with many edge cases, big money can be involved in the interactions, it is expected in advance that disputes can arise.
- Trust between us and third parties or institutions. In contrast to the previous category, here stands an individual against a stronger entity. As a third party, you can imagine merchants, banks, and institutions. We generally trust these third parties since we believe that authorities can help us to resolve disputes. These entities usually protect a good reputation and behave honestly. On the other hand, we can see many disputes in this category.
- Trust between us and the authorities. We generally trust the authorities since we believe that we are able to resolve possible disputes via independent entities. We trust the social system since we usually vote representatives that delegate power down to institutions with which we usually interact. Thus, we have a feeling that we can influence what is happening around us.
Now we can ask in which categories can blockchain establish trust. By the term blockchain, we mean a pure transaction system. For example Bitcoin. We will not consider a smart contract platform like Cardano or Ethereum. We will get to the differences later in the article.
Let’s go through all categories one by one. Alice and Bob are friends and Alice wants to buy a guitar from Bob for 5000 ADA coins. Bob, as a gentleman, will visit Alice and he will bring the guitar. Alice will play a song and she will send 5000 ADA to Bob right away. The deal is done. They did not need any agreement. It will also work in the case that Alice would send 5000 ADA to Bob in advance and Bob would promise to send the guitar by post. They know each other so Alice can be quite sure that Bob will keep the promise. In this scenario, there is usually no problem with using blockchain.
How Cardano can disrupt the traditional financial system
If we want to replace traditional financial services, we need an alternative. The concept of decentralization and blockchain technology offers one of the possible alternatives. In today's article, we'll talk about what services banks and financial services offer and how it would be possible to build something similar on the Cardano platform. Read more
Let’s now consider the same scenario with the difference that Alice and Bob do not know each other. They can live in the same country but in different cities. Bob is not a gentleman in the scenario and he does not want to travel to a foreign distant city to show the guitar to Alice. Alice and Bob have a problem here. Alice does not want to send 5000 ADA to Bob in advance since she does not trust him and does not believe that he will send the guitar. Bob does not want to send the guitar in advance since he does not trust Alice and does not believe that she will send 5000 ADA. They can either risk it and try to believe each other, or they can try to find a third party that could help. This scenario is not a problem with fiat currencies since the legal system can help to resolve disputes. People are not afraid to pay by fiat currencies since they can easily prove that they have sent money from one bank account to another. Alice can sue Bob for not sending the guitar after she has sent $250 and there is a high probability that Bob will have trouble with local authorities. If Alice and Bob are from different countries the scenario would be more complicated with fiat currencies but even worse with cryptocurrencies. The legal system of a given country can refuse to deal with the case just because cryptocurrency is involved. Solving disputes is always long and it can be expensive or difficult to prove some related facts.
In the third scenario, there are two big banks that know each other but do not trust each other. They need to maintain a ledger in order to enable audits. They also need to avoid risk. It is easy for banks to make an agreement but it is a question of what is the benefit of using blockchain. In some cases, blockchain can be faster than the legacy systems that are used for transferring money from bank to bank. Blockchain can also be a very good ledger from the accountancy point of view. Banks protect their own reputation and are used to rely on the legal system. Disputes can be solved fast. Notice that banks have to use the traditional paper agreement since the technology of the first generation of blockchain does not offer to create a complex digital agreement. It is a pity in this scenario since banks would probably want to enter the 21 century. From a trust point of view, actually there is nearly no benefit in using blockchain in scenarios where “paper” agreement is needed.
Another category is related to trust between Alice and a big institution. Institutions usually have a stronger position and are just necessary middlemen in some scenarios. Let’s consider the scenario when Alice wants to buy a cell phone from a big merchant. Merchants also usually care about their own reputation. However, some smaller merchants do not and then they could cheat and just keep 5000 ADA that Alice has sent without the intention to send her the cell phone. Disputes can be difficult for the same reasons that we have described in the second scenario. Again, Alice would be in a better position if she used fiat currency. When two entities do not trust each other then they can rely on a middleman that is trusted by both. For example, Alice could send 5000 ADA to the middleman and Bob could send the guitar. The middleman would provide a custody service and ensure that Bob will receive money only if Alice receives the guitar. If Bob does not send the guitar and Alice sends 5000 ADA then the middleman will send 5000 ADA back to Alice after some time. Middlemen usually require some fee for the service.
The last scenario is just a clone of the previous scenarios. It can be expected that authorities will not cheat when they have accepted cryptocurrencies as property or allow using them for payment. The legal system would easily resolve any issue since they would know how to use cryptocurrencies and how to verify everything that is needed to resolve disputes.
What is the result? It can be a surprise for you that the first generation of blockchain technology is able to establish trust only between entities that know and trust each other. We have seen it in the first scenario with Alice and Bob. In the second scenario, we have clearly seen that it was not easy to establish trust between Alice and Bob since they did not trust each other. Interaction between them is risky. We can generalize it and say that when parties do not trust each other then blockchain itself is not able to establish trust. Why? Blockchain is a primitive system and the rules are mostly related to the network consensus. Rules related to transactions only verify the validity of the transaction. These rules have no notion about the context of the transaction. The network just verifies that Alice has sufficient balance for the transaction and that the signature is correct. If it is the case the network just processes the transaction. That is all. The network does not know that Alice has sent the transaction in order to receive the guitar from Bob. Why does it work with fiat currencies? The answer is simple. The legal system is able to work with the context and force Bob to either send the guitar or return 5000 ADA back to Alice. The legal system is obliged to deal with these cases and resolve them. It is something that blockchain is not able to handle. If we put it into relation with the social system then we could generalize that blockchain lacks some legislative and execution abilities. It means that the current social system is much more efficient than blockchain technology since it is able to resolve disputes between parties.
These facts have consequences for cryptocurrencies. We can say that cryptocurrencies are not a better form of fiat currencies from the trust point of view. It is less risky to use fiat currencies than cryptocurrencies. Notice that people do not need to trust fiat currency transactions since they trust the social system. Moreover, transactions of cryptocurrencies are irreversible. That makes it even worse in case of disputes since it can be difficult to force somebody to give back coins. Authorities cannot confiscate the property of cheaters or terrorists. It can be considered as a nice feature by some members of the crypto community but for practical usage, it can be an obstacle. We can mitigate the obstacle by creating a system that would protect senders against fraud. When a user sends a blockchain transaction it must be ensured that the counterparty will act as the sender expects. Moreover, it should work not only in the digital world but ideally also in the physical world.
As you can see, further development of the blockchain is necessary if crypto should go mainstream and we want to create a viable alternative to the current social system. Crypto must be able to establish trust among entities that do not trust each other. We need a system that will be more sophisticated and allows us to use blockchain in more complex scenarios. We need to be able to substitute the legal system at least to some extent. We need to improve the legislative and execution abilities of blockchain.
Let’s add one more point. We do not think that crypto must necessarily disrupt governments and make a global revolution. Some members of the crypto community do not want to rely on the current social system. We cannot expect that governments will provide the legal system to solve crypto disputes if they fight against it. Higher freedom and independence will require technological improvements in blockchain technology. It is not ready at the moment. We need to build a system that will be usable for the masses and not only for minorities.
How we can build a decentralized social system
Now the question is. Can we make interactions in scenarios that we have described above more trusted and reliable? We are able to improve the legislative and execution abilities of blockchain via smart contract technology. Smart contracts allow defining a set of rules that can represent an agreement among parties. Once a smart contract is deployed, which can be considered as a signature of a paper agreement, the network will execute it. Parties are able to define expected events, conditions, and actions. Events can be triggered by parties (sending a transaction) or provided by Oracles at a given time (e.g. market data). In the world of programming, conditions serve for evaluation of events. They allow the contract to make a decision and help to instruct the code to take some action based on a result of the evaluation. In other words, conditions allow checking the expected result (has Alice sent 5000 ADA coins to a given address) and trigger some actions (if yes then send 5000 ADA to Bob and the guitar token to Alice). Action can be for example a sending of another transaction. Smart contracts can work with native coins of the network and with other digital assets (fungible and non-fungible tokens).
Let’s consider the following scenario. Alice wants to exchange 50,000 ADA for 1 BTC with Bob. Alice and Bob do not trust each other. To avoid risk, Alice and Bob agreed to deploy a smart contract. The digital agreement will define the conditions of the exchange. Alice and Bob have to send assets to contract custody addresses within 48 hours. Once the contract has both assets from Alice and Bob, it will make the exchange and send 1 BTC to Alice and 50,000 ADA to Bob. If only one of them sends the asset in time then the contract returns the asset to the original owner. In contrast to a transaction system, the smart contract was able to establish trust between two parties and allow them to safely exchange digital assets without the risk. The smart contract was used as a simple decentralized exchange.
Would the scenario work with the guitar as we have seen in the second scenario? Yes. The contract can release 5000 ADA to Bob only if it can verify that Alice has received the guitar from Bob. The contract cannot blindly trust Alice since she can try to cheat. Alice can have the guitar in her hands but cannot be willing to confirm that to the smart contract. The contract would give her back 5000 ADA. It would obviously not work. How to improve it? We need to economically motivate Alice to behave honestly. Let’s try it again. Alice sends 5000 ADA to the smart contract to pay for the guitar. Alice agrees to send an extra 2000 ADA that will be returned back to her once she confirms that the guitar has been delivered to her. Bob creates a token that will represent the guitar and send it to the smart contract. In addition, Bob sends Alice a secret that allows her to receive the guitar token from the smart contract. At the same time, Bob sends the guitar to Alice via post. When Alice receives the guitar she uses the secret to obtain the guitar token and unlock 2000 ADA. Alice will do it since she does not want to pay 7000 ADA for the guitar. The smart contract can send 5000 ADA to Bob since Alice has confirmed the delivery. You can find a few edge cases in the scenario but it is possible to handle them. For example, how can the contract ensure that Bob will get 5000 ADA even in the case that Alice let the contract expire (she does not confirm the delivery) or the postman will not deliver the guitar and keep it? Smart contracts could be written in a way that also the postman will be involved and economically motivated to act honestly. So also the postman can interact with the smart contract. People know the best what happens with items in the physical world so they must be responsible for providing the truth in a trusted way. The key is to economically motivate people to act honestly. There is no better solution if we want to avoid the current legal system and build reliable decentralized technologies. The postman will take over the guitar from Bob and send 5000 ADA to the smart contract. Thus, the postman will be economically motivated to deliver the guitar since the postman wants to get 5000 ADA back. Bob can be sure that he will get 5000 ADA either from Alice or from the postman. Now, all actors are economically motivated to act honestly. And you know what? Alice and Bob do not want to bother with writing the smart contract. They will just utilize a decentralized application of favorite delivery service and use it. A smart contract will provide custody service so the post service will not touch ADA that Alice wants to send to Bob.
Would it be possible to achieve the same level of reliability only via the transaction network like Bitcoin? No. Bob could sell the guitar to the postman and get BTC right away during the hand-over. The postman must hope that Alice will buy the guitar. If Alice decided not to buy it from the postman and Bob does not want to take the guitar back then the postman has just bought the guitar. Sadly, the postman has already 5 similar guitars at home. The business does not work. The postman can do nothing without the current legal system. In the case of smart contracts, the postman could just let the contract know that Alice did not want to take over the guitar and he would get his 5000 ADA back. Bob would be without 5000 ADA so he would like to get his guitar back from the postman.
We have seen how smart contracts can resolve issues in the real physical world. It is not nice that it is needed to use extra coins to realize the exchange of digital tokens for a physical item. There are no better ways than to economically motivate to act honestly if participants want to avoid the legal system, wish to stay anonymous. It is necessary to prevent disputes since it is hard to solve them in the blockchain world. We could add that there were a lot of digital proofs in the blockchain that can be used to describe the scenario. All transactions and the guitar token. Everybody can verify who should be the owner of the guitar. The token belonged to Bob in the beginning. The postman became the owner of the token when he took over the guitar from Bob. If the postman succeeded in delivering the guitar then the token belongs to Alice. In the case that any of the participants want to use the current legal system then digital proofs can be easily used or even pre-prepared. Decentralized services can coexist with the current legal system. We believe that governments will prepare and approve the blockchain legislation sooner or later.
Why should Alice and Bob use the decentralized service instead of relying on fiat and the current legal system? Well, you might notice that smart contracts can prevent misbehavior and motivate participants to act honestly. Instead of fear of legal issues, the decentralized services can prevent the issues and solve them fast and exactly as agreed by all participants in the beginning. If a Bitcoin network was used then there would be only transactions without context. Context would be in the heads of participants and possibly in some form of digital communication (chat, emails, etc). Storing the whole context in the blockchain in the form of an executed smart contract can be much more useful. Smart contract technology allows creating an agreement that can cover all possible events. It is possible to define what exactly will happen when every single event occurs. Thus, it is possible to prevent disputes instead of relying on the legal system that will try to resolve them mostly expensively and slowly. It can be more efficient and cheap to use smart contracts than to stick to in some cases legacy paper agreements.
So far we have talked about building trust between a few participants. More precisely, between two or three participants and a smart contract in the role of a middleman. We will need a few years to handle similar interactions well but once we manage it we can start thinking about smart contracts that could serve bigger communities and cover more complex scenarios. Smart contracts could take over part of the legislative and execution pillars and substitute them. It will definitely be a slow and cautious process but it is easy to imagine that it will happen. Companies and institutions are governed by rules and processes. People strive to automate these processes as much as possible since it saves costs and prevents mistakes. Many such processes have been already digitally automated. We can use Cardano and bring the trust layer into the process. The trust layer built on smart contracts could bring transparency, reliability, no possible way to cheat the system (in the ideal case), the possibility to make a fast and easy audit, and the ability to let people from outside to control and change the processes. People from outside could be allowed to vote about changes in the processes. This kind of change would be big and requires not only technological readiness but a change of the people’s mindset.
Will people trust smart contracts? The answer is simple. Why not if they are already willing to trust the code. Trust in blockchain technology is basically about trust in the source code and decentralization. A smart contract is just a source code that is deployed and the whole network executes it. Clients verify the validity of transactions and blocks. They can easily verify the logic in smart contracts and thus append a programmable layer into the blockchain technology. Each smart contract is processed independently on each other so a failure of one contract does not affect the rest.
Smart contracts technology is just an extension of the paradigm that says “in the code we trust”. The difference is that a smart contract can be prepared by anybody (not only by client developers) and customized for a certain problem. For example, a smart contract can be focused on some short-term tasks for a few people, or it can be focused on long-term tasks within a community. In other words, independently on the client code (and some kind of virtual machine code), anybody is able to create a smart contract and deploy it whenever he or she wants. If you think about that in the context of transactions, smart contract technology is a much more useful tool. It is possible to start thinking about building a decentralized social system. We are able to define rules and execute them so we can at least partly substitute the legislative and executive pillars. People will be able to agree on some rules and if somebody breaks them then he or she can be economically punished. All proofs will be available in the blockchain and people could even vote about the punishment.
We have seen a lot of failures in the DeFi space so we could make a false conclusion that we cannot trust smart contract technology. These problems are mostly related to Ethereum. Failures on one platform do not mean that Cardano cannot build a better smart contract platform. As we said, if people are willing to trust the code then trust in the smart contract is just a kind of customizable extension. What is necessary, however, we need to deploy smart contracts that will reliably work in the long term. People will start trusting smart contracts platforms only if it is reliable and people will not hesitate to use it. Technology must become a reliable partner in people’s daily lives.
Financial and social systems are related to each other. It is not possible to separate them. We cannot think that we can peacefully overtake the financial system from governments and hope that it will work well. It will not. The financial world cannot work without the social layer so we have two choices. We can either use the old social system with a blockchain transaction layer, or we can build the decentralized financial and social system and possibly merge the old one with the new one. We did not discuss regulations. Governments will not probably let us build a new social system behind their backs. That is why we need to collaborate with them, explain the advantages, and keep building the technology. The revolution cannot be done abruptly and we do not need to go this way. It is easier to work on slow evolution. Cardano will be a suitable blockchain platform for the decentralized evolution of mankind. To be clear, we are far from the vision but it is time to think about it and take small steps to realize it.