0% found this document useful (0 votes)
41 views31 pages

BBM - 25 02 2020

Uploaded by

Bschool case
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views31 pages

BBM - 25 02 2020

Uploaded by

Bschool case
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 31

Blockchain in Business

and Management

A.K. Swain

IIM Kozhikode
Ethereum
What is Ethereum ?
Ethereum is a global decentralized platform that runs smart
contracts: applications that run exactly as programmed without
any downtime, fraud or any sort of regulations.

The core idea was simple: a blockchain with a built-in


Turing-complete programming language, allowing users to
build any kind of applications on top.
Vitalik Buterin

There is nothing that bitcoin can do which Ethereum can’t.


While Ethereum is less battle tested, it is moving faster, has
better leadership and has more developer mindshare.
Fred Ehrsam Coinbase co founder
Ethereum Platform
Ethereum is a public blockchain with different design philosophy.
Dapps

Ethereum Abstraction Layer

How to implement all four Dapps on bitcoin blockchain?


Smart Contracts
 Contracts lives on the Ethereum blockchain
 They have their own Ethereum address and balance
 They can send and receive transactions
 They are activated when they receive a transaction,
and can be deactivated
 The Ethereum Virtual Machine runs a turing complete
language
 They have a fee per CPU step, with extra for storage
 The user can run the application on their local block
chain
Ethereum: Programming

Programming Languages Used:


 Solidity (a JavaScript-like language)
 Serpent (a Python-like language)
 Mutan (C-like)
 LLL (Lisp-like) etc.
Codes are compiled into bytecodes before being deployed to
the blockchain.
Ethereum Node
Smart Property
• Smart property is an extension of smart
contracts reaching out into the practical and
interactive world that includes the Internet of
Things (IoT).
• Smart property is all about ownership, access,
and control of things using the blockchain
network.
Smart Property
Smart Property
Smart Property: Ownership Transfer
Smart Property: Ownership Transfer
Smart Property
• Think about this: How a smart property can be used as
collateral by a borrower when they borrow money from
a lender using a smart contract?
Smart Property: Collateral
Ethereum Development: Principles
 Simplistic Design
 Freedom of Development
 It does not discriminate or favour any
specific kinds of use cases.
 No notion of Features
 It does not have built-in features for the
developers to use, instead, it provides
support for a Turing-complete language.
Ethereum Blockchain
 Ethereum Blockchain
 Ethereum Accounts
 Etehereum Virtual Machine
 Ethereum Ecosystem
Ethereum Block Header

parentHash nonce timestamp ommerHash

beneficiary logsBloom difficulty extraData


Examples :
Napster
Bit Torrent
Spotify
number gasLimit gasUsed mixHash

stateRoot TransactionRoot receiptRoot


Ethereum Blockchain
 Ethereum blockchain consists of three
Merkle Roots:
 stateRoot
 transactionRoot
 receiptsRoot
Ethereum Blockchain
 A Block in Ethereum blockchain comprises
of:
 block header
 transaction list
 uncles list
 extraData (Optional)
Ethereum Blockchain: Block Header

 Block Metadata:
 parentHash
• Keccak 256-bit hash of the parent block’s header, like that of
Bitcoin’s style.
 timestamp
• The Unix timestamp current block.
 Number
• Block number of the current block
 Beneficiary
• The 160-bit address of “author” account responsible for creating
the current block to which all the fees from successfully mining a
block are collected.
Ethereum Blockchain: Block Header
 Data Reference:
• transactionsRoot:
• The Keccak 256-bit root hash (Merkle root) of the
transactions trie populated with all the transactions in
this block
• ommersHash:
• It is otherwise known as uncleHash. It is the hash of the
uncles segment of the block, i.e., Keccak 256-bit hash
of the ommers list portion of this block (blocks that are
known to have a parent equal to the present block’s
parent’s parent).
• extraData:
• Arbitrary byte array containing data relevant to this
block. The size of this data is limited to 32 bytes.
Ethereum Blockchain: Block Header
 Transaction Execution Information:
• stateRoot:
• The Keccak 256-bit root hash (Merkle root) of the final state after
validating and executing all transactions of this block.
• receiptsRoot:
• The Keccak 256-bit root hash (Merkle root) of the receipts trie
populated with the recipients of each transaction in this block.
• logBloom:
• The accumulated Bloom filter for each of the transactions’ receipts
Blooms, i.e., the “OR” of all of the Blooms for the transactions in the
block.
• gasUsed:
• The total amount of gas used through each of the transactions in
this block.
• gasLimit:
• The maximum amount of gas that this block may utilise
Ethereum Blockchain: Block Header

 Consensus-Subsystem Information:
• difficulty:
• The difficulty limit for this block calculated from the previous
block’s difficulty and timestamp
• mixHash:
• The 256-bits mix hash combined with the ‘nonce’ for the PoW of
this block
• nonce:
• The nonce is a 64-bit hash that is combined with mixHash and
can be used as a PoW verification.
Ethereum Accounts

 Bitcoin System
• Bitcoin is a state transition system where “state” refers to
the collection of all UTXOs.
• Every time a block is mined, a state change happens
because each block contains a bunch of transactions
where each transaction cosumes UTXO(s) and
produces UTXO(s).
• There is no notion of an account balance as such in
Bitcoin’s design. Because, the state is not encoded
inside the blocks.
Ethereum Accounts

 Ethereum System
• Ethereum is stateful, and its basic unit is the account.
• Each account has a state associated with it.
• Each account has a 20-byte (160 bits) address through
which it gets identified and referenced.
• The purpose of blockchain in Ethereum is to keep track
of the state changes.
Ethereum Accounts: Types
• Externally Owned Accounts (EOAs):
• These accounts are also known as “simple accounts” owned by
users or devices who control these accounts using Private Keys.
• The EOAs can send transactions to other EOAs or Contract
Accounts by signing with a private key. The transaction between two
EOAs is usually to transfer any form of value.
• An EOA can also initiate a transaction to a Contract Account, where
the purpose is to activate the “code” inside the Contract Account.
• Contract Accounts:
• are controlled only by the code contained in them, which are
referred to as smart contracts.
• are usually activated when a transaction is sent to the Contract
Account by the EOAs or by other Contract Accounts.
• can’t initiate new transactions on their own and always depend on
the EOAs.
• All they can do is respond to other transactions as per the logic
coded in their “code.”
Ethereum Accounts: Advantages

• Significant space saving


• In bitcoin multiple transactions clubbed together to complete
one transaction to meet the total transaction value.
• In ethereum, just one reference to one account.
• Simple to code
• In ethereum purpose is to go beyond cryptocurrency to deveop
Dapps, where an account based system is inevitable.
• Lightweight client reference
• Unlike Bitcoin clients, ethereum client applications can easily
and quickly access all the data related to an account by
scanning down the state tree in a specific direction.
Ethereum Accounts: EOA to EOA
Ethereum Accounts: EOA to CA
Ethereum Accounts: EOA to CA to CA
The END

IIM Kozhikode

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy