Intro
In the Cryptocurrency 1 community, people often times put the cart before the horse. They focus on ways to spend crypto tokens, rather than ways to earn them. Places to spend money is only beneficial to you if you actually have the type of money to spend. Imagine you are in Hong Kong trying to buy a cup of noodles but you don’t have any currency the shop owner accepts. You would be in a pickle. The solution to that problem is to create multiple pathways to earn the currency which creates the need for places to spend the currency. This is ultimately what lead to bitcoin’s success.
For the first 2 years or so, bitcoin 2 were really easy to earn. You could mine 3 them with pretty much any computer albeit there was a technical learning curve. Bitcoin were so easy to mine in fact that the earliest adopters gave them away like candy. Interestingly enough, once enough people had possession of bitcoin, then places to spend the bitcoin naturally started emerge in the bitcoin community. The most notable transaction in crypto history being a 10,000 BTC pizza 4 which at today’s value would be a whopping $27,000,000. Soon after the infamous pizza transaction more and more places that accept bitcoin started being created. Thus the bitcoin economy was born and today is valued at over $45bn at the time of writing this sentence.
As you see, having a place to spend something of value is absolutely amazing. But again it’s only amazing to the people who have the item of value to begin with. A company who sells affordable lamborghini’s for Tokens is only cool to people that actually own Tokens and if everyone is dedicated to acting in their own best interest then consumers might not use your token. Because if the discount to use Tokens isn’t big enough to overcome the fees incurred by transferring fiat into Tokens then the company selling lamborghini’s won’t see very many Token sales. Lucrii solves that problem by giving its user base multiple pathways into the Lucrii ownership, making spending locations a symptom of ownership instead of the main focus.
Lucrii is a modular 5 crypto token that incentivizes its user base to expand the tokens functionality. The Lucrii token has all of the standard banking features one would expect from a token like storing one’s value and transferring value to others. What makes Lucrii exciting and different from all other cryptocurrencies and tokens to date, is its modular design focused on easily extending Lucrii’s functionality. This rest of this paper will describe exactly how the Lucrii token works, some of the issuance modules i’ve came up with and my plans for the future of the Lucrii token and its economy.
Contract Structure
Every module be that the balances module or issuance module, is coded into a smart contract 6 that lives on a distributed ledger, and is executed by a distributed virtual machine 7. Lucrii is agnostic to the platform that houses all of these components but could run on Expanse, Ethereum and Tendermint or even as a sidechain to any of these projects.
Scaffolding
- Root Account
- Contracts
- Balances.sol
- Mappings
- Balances
- Modules
- allowed
- Functions
- set/get balances
- set/get modules
- set/get allowed
- Events
- Update Balances
- Set modules
- Set allowed
- Mappings
- Issuance Modules
- Standard Token
- Token Swap
- Proof of Stake
- Proof of Work
- Proof of Charity
- Universal Basic Income
- Lottery
- Central Bank
- Rewards Program
- Balances.sol
- Contracts
Root.sol
The root account 8 is a special account that manages modules being added and removed. The root account cannot manipulate the balances, only issuance modules can do that. So in the event that a root account wants to manipulate the data stored in the contract, it will have to enable a “central bank” module that gives root the permission to do make those changes.
Balances.sol
Balances.sol is the data storage contract and it has two basic functionalities. It stores the user balance/tx mappings and dictates whether or not an issuance module can manipulate data stored in the contracts mappings. The Balances.sol contract abstracts the account balances from the business logic as a way to help protect the balances, making the business logic upgradeable, and modular.
Data Storage Workflow
All the balances are stored in the balances.sol contract. An issuance module can attempt to interact with the data, but the data can only be manipulated if the issuance module has been granted permission by the root contract.
Issuance Modules
Issuance modules are a collection of functionality that have the ability to manipulate the datastores in the Balances.sol contract in a desirable way. Before an issuance module can manipulate the data in the balances.sol the root account must first give the IM permission.
IMP (Issuance Module Proposal)
IM’s can seek permission from root by creating an IMP (issuance module proposal) using the IMP template and submitting the IM proposal to the root account for deliberation. After the IM is submitted the IM submitter can start lobbying the community for votes. In the event the proposal is accepted and the new IM contract launched the root account will then give the IM permission to manipulate the data in the balances contract. A modular approach gives you the ability update the tokens functionality while maintaining the token’s data integrity.
Standard Token
The standard token 9 issuance module is less of an issuing module and more of a general purpose module. The standard token for most users will be the entry point into the token and provide basic interfaces such as the ability to transfer tokens.
Standard Token Workflow
- Bob wants to send alice 20 lucrii
- Bob asks alice for her expanse address
- Bob tells the standard token contract to transfer 20 lucrii to alice
- The contract destroys 20 lucrii from bobs balance
- The contract issues 20 lucrii to alices balance
- Alice now has 20 lucrii and bob has 20 less than before
- And everyone is happy
Faucet
The faucet IM dripps a very small amount of lucrii to new lucrii users.
Central Bank
The central bank IM is exactly what it sounds like, an IM with central authority to manipulate account balances at will. Nation states and other organizations would probably make this a requirement in their version of the lucrii token but probably won’t be installed on the official lucrii release.
Central bank workflow
- Central banks locate accounts that need update on behalf of their users
- Makes the change
- Changes are reflected in the balances contract
Token Conversion Oracle (ico)
Users will be able to convert other crypto tokens into Lucrii tokens by sending the other crypto to an exodus address or in the event of sending Expanse or Ethereum to a smart contract designed to mint new Lucrii tokens.
Conversion Method Workflow
- Citizen loads up conversion dapp with Expanse address
- Conversion dapp supplies citizen with an exodus address
- Conversion dapp maps citizens exp address to their exodus address
- Citizen sends crypto to exodus address
- Conversion dapp consults the conversion rate
- Conversion oracle mints new lucrii according to conversion rate
- Conversion oracle increases citizens balance by mint amount
Basic Income
A basic income (also called basic income guarantee, Citizen’s Income, unconditional basic income, universal basic income (UBI), or universal demogrant) 10 is a form of social security in which all citizens or residents of a country regularly receive a regular, unconditional sum of money, either from a government or some other public institution, in addition to any income received from elsewhere.
I believe the only way to actually realize a basic income is if that basic income is ingrained directly into the inflationary mechanism of a currency. Or in this case, its issuance module. The Basic Income issuance module grants verified Borderless Citizens 11 the ability to mint new lucrii tokens unconditionally every month. The rate at which they mint will be dynamic depending on the tokens purchasing power. This basic income will promote growth, prosperity and empowerment for all who participate.
Basic Income Workflow
- A citizen registers for Borderless Identity
- Then the citizen becomes verified through a verification process
- If the citizen is indeed a verified citizen then new lucrii are generated and sent to the citizen
- The basic income contracts then stores a timestamp+some future time
If the next time a citizen tries to generate lucrii- If this.Timestamp > lastSetTimestamp
- Generate new coin and reset new timestamp
- If this.Timestamp > lastSetTimestamp
What happens if someone misses their minting date?
A person will be allowed to forget they have minting abilities for 3 years. So they will be allowed to receive 3 years of back pay, but any longer than that and they forgo their basic income of Lucrii tokens.
Proof of Stake
Traditional proof of stake 12, stakeholders use their stake in a cryptocurrency to determine their eligibility to sign blocks of transactions for the network. Because Lucrii exist on top of Expanse/Ethereum/Tendermint, transaction validation is done implicitly by the blockchain network. So stake in the sense of the lucrii system is how many lucrii you would own. It’s more similar to interest. Where it differs from interest is that it’s tied directly to the inflationary mechanism. The inflation rate will slide depending on how long you hold the tokens in the staking contract. The longer you hold them the higher rate of interest you will earn ranging between 6%-12% annually.
Proof of Stake Workflow
Lucrii stake would be more like traditional interest bearing savings accounts.
- Users would deposit x amount of token into a savings contract
- When the citizen withdraws their funds, their interest is calculated
Proof of Charity
According to charitynavigater.org it’s widely accepted that charities who are accountable and transparent are more likely to act with integrity and learn from their mistakes because they want donors to know that they’re trustworthy. Generally speaking, charities that follow best practices in governance, donor relations and related areas are less likely to engage in unethical or irresponsible activities. Therefore, the risk that charities would misuse donations should be lower than for charities that don’t adopt such practices.
This issuance module is a way to reward that accountability, incentivize donor participation, and bake philanthropy right into base of the lucrii economy.
Proof of Charity workflow
- Every Time someone makes a charitable contribution in cryptocurrency using the Borderless Charity Amity platform (or any other approved charities), new tokens are created and distributed to the donor.
Middleware Modules
Middleware modules are modules that don’t manipulate lucrii balances in anyway, but extend the functionality of issuance modules. For instance the Universal Basic Income IM would need to guarantee the identity of the participant in order to guarantee a person is qualified for the UBI and would so that contract would communicate with the borderless identity management contract and relay that information back to the UBI contract and then to the Lucrii token.
Potential Middleware Modules
- Identity Management
- AML/KYC
- Proposal factory
- VoteLock
- etc.
Conclusion
By focusing on the key driving force of an economy, its people, we can naturally create and incentivize an environment ripe for economic growth and prosperity. We can empower those less fortunate than ourselves and enrich the lives of everyone involved. All it takes is a new way to think about value, and Lucrii is that new way. How ready are you to blast off into a future that puts the people first?
Endnotes
- Andy Greenberg (20 April 2011). “Crypto Currency”. Forbes.com. Retrieved 8 August 2014.
- Nakamoto, Satoshi (October 2008). “Bitcoin: A Peer-to-Peer Electronic Cash System” (PDF). bitcoin.org. Retrieved 28 April 2014.
- Joshua A. Kroll; Ian C. Davey; Edward W. Felten (11–12 June 2013). “The Economics of Bitcoin Mining, or Bitcoin in the Presence of Adversaries”(PDF). The Twelfth Workshop on the Economics of Information Security (WEIS 2013). Retrieved 26 April 2016. A transaction fee is like a tip or gratuity left for the miner.
- https://bitcointalk.org/index.php?topic=137.0
- is designed with standardized units that can be fit together in a variety of ways.
- Smart contracts are computer protocols that facilitate, verify, or enforce the negotiation or performance of a contract, or that make a contractual clause unnecessary. Smart contracts often emulate the logic of contractual clauses.
- In computing, a virtual machine (VM) is an emulation of a computer system.
- In Ethereum/Expanse there are two types of accounts: externally owned accounts, controlled by private keys, and contract accounts, controlled by their contract code
- https://github.com/ethereum/EIPs/issues/20
- “Improving Social Security in Canada Guaranteed Annual Income: A Supplementary Paper”. Government of Canada. 1994. Retrieved 30 November 2013.
- borderless.tech
- 12. King, Sunny. “PPCoin: Peer-to-Peer Crypto-Currency with Proof-of-Stake”(PDF). Retrieved 2014-11-17.