Those are two cool updates, thanks for that.
On the "soft consensus" vs smart contracts argument, well, that's just dishonest. Soft consensus is nothing new or exciting. Soft consensus is nothing more than a receipt that you are owed something, it isn't in and of itself possession. The truth is that if you don't possess the asset (due to on-chain execution) you might have to sue to get what is yours, and that doesn't always go well.
If your fancy digital asset is recorded on the Steem blockchain in soft consensus but actually exists on a centralized server that one day shuts down or gets hacked, its gone. Sure, you can look back at your Purple Demon Staff of Purple Doom recorded on the blockchain, but it will be nothing more than a reminder of what you no longer possess...
Soft consensus is allowing us to do some cool things, like connecting Steem Engine data to Steem. Nevertheless, SE assets are not as secure as ERC20s on Ethereum and run the risk of not actually existing on Steem if something terrible were to happen to SE.
Saying that:
"We do not believe that blockchain’s superpower is 'smart contracts'"
Then saying:
"Steem’s superpower is that it reduces the cost of Soft Consensus to a fraction of what it would be on any other chain"
...is kind of like saying the gold of the gold-backed US dollar was not awesome, but these shiny new US dollars that are not backed by gold are awesome because you don't have the same limitations as gold-backed USD.
Look, I'm not out to be a dreary drew, but I just feel the need to point out the obvious logic error here. Its like trying to suggest to people that something less secure is better than something more secure simply because its cheaper. Of course its cheaper, you're not paying for security.
Steem does some things very well, but it doesn't do smart contractions, and soft consensus is no substitute. People are trying to make the same claims for Bitcoin, but reality is that you can never secure more things on Bitcoin than bitcoins. Sidechains can lose their peg and are responsible for their own security.
Bitcoin and Steem are application-specific blockchains, nothing wrong with that. Blockchains can be valued with limited applications. However, pretending that they can also be all-purpose blockchains like Ethereum too is just inappropriate.
Well, that's not true, although the means of inserting data into the ledger is not one specifically stated as intended in the white paper. Various DLTs are now being used as the basis for data storage and exchange, such as Tether being used by Blockchan, and keys for deadmen in... er, I'd better not say.
A small transaction is required, but the keeping of extraneous data is rapidly becoming a feature of DLTs.
Isn't soft consensus more like doing double entry bookkeeping without the difficulty of undertaking doing inventory at the same time?
Thanks!
It depends always on the use case, if the code is open source, and a server is only there to make it perform well then it is a valid use case of softconsensus. Everyone can verify it, and everyone can create their own server with valid data if they wanted to as well as own frontend.
If it is not open source it is more complicated, then the things can be verified but in the end the company can still just stop existing the and the userbase might need years to develop an alternative to run on the past data.
But in the End, smart contracts end up being open source because they are deployed on the blockchain as well. So it don't think its good to compare non-open-source consensus projects with open source smart contracts
True that if it is open source then it would be distributed. However, it is not autonomous or perpetually tangible, which I think is very important. The only way to obtain these valuable features is to create a replicating state machine for these items recorded by Steem, but that means the use of Steem becomes unnecessary.
The value of on-chain execution is that your asset is preserved by a replicating state machine and thus perpetually tangible. Ethereum caused the intangible to become tangible. Soft consensus does not do this, but rather it only serves as a back up receipt of authenticity.
I suppose soft consensus is good if you want everyone running their own servers, or design a system that rewards people for running servers, but then the cost would go up and it would be no different from on-chain costs. In this way, I could see something being built on top of IPFS. However, I still argue that smart contracts are better, because you don't have to run your own server.
Thanks for sharing your comment. :)
I think the main difference between the two models is scalability. Smart contracts very difficultly scale well. If you look at the most scalable proposals of smart contracts at the moment all of them shard the public network and execute the state machines on a reduced subset which in the end also results in reduced decentralization.
So, either you have a model which doesn't scale at all (Ethereum) or you got a model which scales decently (Algorand) but is less decentralized and easier to attack, or you got a model which scales very well (Steem - "soft consensus") but you need to run it yourself and people have to verify things externally before trusting the values.
I did some comparisons in terms of price and ease in my last paper, and executing things on Steem via soft consensus was ridiculously cheap even if you add the server renting costs together.
This is just wrong. It is perfectly possible to create a soft consensus system that is fully autonomous and as with a fully decentralized blockchain, has no one to sue who could possibly help you in moving on-chain assets contrary to the consensus rules.
I prefer the term embedded consensus as soft consensus implies it is somehow weaker or less secure, which is not the case.
I guess (though I haven't really studied them in detail) we have some half-baked soft consensus-ish systems on Steem that are semi-centralized or even fully centralized and this leaves the impression of soft consensus being far less capable than it actually is.
You can have at least 2 types of 2nd layer platforms built on top of steem:
A subchain (that can be a smart contract platform) that has it's own peer to peer consensus rules that only includes operations that are considered irreversable on steem. Such a chain would be slower by nature but the advantage is that any bugs or forks would not have any negative effects on the the main chain.
A second layer where everyone that uses it agrees that if an operation follows certain rules it is considered valid but...there is no peer to peer consensus mechanism built in. Steemnonsters is an example of this type of solution.
The later is not much different than a private transaction conducted between two parties. It's no different than paying someone for a product or service using steem (or any other crypto) but if they don't deliver I have no way of enforcing it on chain (although with steem you could use the escrow function to delay payment until the product or service is delivered).
You could even build some very fancy apps using a combination of escrow, multisig and the hierarchical nature of the key structure of steem along with the secondary interpretation of data that "soft" consensus brings.
Pretty much agree with everything you said. It is a helpful clarification.
Yes and indeed it may indeed be possible to prove this is entirely as powerful as any native smart contracts (for example, with appropriate bonds and penalties to require that participants take the actions which the 2nd layer has determined should be taken).
However, I still argue that allowing simple smart contracts is preferable because that is what many developers want. Give them alternatives with cost, etc. advantages (carrot), not a lecture from the #80 chain on how their whole approach is wrong (stick) and they should abandon everything they think they know about decentralized applications because we (supposedly) know better.