What is Ethereum?

Ethereum is a decentralized blockchain platform that establishes a peer-to-peer network that securely executes and verifies application code, called smart contracts. Smart contracts allow participants to transact with each other without a trusted central authority. Transaction records are immutable, verifiable, and securely distributed across the network, giving participants full ownership and visibility into transaction data. Transactions are sent from and received by user-created Ethereum accounts. A sender must sign transactions and spend Ether, Ethereum's native cryptocurrency, as a cost of processing transactions on the network.

Benefits of building on Ethereum

Ethereum offers an extremely flexible platform on which to build decentralized applications using the native Solidity scripting language and Ethereum Virtual Machine. Decentralized application developers who deploy smart contracts on Ethereum benefit from the rich ecosystem of developer tooling and established best practices that have come with the maturity of the protocol. This maturity also extends into the quality of user-experience for the average user of Ethereum applications, with wallets like MetaMask, Argent, Rainbow and more offering simple interfaces through which to interact with the Ethereum blockchain and smart contracts deployed there. Ethereum’s large user base encourages developers to deploy their applications on the network, which further reinforces Ethereum as the primary home for decentralized applications like DeFi and NFTs. In the future, the backwards-compatible Ethereum 2.0 protocol, currently under development, will provide a more scalable network on which to build decentralized applications that require higher transaction throughput.

How building on Ethereum compares to Hyperledger Fabric

  Ethereum Hyperledger Fabric
Public vs. Private Public Private
Permissions Permissionless Permissioned
Governance Decentralized Federated
Consenus Mechanism Proof-of-Work Pluggable BFT
Smart Contract Languages Solidity, Vyper Go, Java, Javascript (Node.js)
Private Transactions No Yes
Ideal Use Cases Tokenization (stablecoins, NFTs), DeFi, public transaction settlement B2B data exchange, transaction settlement, and non-repudiation

Use cases

Decentralized Finance (DeFi)

DeFi is a network of financial applications built on top of blockchain networks. It is different from existing financial networks because it is open and programmable, operates without a central authority, and enables developers to offer new models for payments, investing, lending, and trading. By using smart contracts and distributed systems, customers can easily build secure decentralized financial applications. For example, DeFi companies are already offering products that enable peer-to-peer lending and borrowing, earning interest on cryptocurrency holdings, trading via decentralized exchanges, and much more. Some popular DeFi platforms include Compound, Aave, UniSwap, and MakerDAO.

Non-Fungible Tokens (NFTs)

NFTs are unique and indivisible digital tokens that are useful for proving the provenance of rare assets, both digital and tangible. For example, NFTs can be used by an artist to tokenize their work and ensure that their work is unique and belongs to them. The ownership information is recorded and maintained on the blockchain network. NFTs are also gaining popularity in the gaming industry because they allow interoperability between gaming platforms. For instance, the first NFT project on Ethereum was CryptoKitties, which enabled customers to collect digital cat collectibles backed using NFTs. Gods Unchained is a card game that gives players full ownership of their in-game items using NFTs. NFTs are gaining popularity as more companies look to tokenize assets and provide users with tamper-proof lineage information about their assets.

FAQs

What is an Ethereum smart contract?

A smart contract is application code that resides at a specific address on the blockchain known as a contract address. Applications can call the smart contract functions, change their state, and initiate transactions. Smart contracts are written in programming languages such as Solidity and Vyper, and are compiled by the Ethereum Virtual Machine into bytecode and executed on the blockchain.

What is an Ethereum account?

There are two types of accounts in Ethereum: Externally Owned Accounts (EOA) and Contract Accounts. An EOA is controlled by a private key, has no associated code, and can send transactions. A contract account has an associated code that executes when it receives a transaction from an EOA. A contract account cannot initiate transactions on its own. Transactions must always originate from an EOA.

What is an Ethereum transaction?

A transaction in Ethereum is a signed data message sent from one Ethereum account to another. It contains the transaction sender and recipient information, the option to include the amount of Ether to be transferred, the smart contract bytecode, and the transaction fee the sender is willing to pay to the network validators to have the transaction included in the blockchain, known as gas price and limit.

How can I pay for transactions on Ethereum?

You can pay for transactions using Ether. Ether serves two purposes. First, it prevents bad actors from congesting the network with unnecessary transactions. Second, it acts as an incentive for users to contribute resources and validate transactions (mining). Each transaction in Ethereum constitutes a series of operations to occur on the network (i.e. a transfer of Ether from one account to another or a complex state-changing operation in a smart contract). Each of these operations have a cost, which is measured in gas, the fee-measure in Ethereum. Gas fees are are paid in Ether, and are often measured in a smaller denomination called gwei. [1 ether = 1,000,000,000 gwei (10^9)]

Where can I get Ether, and where do I store it?

You can buy Ether with fiat currency from a cryptocurrency exchange like Coinbase or Kraken. Ether is associated with your Ethereum account. To access your account and Ether, you must have your account address and the passphrase or the private key.

How does Ethereum work for applications?

When a transaction triggers a smart contract, all nodes of the network execute every instruction. To do this, Ethereum implements an execution environment on the blockchain called the Ethereum Virtual Machine (EVM). All nodes on the network run the EVM as part of the block verification protocol. In block verification, each node goes through the transactions listed in the block they are verifying and runs the code as triggered by the transactions in the EVM. All nodes on the network do the same calculations to keep their ledgers in sync. Every transaction must include a gas limit and a fee that the sender is willing to pay for the transaction. Miners have the choice of including the transaction and collecting the fee or not. If the total amount of gas needed to process the transaction is less than or equal to the gas limit, the transaction is processed. If the gas expended reaches the gas limit before the transaction is completed, the transaction does not go through and the fee is still lost. All gas not used by transaction execution is reimbursed to the sender as Ether. This means that it's safe to send transactions with a gas limit above the estimates.

What does signing a transaction mean?

Signing a transaction generates a signature on a transaction using the private key of the transaction sender's account. Transactions need to be signed before they are submitted to the network.

How can I deploy a smart contract on Ethereum?

Transactions can also be used to publish smart contract code to the Ethereum blockchain. You can follow the transaction status with the method eth_getTransactionReceipt, which will also return the newly created smart contract address once it’s included on the blockchain. The resulting smart contract address cannot be chosen, as they are calculated using a hash function and can’t be easily predicted.

What is a hard fork in Ethereum?

A hard fork is a change to the underlying Ethereum protocol, creating new rules to improve the protocol that are not backwards compatible. All Ethereum clients need to upgrade; otherwise, they will be stuck on an incompatible chain following the old rules.

If you are interested in building applications on Ethereum, please visit our documentation page. To talk to the Amazon Managed Blockchain team, please visit our contact us page.