I’m sort of confused. Can Cosmos host its own smart contracts independent of other blockchains or is it mostly a tool for interblockchain comms?
Yes. The difference is the following:
You ask if Cosmos can host its own smart contracts independently, yes not only that, it can also replicate the state of other blockchains, but it does not need to. This allows to have many blockchains connected and still do independent things. This also outlines how Cosmos is able to scale horizontally, because you can create subchains, stuff like Lightning in the world of bitcoin, without any protocol changes or whatever. Spawning subchains is intrinsically built in.
Would you be able to use something like C++ in Cosmos as well? Also, what would be the performance of running a “normal” program via Cosmos? Let’s say you were running a social network like Twitter (and assuming we found a solution for data storage).
Been reading about EOS WASM - is that concept meaningful here? Does Cosmos have a similar concept?
Well, the easy answer is “sure, of course”. You can use any language, as long as it is able to talk to ABCI. You can also use Web Assembly if you want. But you are referring to Cosmos here, which is not built to do such things. Cosmos is designed to connect many blockchains and regarding CAP-Theorem favors consistency over availability. For such services like Twitter availability is very important, still this is not the main issue. The main issue is fees. For every transaction fees must be paid. The same is true for EOS. So if you want to build a “normal” program with a blockchain, I don’t think it makes sense to charge new users fees, in a currency they don’t have.
In my opinion programs like Twitter will never be realized in Cosmos. A different story is tendermint, I think it makes sense to realize such things in tendermint and connect it to Cosmos. It will be a different blockchain, allowing for special transactions without fees, but it can (and therefore will be) connected to Cosmos. This is the reason why Cosmos or better say tendermint scales horizontally - you can create blockchains on the same technology and connect it to Cosmos, still able to do payment-crucial things in Cosmos, but normal transactions in your own specifically designed economy.
Finally some words on transaction throughput:
Hi Prawda - how can I get in touch with you?
Thanks Jack! Quick one, do you know if it’s possible to use Plasma Cash with Ethermint to create an Ethereum sidechain?