Understanding SMT Features

avatar
(Edited)

understanding SMT features.jpg

Hello Steemians, the SMT testnet has now been running for almost two weeks and SMTs have been enabled since last Monday! That means that, since that time, developers have been able to create their very own SMTs. In fact, @inertia created the world’s first SMT!

What Can SMTs Do?

The SMT whitepaper is still the most authoritative reference for understanding what SMTs can do, but that is far too technical for most people. For those people, the best way to understand the capabilities of an SMT are to understand the capabilities of STEEM. We have often said that the SMT protocol would give anyone the ability to launch their own STEEM-like token, and that was based on a very technical reality.

Thanks to the intelligent design of Steem, it was fairly straightforward to take all of the features that STEEM already had and make them available to SMT creators. In a very real sense, when you launch an SMT it is like you are getting a “Do Over” with the STEEM token.

Token Inflation

Because STEEM was designed to have token emissions (i.e. inflation) you can set a token emissions rate for your SMT. That can be 10%, 23%, 1423% or 0%. But STEEM’s token emissions rate also changes over time based on a graph that was specified during a hardfork. So SMTs have that ability too.

If you can describe how you want your token emissions rate to change over time in a mathematical formula, you can specify that formula when you are creating your SMT and the Steem blockchain will faithfully execute that code. Of course, since that formula is locked in consensus, you can’t change it once the SMT has been launched. That is one of the many reasons developers should thoroughly test their SMT before finalizing its design.

Token Destinations

Because STEEM was designed to have emissions directed at specific accounts, like the Rewards Pool, and distributed to those with vesting STEEM, SMTs have that capability too. You can set a token emissions rate of 10% (or any other number) and direct those emissions to the Rewards Pool for distribution via Proof-of-Brain. You can set a token emissions rate of 35% (or any other number) and have that distributed amongst those who have your SMT powered up.

In total there are 8 “special places” to which the SMT creator can specify token emissions be directed. These are:

#define SMT_DESTINATION_PREFIX         "$"
#define SMT_DESTINATION_ACCOUNT_PREFIX SMT_DESTINATION_PREFIX "!"
#define SMT_DESTINATION_VESTING_SUFFIX ".vesting"
#define SMT_DESTINATION_FROM           unit_target_type( SMT_DESTINATION_PREFIX "from" )
#define SMT_DESTINATION_FROM_VESTING   unit_target_type( SMT_DESTINATION_PREFIX "from" SMT_DESTINATION_VESTING_SUFFIX )
#define SMT_DESTINATION_MARKET_MAKER   unit_target_type( SMT_DESTINATION_PREFIX "market_maker" )
#define SMT_DESTINATION_REWARDS        unit_target_type( SMT_DESTINATION_PREFIX "rewards" )
#define SMT_DESTINATION_VESTING        unit_target_type( SMT_DESTINATION_PREFIX "vesting" )



As you can see, by customizing just a few SMT features, you can create an infinite variety of tokens. That complexity, and how it impacts other parts of the blockchain, was the really difficult part of implementing SMTs. The benefit of the intelligent design of Steem is that we can rely on a huge amount of preexisting code that has already been tested for 3 years: the STEEM code. The reason why SMTs can have as many features as they do is because STEEM has so many features, and SMTs essentially leverage that exact same code.

What Can’t SMTs Do NOW?

While most of the features of STEEM that have been included within SMTs have customizable parameters, one that does not is the Power Down. The benefit of the design approach we took with respect to SMTs is that it enables us to “piggyback” off the security and stability of existing work. With respect to SMT vesting, that enabled us to add a vesting feature relatively quickly. Unfortunately, the work required to enable SMT creators to adjust the vesting parameters would have led to significant delays and we do not think the value added would justify the additional delay. For that reason, SMTs launched with v1 will have 13 week power downs, just like Steem Power.

None of this is to say that any feature cannot be added to SMTs in the future. All of the ICO code, for example, is brand new, since STEEM never ICOed. The decision to develop any code is always the result of a cost-benefit analysis. We want to offer the most secure, stable, and powerful software possible, and these goals often conflict with one another. Additional features which might be quite powerful, can also increase complexity which can negatively impact security and stability.

Designed to be Improved

While SMT v1 is a replication of the STEEM feature set with customizable parameters, we created the SMT protocol specifically so that new features can be added through subsequent hardforks; including features that do not exist for STEEM. V1 consists of those features that give the widest range of capabilities, without introducing too much risk into the ecosystem.

Thanks to Steem’s 3-second fee-less transfers, any capability that does not yet exist in SMTs can be replicated using an off-chain bot. This combination of features means that under the least ideal circumstances SMTs are still a great option for a developer who is looking to integrate a powerful token into their web application, and under many circumstances SMTs will be far and away the best option.

Future Posts

These are just a few of the features of SMTs. We plan to explore more in future posts, so be sure to follow @steemitblog if you'd like to learn more about the powerful features included in SMT v1. To learn more about SMTs, check out the SMT whitepaper.

The Steemit Team



0
0
0.000
78 comments
avatar

Thanks for this post. It's nice to keep it simple!

I have one question.

Could you maybe explain a bit more about what the role of the STEEM token will be once SMT's are out?

0
0
0.000
avatar

Would love to hear more on this as well.

0
0
0.000
avatar
(Edited)

Technically nothing is really changing about STEEM. I think the real answer to your question lies in Resource Credits. I don't think people really appreciate how much Resource Credits fundamentally altered Steem (for the better). RCs essentially guarantee that no matter what anyone does on the Steem blockchain, it benefits all Steem stakeholders. This is slightly simplistic, but essentially the more transactions people perform on Steem, the more RCs are consumed, and the more STEEM needs to be powered up in the aggregate. The RC algorithm ensures that the increase in demand for STEEM won't suddenly deprive people of the ability to transact, and it smooths out the user experience. So the short answer to your question is that STEEM continues doing what it does now; it regulates the consumption of network resources by ensuring that only those who have staked sufficient STEEM are capable of performing transactions. The beauty of this system is that it simplifies our task as a community: create more ways for people to have amazing experiences on Steem. SMTs are just another way of enabling people to have more delightful transactions on Steem.

0
0
0.000
avatar

Does the 'price' of resource credits change with changes in activity levels?

0
0
0.000
avatar

No, RCs have no price

0
0
0.000
avatar
(Edited)

Sure, perhaps I should word that differently. It takes a certain amount of resource credits to perform functions on the steem blockchain, and it takes a certain amount of steem power (SP) to have 'enough' resource credits in order to perform said functions, so my question is, does the amount of SP required to perform the same function change with changes in activity/usage? IE will it ever require more or less SP to perform the same functions as it does right now?

0
0
0.000
avatar

Yes, it is dynamic according to usage.

0
0
0.000
avatar

Also, what's your short answer to rumors that Steem shouldn't be the reward token for curators and authors but give space to SMT's to do that?

0
0
0.000
avatar

The staff seems to be intentionally skirting that question, which might mean that they are considering the idea but don't want to commit to a path on that.

That can be smarter than coming out and saying yes or no on it. If Steem removed the reward pool and SMTs don't perform well the chain is likely going to take such a hard hit to its reputation that it might never recover. On the other hand, if SMTs perform very well, and it seems like removing the STEEM reward pool is a viable path, then it could be a good thing.

Long term, Steem likely needs to remove the reward pool, but doing it too soon can be dangerous.

0
0
0.000
avatar

The reward pool is one of the reasons that the steem blockchain is somewhat less vulnerable to the potential degradation that any DPOS chain can suffer as a result of vote incentivization from blockproducers. That is one of the reasons why I am opposed to eliminating it. @anyx doesn't specifically mention that in his analysis but I think it's a logical conclusion.

https://steempeak.com/dpos/@anyx/how-vote-incentivization-monopolizes-delegated-proof-of-stake

I probably would be ok with a reduction in the percentage that goes to the reward pool but not with eliminating it.

0
0
0.000
avatar

Interesting, but how does it protect against vote monopolization? Also, alternatively, we could solve that problem simply by making witnesses stake STEEM with the potential for it being slashed. DPoS was brilliant in a world where slashed stake did not exist, but at this point in time it might be good for us to take a second look at the witness system and adjust it.

If we changed the witness system we would not need STEEM inflation for posting. Right now we have a system where the top 20 produce blocks and 1 random witness produces blocks but perhaps we could increase the number of random witnesses selected. This could improve decentralization and make the system much more secure against vote monopolization.

0
0
0.000
avatar

Interesting, but how does it protect against vote monopolization?

In other DPOS chains the majority (if not all) of the inflation goes to the block producers. By offering kickbacks they can ensure that the stake that votes for them grows much faster than the one that does not.

Steem distributes the majority of the inflation to none witnesses thus the block producers have little incentive to offer kickbacks to their voters. After all they need to maintain their infrastructure and the witness pay does not leave much room for such deals (they only get 10% of the inflation).

This does not mean that steem is not vulnerable to such degradation of consensus. It just means that it would take a longer time to playout.

0
0
0.000
avatar

Fair enough, but the risk could also be mitigated by relocating the author/curator/commentor rewards to interest rewards. Currently, author/curator rewards takes up about 72% of the inflation with staked interest at 16.8% and witnesses at 11.2% of the inflation pool.

By cutting the author/curator inflation in half, you could have 35% of it remaining and relocated mostly to interest. If 10% went to witnesses and 25% went to staked interest with 37% eliminated, you could keep staked voters in control while making the witness role more lucrative and thus more secure and competitive.

That would mean interest would receive 41.8% of current inflation while witnesses receive 21.2% of current inflation and a cut in total inflation of 37%. Staking for interest, SP and RC delegations could prove more lucrative for stakers, potentially resulting in an increased demand for the supply.

0
0
0.000
avatar

Reducing or eliminating the posting rewards in favor of staking for interest or RC delegations is not out of the question. However, let's suppose that one or several SMTs are succesful.Wouldn't it prove to be more logical to port that model to steem instead of eliminating the rewards pool? We may need to eliminate the ditribution of steem to content creators sometime in the future but I don't see that happening unless we have something to take it's place.

0
0
0.000
avatar

I don't think it would be for the best. I believe many of us are beginning to see that the POB system is best made for small communities and not as an all-purpose voting system. As a previous Steemit blog article brought up, it is not fair to subject art communities to the stake-weighted voting of a whale that does not appreciate art, while an all-purpose stake-weighted system does this.

Let me put it another way, frequently the people interested in something like a stake-weighted curation system leveraging crypto would be crypto investors. In the case of Bitcoin fans, a very large amount of these members are red meat eating capitalists that might not value vegan recipes. In this case, it would be better if we could separate the vegan fans from the steak-loving capitalists that are only interested in curating moonboy predictions. So, the main solution to this problem is to allow for many smaller, sovereign POB systems.

0
0
0.000
avatar

As far as managing different groups of people this can be addressed with the implementation of communities using hivemind but you are probably right if we consider that value distribution using a single token can be problematic if one community has way more stake than another one. I still think that we need another vehicle to distribute steem to as many hands as possible other than just with block rewards and "interest". Maybe we can reduce the rewards pool to a minimum and just allocated to steem related content.

0
0
0.000
avatar

These aren't rumors as much as one potential option for the future. It's certainly not going to be part of the SMT hardfork (or at least that is highly unlikely). But as far as whether it is included in a future hardfork, that will depend entirely on what the community comes to a consensus on.

0
0
0.000
avatar

Thanks for the answer, Andrew.

I guess for the value of STEEM it all comes down to whether we can find enough people, businesses and communities that want to use the network and are willing to pay for it by staking/leasing STEEM.

That leads to one more question I have wanting to ask for a while.

When all the work surrounding SMT's and communities are complete and the features are live. Is finding businesses that want to use these awesome tools something Steem Inc. will pursue or will the focus be on more blockchain development and steemit.com or maybe a combination of both?

0
0
0.000
avatar

This is something we're already doing and would like to do more of. This falls on the non-engineering members of the team and the engineers would still be focused on their products. If anyone has any leads, they can feel free to e-mail me at [email protected]. There's lots more work to be done on Hivemind, SMTs, and Steem core. I expect both Hivemind and SMTs to continue to receive updates for as long as Steem is update-able. As the market discovers new use cases for cryptocurrencies, the features that enable those use cases should be added to the SMT protocol. The potential for Hivemind is unlimited and it can continue to be updated even if Steem were to become un-update-able for whatever reason. This is only one of the reasons why I think Hivemind may be the most potentially disruptive piece of software we've released.

0
0
0.000
avatar

To listen to the audio version of this article click on the play image.

Brought to you by @tts. If you find it useful please consider upvoting this reply.

0
0
0.000
avatar

I am pleased to see this update. Great work!

0
0
0.000
avatar

While most of the features of STEEM that have been included within SMTs have customizable parameters, one that does not is the Power Down.

So there is a 13 week Power Down as with Steem Power?

A paper for directed toward businesses is still required I think. Removing the technical speak around inflation, token destinations, etc, with examples and how to guides would aid non-devs - e.g. the platforms with people already contributing content.

0
0
0.000
avatar

Ugh, unrelated but a change to a 1-2 week power down should be our next hardfork.

0
0
0.000
avatar

How to guides for non devs. We can but dream.

0
0
0.000
avatar

We might have some ideas for ways that it would make it EVEN easier for non-devs to create a token. Maybe ;) Watch our presentation at SteemFest

0
0
0.000
avatar
(Edited)

I shall do that. Sadly, not from the live audience this year!

0
0
0.000
avatar

From a quick look at it, there are a dozen parameters to be set.
Those people, who stay away from anything 'programming' related, will have a hard time understanding, just from text. If they could read that, they could read code to begin with.

I am sure there will be third party UIs popping up quickly enough, where anybody can just use sliders and tick boxes to set up their own token.

0
0
0.000
avatar

Can you please fix the cors header issue for testnet.steemdev.com ?

I get a 403, when I try to connect via dsteem.

Also: will there be updates for dsteem and steem-python ?

0
0
0.000
avatar

.. thank you very much!..be sure that I m willing to learn more about smts and the whole blockchain-thing..respect for your work, real cute job!..I m with the right people..

0
0
0.000
avatar

So there will be no powerdown to begin with... Does that mean rewards can be 100% received into the wallet and not automatically powered up?

0
0
0.000
avatar

There will be a 13 week power down.

0
0
0.000
avatar

Oh, okay, I'm sorry, somehow when I read it I did not catch that. I see now that I misinterpreted the message of that paragraph. We just are not able to adjust the vesting period.

Thanks for the reply!

0
0
0.000
avatar

So one specific token could only change their parameters during a STEEM blockchain hardfork?

0
0
0.000
avatar

No, only STEEM is changed through hardfork. Once an SMT is launched its tokenomics cannot be changed. If you wanted to alter the tokenomics of an SMT you would launch a new SMT and airdrop the new token to existing stakeholders.

0
0
0.000
avatar

While most of the features of STEEM that have been included within SMTs have customizable parameters, one that does not is the Power Down

So there's no power down at all ? Or is it just not configurable (and will be 13 weeks for every SMT out there) ? If it's the first, no possibility for developing incentive for staking tokens then for SMT emitters ? It would seem like a MAJOR feature of Steem and Proof-of-Brain has been forgotten here...

Can part of the inflation be used for a proposals system like Steem has ?

Would it be possible to just distribute inflation equally among all holders of one SMT (independently of individual stakes of said SMT) ?

Thanks in advance for the answers.

0
0
0.000
avatar

It's just not configurable. The power down period is 13 weeks just like Steem Power. It could be made configurable in V2

0
0
0.000
avatar

I assume that a 13 week power down would be unchangeable for SMTs created during V1 even after the implementation of V2?

0
0
0.000
avatar
(Edited)

None of the SMT paramaters can be changed after creation. The natural upgrade path for SMTs to make these kinds of changes is to create a new one, airdrop on 1:1 basis to existing holders, and the encourage the community to switch. How readily a community might or might not switch and the ability of the SMT creator to encourage such switching will vary depending on the situation.

0
0
0.000
avatar

@tipu curate
!trdo

Posted using Partiko Android

0
0
0.000
avatar

I hope someone would post an elaboration of this post in simple terms for those who know nothing about technical terms about this matter like me, most steemians are.

0
0
0.000
avatar

If all SMT tokens have the same Power down period of 13 weeks, this is the tragedy of SMTs ecosystem.

I hope to see the features for each SMT token to set its own unstake period in v2. This can be the most important factor in determining a success of SMTs.

0
0
0.000
avatar

I also hope that the SMT tokens will not have 13 weeks power down periods. If yes, then some of the Steem Engine tokens are already better than them. For example PALcoin (PAL). The power down (unstake) period of that coin is only 4 weeks.

0
0
0.000
avatar

Plot twist ~ the top 20 witnesses reject SMT hardfork stating 'it is inconvenient and immoral'. There is only one Steem.

0
0
0.000
avatar

The more likely concern would be over quality of the code base. This is an enormously complicated upgrade, probably 10x or more new code compared to the last few and those had their own share of quality problems to the point of crashing the chain more than once.

0
0
0.000
avatar
(Edited)

Hmm. Glad it isn't being rushed.

Closer inspection from our team of highly esteemed developers and blockchain analysts reveal the new SMT code is little more than an encrypted video of (meme contest time)
We have our doubts this update will be a smooth one.

0
0
0.000
avatar
(Edited)

Looking good 👍🙂

SMT's are about to touch down, and steem is about to take off 🚀

0
0
0.000
avatar

Is it possible to issue more tokens of a SMT after launch not via inflation? This is important if someone wants to make SMT backed by other currency or commodity.

0
0
0.000
avatar
(Edited)

This will probably come with the future versions as they're focusing on simplicity and shipping SMT's out right now.

What I wonder is do my websites users need Steem also for RC's to interact or will SMT's be enough? How does all that work?

0
0
0.000
avatar

They will not need Steem because the SMT hardfork contains resource credit delegation pools. After the SMT hardfork, RCs can be delegated to anyone with a Steem account.

Actually no this probably won't come in future products because SMT parameters cannot be altered post launch. There are better ways to achieve this objective. 1. At launch fill an account with extra tokens which you can choose to release onto the market whenever or burn. 2. At launch create an account and set it to fill with some amount of token inflation. You can then choose to put these tokens on the market or burn them. 3. If you decide you need to adjust the tokenomics of your token (like the inflation rate), you can release a new version of your token (E.g. TokenName v2) and airdrop new tokens to your existing stakeholders. If you want to make arbitrary changes to a token, it should be a soft/emergent consensus token.

0
0
0.000
avatar

I see, thanks for the answer!

0
0
0.000
avatar

It is unbelieveable, wow.
Exiting.
Hopefully there will be a SMT for dummys seminar post series somewhere ?
??? ???

0
0
0.000
avatar

Congratulations @steemitblog!
Your post was mentioned in the Steem Hit Parade in the following categories:

  • Comments - Ranked 6 with 60 comments
  • Pending payout - Ranked 3 with $ 61,34
0
0
0.000
avatar

I just noticed that the payouts on the blog posts of @steemitblog are no longer declined. 50% goes to @null and 50% goes to @steem.dao since approximately 1 month. I think that this is a good move.

0
0
0.000
avatar

developers should thoroughly test their SMT before finalizing its design.

how?

0
0
0.000
avatar

Steemit ROCKS!
Thanks for all your hard work creating SMT's, reading the whitepaper now.
MAY YOUR HEALTH BE WITH YOUR 2.png

0
0
0.000
avatar

This is super exciting, I can hardly wait to try out some design ideas so we can utilize tokens along with our IPFS web app. Sounds like the SMT launch is a few months away?

0
0
0.000