Comparing Steem Engine to dstors and dlive

6개월 전

Remember when @whatsup mentioned dstors and dlive in the same post? It didn't go well. The project self destructed after a few pointed questions. Nice going, @whatsup (kidding). So I have an idea ... let's try the same process on another project: Steem Engine

Will it self destruct at the mere mention of some pointed questions too? Spoiler: I highly doubt it.


The Good:

  • They're not asking for delegation - Not that there's anything wrong with asking for delegation. But that's not on the table so it's a non-issue.
  • It's not a fancy bid-bot-with-extra-steps. - Related to delegation, there's also nothing inherently wrong with this either, even if it's your only value proposition. Again, non-issue.
  • It's on the blockchain. - Create/issue/transfer tokens basically on-chain ... sort of. This is good, though because it's showing the utility of Steem to provide solutions.
  • It has UI. - You don't need to be technical to create a token. Nice.
  • It (might) indirectly strengthen Steem Monsters - If you've invested in Steem Monster cards, research being done on Steem Engine will in theory trickle into Steem Monsters, where applicable.
  • The code is on github - It's right there, or at least a version of it. Still, it's a big plus. [1]
  • Responsive and nice developers. - I grilled them and they didn't cave. They didn't hurl insults. Their answers made sense. In fact, they were receptive to my suggestion about batched actions. [2]

The Bad:

  • No whitepaper. Is that a deal-breaker? No. In fact, they do have a nice FAQ, so maybe that's a non-issue. But it'd be nice to see what their revenue model might be.
  • It claims to be a sidechain yet the industry hasn't really defined exactly what that is. But the industry isn't old enough nor established enough to come together to agree on terms. Does that mean sidechains are bad? No. No more than it means Blockchains are bad because the industry hasn't fully defined them either. We may think we know what a sidechain is. It just means that Steem Engine is in uncharted territory.
  • It claims to execute smart contracts, but requires a trusted node, thus, not a smart contract. Again, "industry standards" have to be invoked but I think using the term "smart contract" is actually the least accurate claim. A real smart contract executes with public code and confirms cryptographically. These "actions" execute on a trusted node somewhere, and that's all we know for the moment. Steem Engine might eventually have fully realized smart contracts, if other pieces come together.
  • No validation nodes have been defined let alone incentivized. Nodes are defined in a general sense, but not specifically for Steem Engine contracts. This means only Steem Engine is the authority for the tokens they've issued. Is this actually bad? I could be convinced it's not bad, but it leads to the next issue ...
  • Not fully decentralized. I mentioned in The Good that it's "on the blockchain." But if that's true, then how is it also centralized? Because validation nodes and peer-to-peer consensus have not been defined, yet.

I may have categorize these as "bad" but I don't think any single item here is a deal-breaker.


The Ugly

I just included "The Ugly" because of that one cowboy trilogy. I don't really think there's anything particularly ugly here. Certainly no more ugly than anything else in software development.

The devs involved in Steem Engine are responsive and knowledgable; so far, my interaction with them has been the complete opposite of ugly.


Unfair Comparison

How does this compare to dlive? Not at all, really. Dlive wasn't ever on the chain in any meaningful sense.

What about dstors? In theory, they were going in the direction of on-chain ... or something. It's not really clear, dstors was all vaporware. It's dead and was never actually on the chain either.

Look, the title is clickbait, ok? 😏


The Pointed Questions

I promised pointed questions. I just wanted to make sure we were all on the same page with terminology, first. So here are my questions followed by answers given to me by the Steem Engine team:

Q: What is the revenue model for Steem Engine?

A: Currently the revenue model is selling ENG tokens which are needed to create new tokens on the platform and will be needed for other things on the platform in the future as well. ... Currently ENG spent to create new tokens are burned.

Q: Is this model enough to support future development?

A: That depends on many factors outside of our control, however there are a number of potential options to support future development if funds from the project itself are not sufficient. Ultimately, as long as this project is providing value to the Steem platform it is likely it will continue to be developed.

Q: In what sense is Steem Engine decentralized?

A: The software is open source and available for anyone to run and is not reliant on us or any other entity.

Q: How do third-parties validate?

A: Until a proper consenus layer is added, people can query the nodes in two different ways and compare the results of these queries:

  • pull each block of the sidechain [3] of each nodes and compare their hashes
  • perform random queries against the database of each nodes and compare the results

Q: How will [third-party validation] evolve moving into the future?

A: Our plan is to add new built in features, such as the internal market to trade the tokens against STEEM, to open it up to running third-party smart contracts, and to build out the p2p consensus mechanism.

Q: Are there code repositories related to Steem Engine that have not been published?

A: All of the software is currently published and open source.

Q: To what extent will Steem Engine support third parties who want to run their own validation nodes so they can do things like execute arbitrary contracts that deal in Steem Engine tokens, but without directly involving Steem Engine's infrastructure?

A: The Steem Smart Contracts software that runs Steem Engine allows for users to publish arbitrary smart contract code, similar to platforms like Ethereum and EOS. Until that feature has been fully tested and a fee structure put in place the software being run on the main network sidechain we are calling Steem Engine (id: ssc-mainnet1) only recognizes smart contracts published by the @steemsc account which we control.

Q: In other words, to what extent must third parties rely on Steem Engine to execute contracts, if at all?

A: If certain projects would like to publish their own smart contract on the Steem Engine platform, we will work with them to develop and test the smart contract and publish it for them from the @steemsc account.

Q: With the known caveat that in the early implementation, being that Steem Engine has declined to execute arbitrary contracts, if a third party wanted to side-step this limitation and just move forward using the same basic tooling, would they just be considered a competitor sidechain to Steem Engine and would that hinder cooperation?

A: Anyone is free to run their own sidechain with a different ID and modify they code as they see fit, just like anyone can run their own Steem chain; however, in that case their smart contracts will only be able to interact with tokens and other smart contracts on their sidechain and not with the tokens and contracts on the main Steem Engine chain.

Q: Why is Steem Engine currently using native JSON floating-point in contract payloads?

A: In the end you will need to convert the string to a number so @harpagon chose to go with numbers directly.

Q: If you're using JSON specific types, do you intend to publish which JSON Schema you're adhering to?

A: This is standard JSON that’s available with native javascript.

Q: Will merely holding ENG tokens ever provide benefit to the holder (I'm specifically wondering if ENG would ever be a staking token or if it's just a "GAS-like" mechanism (i.e., ENG must always be consumed to create/issue/transfer other tokens))?

A: That is TBD at this point.


Conclusion

In my opinion, this is not a smart contract solution. Instead, it's better described as what Vitalik referred to as a general purpose oracle:

The oracles would run the code, and if the code execution leads to a withdrawal from the contract to some particular address then the oracles circulate a transaction sending the funds and sign it.

What it boils down to is, what are your expectations? Do you want to issue a token that is tracked on Steem? This is great. Can the technology be used for other things? It already is and seems pretty stable.

Is it cryptographically verifiable and fully decentralized? Not yet. But I guess you gotta start somewhere.



Footnotes:

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
STEEMKR.COM IS SPONSORED BY
ADVERTISEMENT
Sort Order:  trending

flag and ragequit!

But in all seriousness, I want to address a few of the points you made.

No whitepaper...But it'd be nice to see what their revenue model might be.

A whitepaper takes a ton of time to put together and that would delay actually getting a project out there to a community that has been waiting over a year to make simple tokens. As for a revenue model, aggroed and I are top 20 witnesses...lots of people ask what the top 20 do with their earnings. Well for us, this is one of things we do.

It claims to be a sidechain yet the industry hasn't really defined exactly what that is.

It's a separate chain of blocks created based on data from the Steem blockchain. If that's not a sidechain I don't know what is. In any case, like you said there are no real definitions for any of these terms, and I don't know of anything that more closely and simply describes what this is than "sidechain".

A real smart contract executes with public code and confirms cryptographically. These "actions" execute on a trusted node somewhere, and that's all we know for the moment. Steem Engine might eventually have fully realized smart contracts, if other pieces come together...Nodes are defined in a general sense, but not specifically for Steem Engine contracts. This means only Steem Engine is the authority for the tokens they've issued.

This one I really don't agree with, or maybe I just don't understand the issue.

Anyone can run the node software themselves and independently execute and verify all of the "smart contracts" used by Steem Engine. Additionally all of the smart contract code is public, so I don't see how you claim that "only Steem Engine is the authority for the tokens", or how "the actions execute on a trusted node". The actions do execute on a node, just like they do on any other platform, but it doesn't have to be trusted. Anyone can run their own node and validate the results compared to our node.

Not fully decentralized

This is really the same as the previous point. There's no reliance in any way on a central entity to run this thing. Yes, the steem-engine.com website is a centralized site, just like steemit.com is, but the software is published and anyone can run this thing. It has zero reliance on us at all. I'm not sure what your definition of "fully decentralized" is, but I think this seems to fit.

·

!dramatoken

·

Anyone can run their own node and validate the results compared to our node.

You are the one with control over @steemsc actions and funds. What happens if you stop performing operations with this account? Well, all the token economies will collapse. Also we have to verify your transactions, we cannot just trust you implicitely. This is why you cannot call it decentralised. I understand you are very enthusiastic about the project but I don't agree how you market it as decentralised.

Please take this as constructive feedback and if you can solve these issues, I will be the first one to create tokens.

Posted using Partiko Android

·

It's a separate chain of blocks created based on data from the Steem blockchain. If that's not a sidechain I don't know what is. In any case, like you said there are no real definitions for any of these terms, and I don't know of anything that more closely and simply describes what this is than "sidechain".

By that definition, one might assert that hivemind is a sidechain. It even has a table called hive_blocks and that table has the block hash. So on a cursory view, it's a sidechain.

I say cursory because in all seriousness, I agree that hivemind is not a sidechain. The blocks it tracks are not its own blocks.

But it does have some of the trappings. It follows the Steem blockchain and creates its own index based on custom_json and other types of transactions.

So what makes steem-engine a sidechain and hivemind not? For instance, if hivemind added columns to calculate and track the hash of the block on its own, would it suddenly become a sidechain?

·
·

Look the definition of Dan Larimer of what is a side chain back in 2016:

A smart contract on Steem can use side chains. A side chain is really a fancy way of saying a multisig account where the transactions that should be signed are agreed upon by consensus and then signed by multiple independent parties as defined by a smart contract. Steem Smart contracts can interact with the rest of the Steem blockchain just like any other user can. The smart contract consensus algorithm will generate and sign valid Steem transactions which get included in the Steem blockchain.

This definition make sense for me, meaning that a side chain should be able to perform transactions (like transfer steem) in the mainnet using smart contracts.

Steem Engine is almost that. It still needs a central actor to use real steem, not with multisignatures.

·
·
·

I think what Dan is saying is that implementing a side-chain next to a main-chain, where the main-chain itself already has smart contracts, is trivial due to multisignature (side-chains in Easy Mode).

Steem Engine is setting up a side-chain in Hard Mode, without a main-chain smart contract system. Then, in its own side-chain, it defines a smart contract system within the side-chain.

Without the benefit of main-chain smart contracts, Steem Engine needs to establish consensus some other way. This external consensus could possibly leverage side-chain signatures in some way. E.g., when a block is included in the side-chain, it's signed in some way by a block producer. I'm not sure if side-chain multisignature has a role in block production in this scenario.

We already have main-chain multisignature, but by itself, multisignature is not a solution without main-chain smart contracts.

By the way, check this out.

·
·
·
·

Thanks for the link with the history of changes.

I'm not sure if side-chain multisignature has a role in block production in this scenario.

Suppose that the actions of @steemsc are made by consensus between several parties, like the witnesses of the side chain. In this scenario, @steemsc is a multisignature account, and one action requires 17 of 21 signatures to be performed.

The authorities (active/owner) of @steemsc are updated in the main chain as the witnesses change in the side chain.

I think that it is what Dan is saying in his article. In fact, he is saying that this is the way Lisk is working, and that we could do the same in steem:

Lisk relies on 3rd party multi signature solutions to evaluate the code and authorize any transfers out of the smart contract.
...
App developers could use Steem and BitShares to implement smart contracts via Side Chains in the same manner

·


You've got DRAMA!

To view or trade DRAMA go to steem-engine.com.

Great feedback. Thank you for your comments I hope you die in a fire.

As I mentioned on the State of Steem broadcast on MSP-Waves making software and physical products is an inherently different process. With products you have to ship something that's perfect and 100% finished so the public accepts it. With software the goal is to get the MVP out and iterate on top of it (assuming anyone is interested). I think we have a great product here and one that's going to make people a lot of money, but agree for sure that on the very first day of this thing going public there's still room for improvement and new features (Dex and Distribution are next).

You do seem to recognize these things with inclusion in your post words like "yet." So, this previous comment isn't necessarily directed right at you, but in fact towards the readers of this post.

The revenue model goes something like, sell a dirt cheap token and make a lot of money selling legal services around it. Prices are still getting determined, but the legal registration stuff is likely to come in between $10-20k. This may sound like a lot of money, but compared to the upside it's tiny. I played a lot of poker in my life so when I thought through doing the exact same process with Steem Monsters I thought "I'll bet $10k that if I can legally raise up to $5M/yr that I'll make this money back and then some while also not risking clawbacks, fines, or going to jail." If an app and a team are any good then your pot odds are fantastic.

Additionally, the token creation itself is cheap, but we're looking forward to selling optional services for initial and ongoing distribution. These are things that have to get done, but don't have to get through us. We'd just be providing a service and a trusted place for an active key running some scripts.

If all that fails we'll sell vapes on the site.

·

Yep, I agree. If someone produced exactly the same MVP as you, but only backed it by a simple database with no plans for a true sidechain or smart contract, it would still have loads of value.

I got lost in a great deal of the blockchain techno-speak, which is motivating me to learn more. I think it is great that you were able to ask pointed questions and receive direct answers. Thank you for providing this information about @steemengine. Lots of stuff, lots of great stuff going on in the Steemiverse.

Not the sharpest crayon in the box, but this article has inspired me to learn more about blockchain, smart contracts, gas and such. After reading this post, it reminded me of a quote by a very smart man...

I never teach my pupils. I only attempt to provide the conditions in which they can learn.   —Albert Einstein

Thanks for your feedbacks @inertia, we really want to make this tool better and are willing to change it and improve it!

The next major item on my list is definitely the consensus layer, this is complex but also fascinating and I hope to see feedbacks and why not ideas on how to achieve that part the best way!

·

Why does everyone think consensus is hard? Old fashioned poker solved this long ago... Everyone holds a gun under the table pointed at one of the other guys and you have an immediate consensus about the rules of the game. Its a POS system and definitely trustless.

Haha... Nice and I bet they will not flag this and call you names either! :)

I think I have a token to try on this... :)

It's a young industry so language and even features will continue to be delivered.

·

How about a smart contract prediction market to predict flags?

·
·

Now that sounds fun. You code it, I'll pitch it! :)

·
·

That flag must have been 400:1 odds. Someone would have cleaned up!!

Could I bet on myself?

·
·
·

😂

·
·
·
·

I call a truce. Flag war reparations have been negotiated.

·
·

With smartcontract that can be done on Steem now :P

Great content, thanks.

For me the ideal way to create a token would be to send some STEEM to @null and specifying the token supply and other characteristics in the memo field.

That means my token would have from the start an implicit value I have chosen: the burned STEEM coins I paid for it.

Posted using Partiko Android

·

What I want to see is an Enjin style capability of minting and melting the tokens. This way if a token became worthless the token would still be able to be melted back into Steem.

I am all in, this is fun.
It will remain to be seen how distributed this is, so I guess we will wait and see. (Not very..)
I can definitely see this taking a place, as a trusted business that sits beside STEEM.

This story was recommended by Steeve to its users and upvoted by one or more of them.

Check @steeveapp to learn more about Steeve, an AI-powered Steem interface.

Lots of great information to consider but the thought of just finally having a deployable token is encouraging as it is the single most demanded feature of the blockchain right now. Projects will ultimately line up to find ways to execute their roadmaps without depending on a centralized source.

Posted using Partiko iOS

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.

Great post @inertia. Steem-engine looks promising to me and personally I am doing some hands on with it atm. It would also be great to have a review of swapsteem by you. Please consider it.

Posted using Partiko Android

All kidding aside this is actually a good way of doing things @inertia I like these questions asked.

·

Right? Even unfair comparisons have their place. Everyone comes at this with different levels of understanding.

It claims to be a sidechain yet the industry hasn't really defined exactly what that is. But the industry isn't old enough nor established enough to come together to agree on terms.

I think this is where I have questions as well. It may not be what other people in the space would consider a "side chain".

And that alone could create unfortunate misunderstandings and FUD along the way.

·

You want to know how bad the definition of sidechain is?
Namecoin(yes the first altcoin) is the world official sidechain to Bitcoin based on Satoshi's and the dev words...
As such merged mine=sidechains
Blockstream then made the term more popular by the use of pegged sidechain-a separate blockchain with an asset of an established one.
This was the merged mined papers.
Merged mine=sidechain still here
The Federation based sidechain paper came when finding and making a pegged asset "trustless" was found to be hard. It can be done at different costs see Drivechain.

At here is when Sidechain=merged mined ended and the essence came a blockchain that helps the original asset and favors it.

The next generation sidechain came when Extenstion blocks came during the great scaling wars. This would be an opt code in which some nodes can download and accept this "sidechain" like blockchain along with main chain and other nodes would only count main chain.
This idea was revived when Litecoin Foundation annoucned it was going to add Mimblewimble to Litecoin via extension blocks.

So at the root-the basic idea of sidechain is that as long the blockchain helps the original asset and is built on using the original asset as well.

·

We're creating a separate chain of blocks based on data on the Steem blockchain...if that's not a side chain I don't really know what is!

·
·

Intuitively, yeah.

But, we all know crypto space can be finicky. Lol

Thanks for asking the tough questions and sharing. While I dont understand everything Im sure if smts are continually delayed this will continue to be developed and some of the concerns fullfilled.

Hi, @inertia!

You just got a 1.34% upvote from SteemPlus!
To get higher upvotes, earn more SteemPlus Points (SPP). On your Steemit wallet, check your SPP balance and click on "How to earn SPP?" to find out all the ways to earn.
If you're not using SteemPlus yet, please check our last posts in here to see the many ways in which SteemPlus can improve your Steem experience on Steemit and Busy.

This post has been included in the latest edition of SoS Daily News - a digest of all you need to know about the State of Steem.

I wonder if ENG could be made to be a governance/DAO based token making Steem engine more "decentralized"

At least dlive isn't a scheme of the rich get richer. steemit is dead

Hi @inertia!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 6.581 which ranks you at #147 across all Steem accounts.
Your rank has not changed in the last three days.

In our last Algorithmic Curation Round, consisting of 233 contributions, your post is ranked at #1. Congratulations!

Evaluation of your UA score:
  • You've built up a nice network.
  • The readers appreciate your great work!
  • Great user engagement! You rock!

Feel free to join our @steem-ua Discord server