title_body: How Cardano is different from Ethereum (2.0)? As far as I know, the Cardano project was started to cover issues/problems with Ethereum blockchain. Proof-of-work and governance are some of them.
  However, Ethereum 2.0 is promising to cover those issues.
  So in this context, how is Cardano different from Ethereum 2.0?
upvoted_answer: TL;DR:
  
  Research-led design (102 academic papers to-date)
  eUTXO transaction model (vs. Ethereum's account-based models)
  Formal verification (related to 1.)
  Functional-language-based (Haskell-based) smart contract language and VM (Plutus vs. Solidity)
  Strong presence in emerging economies (Africa and Asia) in order to accelerate economic development and accelerate adoption
  Guarantees regarding cost and executability of a smart contract prior to deployment, avoiding unnecessary gas fees.
  
  
  I'm not an expert, so don't expect this to be a complete answer. But, Cardano is being developed in the context of academia and industrial partnerships. As of writing, the developers of Cardano (and their associates) have produced 102 academic papers formalizing the mathematical behavior of blockchains, generally, and of the delegated proof of stake and extended UTXO (unspent transaction output) model that the Cardano blockchain has spearheaded.
  Related is that a very large emphasis is being placed on formal verification of Cardano's source code/implementation. Formal verification is the process of using software to prove, mathematically, that a certain set of code performs exactly as its designed to. A simple example would be formal verification of a function that calculates the hypotenuse of a right triangle given the lengths of the perpendicular sides. A formal verification system would operate on the source code (not the binary output, I understand) to verify that the routine does compute (and only computes, I think?) the Pythagorean theorem and isn't a virus that you might otherwise execute on your system.
  Related to the above is the development of a function programming language based on Haskell, called Plutus to be used with Cardano's smart contracts platform (also called Plutus). By contrast Ethereum's smart contract language is called Solidity and is loosely based on ECMAScript/JavaScript, Python, and C++. Functional programming languages (LISP, Scala, Haskell) are preferred in environments where algorithmic and runtime safety is paramount, since the use of functions over classes/objects ensures side-effect free programs which are unlikely to mutate in an unintended way.
  Additionally, Cardano is looking to work within a solid regulatory framework. Recently, the Cardano development company announced a partnership with the Ethiopian government to establish a decentralized identity system using the Cardano blockchain.
  Cardano is also working hard in developing countries to bank the unbanked and provide loans and opportunity to historically disenfranchised communities.
  Additionally, the Plutus platform includes, as a design goal, the feature that the cost to execute a smart contract is known prior to deployment (unlike Solidity) and the Plutus platform provides strong guarantees about the runtime behavior of your contract (it will either execute successfully or fail to execute, it won't fail while still incurring fees for partial execution.