In the land of blockchains, new projects are emerging weekly. Some provide new value-propositions, some not so much. But generally speaking, technology is continuously improving and being innovated and blockchains in 4-6 years will be way more advanced than they are today.
Many blockchain projects will fall behind and become unusable/redundant. Similar to how a smartphone from 6 years ago, is far behind in comparison to what's the standard nowadays.
However, even with this knowledge of some blockchains becoming obsolete in a matter of years, there is no reason to wait or to postpone blockchain integration within your already existent business or new startup.
Blockchains in 2019
As I'm writing this post in the mid-July of 2019, there are incredibly useful blockchains available, capable of much more than the average business needs. Of course, blockchains will be better in the future, but you can always switch or expand later.
Many are providing different use-cases. Some are offering smart-contracts (such as EOS, Chain Link or Ethereum) and others are application-specific such as Steem & Cosmos - just to name a few.
All of them are used in projects and to say it up-front: there isn't a blockchain perfectly suitable for every purpose.
Which to choose?
Generally speaking, choosing a blockchain matters less than you might think. 99.999% of businesses around the world are completely centralised, without any real transparency. So choosing any blockchain, is better than the status quo. In the end, it's about you (the developer/team/company) and what your skillset is/what you feel comfortable with.
Some are more difficult to get started with, but offer more in return, while others are faster to get into and sufficient for the majority of use-cases.
Questions you might ask yourself, are:
- Do I need a blockchain which supports custom smart contracts (hard-consensus) or an application-specific blockchain with soft-consensus enough?
- Do I want to support multiple blockchains?
- Do I need my own blockchain or is it enough to create a sub-token (like ERC20, EOST & SMTs)
- Am I able to sustain development in low-level programming languages (such as c++) or is it more realistic to code in JS, GO or Python?
- Do I need to tap into an already existent community (such as on Steem) or is my marketing budget high enough? (You could even do both!)
Those are some of the questions I, for example, would ask myself when starting a new project, where blockchain is a requirement. Let's take the hard vs soft-consensus question for example.
On Steem, there is hard consensus in the form of smart contracts, integrated into the base Steem code. For example voting, posting, transferring or even the conversion or trading of SBD to STEEM is being "secured" by the DPOS consensus layer. (With SMTs these will also be extended towards sub-tokens.)
This essentially means that all of these actions are protected with very high reliability by the Steem network. If you're starting an internal trade on Steem with SBD for Steem, the network will make sure everything goes smoothly, instead of some centralised entity running away with your money.
If you're familiar with Steem Monsters or Steem Engine, you know that these are working with something called
custom_jsons. Simple messages on the blockchain, which are stored on the decentralised ledger.
The base transaction is secured as well via DPOS consensus, however, the
JSON part of it can contain anything you'd want. In the image above, I've sent this transaction to claim my PAL rewards.
Now, whether this happens is outside of Steem's control. Instead, the
JSON part of the
custom_json transaction is what we'd call soft consensus. The app (Steem Engine) is responsible for taking the correct action, in this case claiming my PAL rewards.
Technical example: running a node application which streams the blocks in real-time and takes the appropriate action when encountering a
custom_json with correct id & required_auths.
Since the base transaction is processed via Steem, I'm always able to refer to this transaction, stored on the decentralised Steem ledger, for example, if rewards are not claimed.
In comparison, on Steem you can claim rewards as well, but this is a hard-coded smart contract.
In the end, there is no perfect answer which consensus mode is best. As always it depends on the project & needs. Also remember, the more decentralised/hard consensus something is, the less flexible, dynamic and harder to scale it is.
So, why Steem?
Alright, alright. But why should you consider Steem for your project/business?
Short answer: Because it works!
If you're anything like me, you're looking for products that get the job done.
I recently bought myself a new iPhone (after 4 years of using my old one), not the newest, but the one before that. Reasons were: it's fast, the OS is smooth, the ecosystem is great and it gets the job done. (I tested every other new phone on the market, but wasn't satisfied with the rest, even if specs were better on paper).
And Steem is somehow very similar. There might be other blockchains better on paper, but that's doesn't mean it's better nor that it's the right fit for you.
Here are a few key facts about Steem:
- Strong Governance: Steem Witnesses are a transparent interconnected web of human entities protecting the blockchain dynamically and securely. I can vouch for it, as I'm a witness myself and the communication between us is exceptionally good. If there's ever some kind of security flaw or need to upgrade, updates will be rolled out in a matter of minutes/hours.
- Simple And Cost Effective Soft Consensus: Running smart contracts can be quite expensive. In contrast, doing the same thing via a soft consensus is very cheap. It's not for every use-case obviously, but as I said before: soft consensus is much better than the status quo. And even then, smart contracts can be implemented with another protocol/blockchain or even Steem Engine.
- Very Low Costs (Especially Upfront): You got an idea for an app, but are worried you might spend too much money in gas costs (as on EOS or ETH)? Steem has a freemium system, called Resource Credits (RC). 50 bucks of STEEMPOWER (~200 STEEM) right now, will get you a long way in terms of RCs. You can even lease SP from dlease.io or blocktrades and in the future, the delegation of RCs directly will probably also be supported.
- Strong Community: Not everything went right on Steem after its inception, but there are many people around here for years, sticking with this project through thick and thin. If you launch your project on Steem/with the integration of Steem, you're tapping into a goldmine of prime crypto-users.
- Fast Block Times: On Steem, a transfer takes merely ~3 seconds. This is not instant, but exceptionally fast. Blocks are also irreversible after only 1 minute.
- Ongoing Development: Steem is nearly 21 Hard Forks in, after more than 3 years and more development is in the works. HF21 will be rolled out in August and soon after HF22 which will contain SMTs & more.
- Easy Integration: There is documentation for nearly everything.
- Bonus: Low Environmental Burden: You also don't need to worry about Steem being a burden for the environment. Witnesses run roughly 2-6 servers (depending on the ranking), instead of halls full of mining-rigs. Steem is simply effective.
Want to learn more?
The best way to get started is by heading towards the Steem developer documentation: https://developers.steem.io
For questions, there's a community called
Steem Devs on discord: https://discord.gg/gp7BXp
I hope this blog post sheds a better light on why Steem is a great blockchain for projects to build on & integrate. For further questions, feel free to write a comment below or reach me on social-media.
All the best,
Do you believe that my work is valuable for Steem? Then please vote for me as witness.