I originally wrote this over on steemit.com, you should sign up to there too and cross post so you are able to earn more crypto! https://steemit.com/ethereum/@truthforce/bitcoin-and-ethereum-for-dummies





To everyone not paying attention, Bitcoin has been on a downward trend.

Ever wonder why?

One of the reasons is that there isn't really anything significant going on with Bitcoin development beyond the Lightning Network meme!

An easy way to explain it is with a direct example. Ethereum Classic(ETC) is literally the original Ethereum chain but wasn't able to create a dominant position. Since all of the developers/coders/teams/groups are all working on Ethereum(ETH), that chain continued on and is the dominant chain with all of the functionality/developments. ETC has nothing going for it and will not ever be able to overtake ETH chain ever again.

BTC has nothing going for it(unless you count Lightning Network with a few thousand to hundred thousand maximum users as something significant). So in this situation we are in a reverse scenario. Bitcoin Cash has all the potential due to Gavin Andreson working on Graphene, while we have other people successfully testing 1 TB blocks. https://people.cs.umass.edu/~gbiss/graphene.pdf and https://news.bitcoin.com/7-million-transactions-a-second-research-paper-declares-1tb-blocks-feasible/ -- And there is talk of enabling OP codes on Bitcoin Cash so that Smart Contacts can be enabled again(which if you remember Vitalik left being a bitcoin dev to make Ethereum due to this).

Bitcoin Core has OP codes disabled so that there are no Smart Contracts available, the future is Smart Contracts. Just having something that can be used as a currency is fine, but it isn't what the majority of people are going to use in the future. The future is going to be from the massive business world(who need smart contracts) + gaming community coming onboard with ETH, games like cryptokitties prove that people will spend thousands of ETH per day on a simple game. Once more complicated MMOs and RPGs and loot based games come out you will see a lot of people who switch to playing ETH based games because they can make money. This would be REALLY NICE TO HAVE ON BITCOINCASH, if they re-enable smart contracts!!!! We are years behind ETH devs as they already have so many code libraries and teams working on stuff in this capacity.

Ethereum has a lot of potential demand from the business world and gaming world.

ETH based games solve the problem of being banned for selling online WoW/Runescape/Guildwars currency/items from the game. People get banned permanently for that kind of thing. Whereas ETH based games encourage the sale of assets through exchanges like 0x or Etherbay(which take a minimal fee).

ETH based assets for in-game items are ERC720 and ERC721 items, while ERC20 is the fungible token(which means token x is always token x, it is exactly the same, 1 ETH is always 1 ETH no matter where it came from). The ERC720 and 721 tokens are particular items, where a game might have 100s of different kinds of sword for example, they would make 100 different ERC720 or 721 smart contracts. When someone wants to buy a sword from the shop, they would send ETH to the smart contract address, the smart contract then processes the transaction and outputs the sword as an ERC720 or 721 and the player now owns it. They are free to do with the sword as they wish, and could sell it to another player later if they want to.

BitcoinSegwit is years behind in having any smart contracts(as they are disabled). Ethereum has had more transactions per day than BTC for awhile, it also is cheaper fees per tx as well. Major upgrades coming with POS this year + Sharding/Plasma are going to eventually make BitcoinSegwit completely irrelevant(and likely Bitcoin Cash if we don't get smart contracts going).

Vitalik used to be a bitcoin developer and left specifically because the bitcoin core devs/blockstream devs lost their way/corrupted by money from corporations. Vitalik knew he couldn't integrate smart contracts on bitcoin because of the toxic culture and how they disable all of the OP Codes he needed to make smart contracts. So he made Ethereum. Think about how many tx could be on Bitcoin right now and how big it would be to have those millions of ETH tx per day and smart contracts, BTC could very well have been hundreds of thousands of dollars each right now with very low fees and expanded block size.

Lightning is a meme. LN requires users to be online at all times to receive a payment, an absolute joke when compared to Ethereum's Plasma.

Plasma is a way to create a blockchain (as a set of smart contracts) within a blockchain, by simply committing the root hash of the "meta" child chain (Plasma) on the main chain (Ethereum).

The child chain acts kind of like state channels on steroids, and only the final state transition hash is committed to the main chain. If someone commits an invalid plasma state transition hash/block, the protocol incentivizes committing "fraud proofs", where parties who are interacting in the child chain can show that someone behaved maliciously, and penalize them, reversing the faulty transition.

The child plasma chains can themselves also have child plasma chains, and those chains can have child chains, etc... this "tree" of chains can be reduced through MapReduce, such that billions of transactions/state transitions can be trustlessly/verifiably encoded as a simple hash commitment on the root chain.

Lets not forget about Sharding either!

Sharding is a way of splitting possible accounts and contracts into a subspace based on certain factors, an exmaple being splitting all addresses starting with 0x111111 into a shard. Every Shard has its own set of validators(requires Proof of Stake implementd first), and these validators will not normally need to validate all the shards(so you can see how it becomes more efficient!). Transactions between accounts within the same shard would work in the same way as they work today.

For the contracts wishing to communicate across multiple shards they will have to employ special techniques that are based on the concept of transaction receipts. The crucial difference between calling a contract directly and verifying the receipts is that for direct call you need to run the code of the contract you're calling. And for verifying a receipt you only need to be sure that receipt cannot be produced by anything else than the transaction you want.

Accepting a payment in tokens managed by a different shard, you would have to generate the payment ID and give it to the payer, ask the payer to pay in the remote shard with payment ID, and show the receipt. Sharding allows scaling Ethereum further, because not all nodes of the network will have to execute all of the transactions.