Latest news about Bitcoin and all cryptocurrencies. Your daily crypto news habit.
Introduction
With the kind of crypto bear market we saw recently, it has become ever more important that the most famous blockchains (BTC/ETH/NEO) start getting real-world adoption. Without adoption, the whole crypto industry will slowly lose relevance. This is what Vitalik Buterin (founder of ETH) has to say:
body[data-twttr-rendered="true"] {background-color: transparent;}.twitter-tweet {margin: auto !important;}
I think there's too much emphasis on BTC/ETH/whatever ETFs, and not enough emphasis on making it easier for people to buy $5 to $100 in cryptocurrency via cards at corner stores. The former is better for pumping price, but the latter is much better for actual adoption.
âââ@VitalikButerin
So, projects which try to improve real world usage of blockchains should be given more importance. One such project on the NEO blockchain is Master Contract Token (MCT).
MCT explained
As the website states, MCT token is a utility token for the NEO Smart economy.
Most utility tokens on the NEO blockchain are built for a specific dApp. However, MCT wants to be a utility token used for multiple dApps, similar to NEO/GAS. Thats why they call themselves a utility token for the NEO Smart economy, as they are not tied to any dApp.
But, how do they plan to do this? Basically, the team behind MCT has the hypothesis that dApp development on NEO can be increased by removing certain noteworthy obstacles developers might face presently. These obstacles do not exist on the Ethereum blockchain, and solving them will get more developers to consider developing on NEO vs. Ethereum. If MCT succeeds in its mission, NEO will become a formidable competitor to Ethereum, and many developers will use MCT as their utility token. With more developers flocking to NEO, the probability of projects helping real-world adoption increases. NEO Global Capital (NGC) believes in the aim too, so they invested in MCT recently.
body[data-twttr-rendered="true"] {background-color: transparent;}.twitter-tweet {margin: auto !important;}
We have received an investment from @NGC_Capital in exchange for a portion of our team allocation of $MCT tokens, held in a lock contract on the $NEO blockchain for one year. And that contract only cost 90 GAS to deploy because we used MCT staked storage! https://t.co/azo0nplGNX
âââ@MCT_Token
Issues for developers with NEO
Letâs look at the existing obstacles with NEO for developers and how MCT solves them.
- High costs to deploy smart-contracts
The following shows the 3 ways NEO smart contracts are deployed:
- No storageâââ90Â GAS
- Basic storageâââ490Â GAS
- Full storageâââ990Â GAS
Generally, a smart-contract for a dApp requires some form of storage. It could be a record of what was sent to the contract or any other kind of key-value pairs. So, Basic storage contract deployments are common. But, the cost of deployment at 490 GAS is on the higher side. So, small-time dApp developers might have to shift to Ethereum to lower their costs.
However, with MCT, the cost for Basic storage can be lowered to just 90 GAS by staking 10,000 MCT. This lowers the cost considerably and has a tremendous boost to the budget of a dApp developer. In the long run, the ecosystem gains by keeping those developers on NEO.
With MCT, the cost of deploying smart-contracts on NEO decreases considerably which leads to more developers on NEO. A win-win for MCT and NEO.
2. NEP-5 token limitations
The NEO smart economy has a major limitation that on receiving system assets (NEO, GAS) or other NEP-5 tokens, the receiving smart-contract is not triggered. In other words, there is no event for the contract to act on. Also, the smart contract cannot independently spend the tokens without coordination with off-chain code or wallet. This is ok if you want to raise funds for an ICO, however when you start developing specific use cases for the dApp, it leads to unnecessary complexity and points of failure.
This is what Joe Stewart (known as @hal0x2328 on Discord, or âHalâ), the lead developer of MCT has to say about this:
âReceiving assets or other tokens doesnât trigger the receiving smart contract at all, you have to construct an InvocationTransaction to invoke an operation in the contract. Thatâs fine if you want to build a dApp with itâs own specialised wallet or add it to existing wallets if itâs a universal type of operation (like mintTokens was added to Neon) but it is still extra code to be written.
But what if you want another smart contract from another owner to invoke your contractâs function? They would have to go through your dAppâs off-chain code unnecessarily or implement the same code in theirs.
With MCT, contract 1 just transfers some MCT to contract 2 and adds whatever parameters on the end of the transfer call. Done, in a single transaction, and contract 2 can reject the transfer if some conditions arenât met. Right now, with the existing method dApps are using, that mintTokens call could fail or return false, but the assets would still be transferred. Now the off-chain part of your dApp has to be written to handle refunds for failed invocations. MCT eliminates that headache. Sending assets/tokens by a smart contract is also a chore. For assets, thatâs a new UTXO transaction that has to be created. Smart contracts canât perform that function, so off-chain code has to âwithdrawâ the funds from the contract in a crafted transaction to send the funds elsewhere. But what triggers that off-chain code? What if the listener that triggers it goes down for these transfers or refunds?
Does the dApp have redundancy to prevent missed transactions, but also to prevent double-spends? It takes time and effort to build a reliable solution. For tokens, itâs not quite as hard but your dApp has to construct the transaction in a way that will allow the smart contract to authorize itself as the owner of the tokens being transferred. Just calling transfer() in the NEP-5 contract wonât cut it (except with MCT), it still needs a custom wallet/dApp to create this transaction and invoke your contract with it.â
As you can understand, this inherent limitation of NEO constrained its use-cases. However, with MCT, developers of dApps can use it as a universal form of payment instead of each dApp having yet-another-token you have to go buy on an exchange. This is huge!
Having understood what obstacles MCT solves for NEO, lets see what new opportunities open up.
Use-cases:
Payments
Having looked at the limitations MCT solves, it seems to be a great idea for developers to use it in their smart contracts on NEO. However, not all projects would need MCT. I think dApps which have the need to pay or be paid, especially both, for e.g. lottery, dice and casino style dApps, games (both paid in and paid out) need MCT the most, as opposed to an ICO crowd-sale (paid in only, and wallets are already integrated with mintTokens). Generally, dApps that receive funds arenât as bothered as dApps that need to send funds.
So, dApps which only need tokens to raise funds wonât need MCT much. However MCT will become a multi-dApp utility token for all games, lottery dApps etc.âââi.e. projects that need to pay and get paid.
Games
NEO is promoting the usage of the ecosystem to develop games because of the addictiveness games create. http://neo.game/works-en.html. NEO recently had an AMA on August 2nd, 2018 where Da Hongfei, the founder of NEO stressed on that point.
Da Hongfeiâs response on an AMAÂ question
In such a scenario, I feel MCT might act as a brilliant utility token for these games. Users wonât have to go to various exchanges to pick up different tokens for various games; its convenient.
This naturally opens up a questionâââin the present market scenario every project wants to have their own token. How does a project decide to choose between their own token vs. using MCT?
Hal gave some intersting insights on this:
Itâs really a question of why they need a tokenâââif itâs for large-scale fundraising, then they might choose to use their own token. But not all dApps need millions of dollars for development, so in those cases thereâs really no functional reason to use their own token and every reason to use MCTÂ instead.
1. Itâs already available so no need to write any NEP-5 contract code
2. Itâs already on listed on exchanges so new users can obtain it easily
3. Itâs in a lot of usersâ hands already due to the 98%Â airdrop
4. Itâs convenient for users who already use MCT with another dApp
The Team
Letâs look at the team behind the project. MCT has been developed by Splyse, the team behind the highly awaited Cryptokitties-like game on the NEO blockchain called HashPuppies. Do you remember Cryptokitties had broken the Ethereum blockchain with its high number of transactions! It is expected HashPuppies might do the same to NEO. However, it is still a couple of months away from getting live.
The team had previously won the inaugural City of Zion dApp competition by developing NEO Smart IoT and came 3rd in the NEO/Microsoft dApp competition by developing the Non-Fungible token (NFT) smart contract template. So, we can say the team has strong credentials. Also, development of MCT has already been completed and the token is live for usage. Awesome, right?
Since, I got really interested in the project. I had further discussions with Hal which are provided verbatim below. Its a gem of a project, and will start gaining traction as one reads about it more!
Further discussions
- Q: It seems NEO 3.0 will solve the specific issues MCT plans to solve, in that case isnât MCT redundant?
Hal: Interestingly no.
1. Backwards compatibility:
The NEO team prefers if developers can make changes to the NEO blockchain using contracts rather than making changes to the core code. It makes it easier for backwards compatibility. For e.g. NEP 7 solves some of the changes MCT brings. However, it will be an extremely tedious task to roll it out as it impacts all past transactions as well as future ones. One mistake, and you can invalidate previous ICO token sales if every interaction of every previously deployed contract is not considered.
2. NEO 3.0 might solve all changes MCT brings. However, it is around 1â2 years down the line.
3. MCT solves the required NEO issues NOW, not a year down. It is extremely important to note that. So, there will be many developers who use MCT as a utility token now. Eventually, when NEO 3.0 is released, MCT will be valuable due to these network effects. It will be a multi-dApp utility token among the various single dApp utility tokens.
body[data-twttr-rendered="true"] {background-color: transparent;}.twitter-tweet {margin: auto !important;}
Some uncertainty w/Erik's answer to the Reddit AMA question about $MCT, we want to provide some clarity: In a year or more NEO 3.0 may fix some or all of the issues MCT solves today. Even in that case, MCT will still be a multi-dApp utility token among all the single-dApp tokens.
âââ@MCT_Token
Q: If MCT is so beneficial for the NEO ecosystem, what stops someone from forking it and creating their own version of MCT, then repeating the same process of airdrop etc.? Doesnât this undermine MCTâs future potential?
This was one of the questions someone asked in MCTâs Discord channel. MCTâs lead developer Hal had a convincing answer, which makes MCT more valuable in my eyes.
Hal: Theyâd have to solve all the problems that we solved to get to this pointâââright now there arenât that many developers who have deep of knowledge of the Neo VM to understand how to write this contract securely. The contract is not open source so theyâd have to reverse-engineer the whole thing. And theyâd have to be willing to front 990 GAS to deploy their clone token and hope they didnât just throw away $26,000 if they made a mistake in the code trying to replicate it.
Conclusion
So, thats all about MCT! Splyse, the team behind MCT, seems to have picked up an extremely important problem statement and have delivered a working product. It can effectively replace GAS in various transactions. Now, the success can only be gauged by how effectively the developer community picks up using the token. I wish the team all the best.
Hope you enjoyed the article! Can think of someone right now who should read this? The âShareâ button is all yours.
About the Author
Ankit is the co-founder of a crypto investment fundâââBitazu Capital (www.bitazu.com). Letâs be friends on Twitter.
Disclaimer
The views presented in this article are my own. This article is for information purposes only. It is not intended to be an investment advice.
What is MCT all about, anyway? was originally published in Hacker Noon on Medium, where people are continuing the conversation by highlighting and responding to this story.
Disclaimer
The views and opinions expressed in this article are solely those of the authors and do not reflect the views of Bitcoin Insider. Every investment and trading move involves risk - this is especially true for cryptocurrencies given their volatility. We strongly advise our readers to conduct their own research when making a decision.