SlideShare une entreprise Scribd logo
1  sur  97
Télécharger pour lire hors ligne
A to Z
dongsamb@gmail.com 17.09.18
Ethereum - Mining Pool
https://etherscan.io/stat/miner?range=7&blocktype=blocks
f2pool
Ethereum - Node info
• 17.09.17 22
• Geth : 70%
• Parity : 19%
• Swarm : 6%
•
https://ethernodes.org/network/1
Geth
Parity
swarm
1.7.0
1.6.7
1.6.6
Ethereum - Currency, Market
Ethereum - Market Capitalization
• startGas = gas limit
• startGas is the term in the Ethereum White Paper
• gasLimit is the term in the Ethereum Yellow Paper,
• software, such as Geth and web3.js, simply uses the term “gas”.
• gas Price 

- Gas
https://media.consensys.net/ethereum-gas-fuel-and-fees-3333e17fe1dc
- ( MyEtherWallet, MetaMask )
• Gas Price, Gas Limit
- ( Mist )
-
-
1. , .
2. =STARTGAS * GASPRICE . 

Sender NONCE +1.
3. GAS=STARTGAS 

1 5Gas .
4. . 

. 

smart contract , . 

.
5. ,
,
.

6. ,
.
APPLY(S, TX) -> S’
- Merkle Trees
https://github.com/MetaMask/IPFS-Ethereum-Hackathon/
https://github.com/MetaMask/IPFS-Ethereum-Hackathon/
Appendix - Merkle Tree
https://brilliant.org/wiki/merkle-tree/
https://bitcoin.org/en/developer-reference#merkle-trees
Appendix - Patricia Tree
https://ethereum.stackexchange.com/questions/6415/eli5-how-does-a-merkle-patricia-trie-tree-work
Appendix - Merkle Patricia Tree
https://ethereum.stackexchange.com/questions/6415/eli5-how-does-a-merkle-patricia-trie-tree-work
Blockchain Demo
https://anders.com/blockchain/
https://github.com/MetaMask/IPFS-Ethereum-Hackathon/
https://github.com/MetaMask/IPFS-Ethereum-Hackathon/
https://github.com/MetaMask/IPFS-Ethereum-Hackathon/https://github.com/MetaMask/IPFS-Ethereum-Hackathon/
https://github.com/MetaMask/IPFS-Ethereum-Hackathon/
https://github.com/MetaMask/IPFS-Ethereum-Hackathon/
https://github.com/MetaMask/IPFS-Ethereum-Hackathon/
https://github.com/MetaMask/IPFS-Ethereum-Hackathon/
https://github.com/MetaMask/IPFS-Ethereum-Hackathon/
https://github.com/MetaMask/IPFS-Ethereum-Hackathon/
https://github.com/MetaMask/IPFS-Ethereum-Hackathon/
https://github.com/MetaMask/IPFS-Ethereum-Hackathon/
- Code Execution, EVM
• (EVM: Ethereum Virtual Machine): 





(state) 



network, filesystem, 

, Smart contract ( Library, Deligatecall )
•
1. : LIFO(Last-In-First-Out) value push pop .
2. :
3. : Key/value (simpleDB).
• ,
, .
1 ASIC resistance
hashrate 

2 Light client verifiability
Hasimoto : ASIC resistance, IO-bound, making memory read

Dagger : memory-hard computation, but easy validation

( by Vitalic Buterin)

, Dagger Dagger Hasimoto Ethash 

30,000 1GB PoW hash
- PoW, Mining Centralization
Yellow Paper ( )
// datasetSizes is a lookup table for the ethash dataset size for the first 2048
// epochs (i.e. 61440000 blocks).
var datasetSizes = []uint64{
1073739904, 1082130304, 1090514816, 1098906752, 1107293056,
1115684224, 1124070016, 1132461952, 1140849536, 1149232768,
1157627776, 1166013824, 1174404736, 1182786944, 1191180416,
1199568512, 1207958912, 1216345216, 1224732032, 1233124736,
1241513344, 1249902464, 1258290304, 1266673792, 1275067264,
1283453312, 1291844992, 1300234112, 1308619904, 1317010048,
1325397376, 1333787776, 1342176128, 1350561664, 1358954368,
1367339392, 1375731584, 1384118144, 1392507008, 1400897408,
1409284736, 1417673344, 1426062464, 1434451072, 1442839168,
1451229056, 1459615616, 1468006016, 1476394112, 1484782976,
1493171584, 1501559168, 1509948032, 1518337664, 1526726528,
1535114624, 1543503488, 1551892096, 1560278656, 1568669056,
1577056384, 1585446272, 1593831296, 1602219392, 1610610304,
1619000192, 1627386752, 1635773824, 1644164224, 1652555648,
…
// datasetSize calculates and returns the size of the ethash mining dataset that
// belongs to a certain block number. The dataset size grows linearly, however, we
// always take the highest prime below the linearly growing threshold in order to
// reduce the risk of accidental regularities leading to cyclic behavior.
func datasetSize(block uint64) uint64 {
// If we have a pre-generated value, use that
epoch := int(block / epochLength) // ex) 4,240,505 / 30,000 == 141
if epoch < len(datasetSizes) { // 2048
return datasetSizes[epoch]
}
// No known dataset size, calculate manually (sanity branch only)
size := uint64(datasetInitBytes + datasetGrowthBytes*uint64(epoch) - mixBytes)
for !new(big.Int).SetUint64(size / mixBytes).ProbablyPrime(1) {
// Always accurate for n < 2^64
size -= 2 * mixBytes
}
return size
}
- PoW, Mining Centralization
Smart Contract
• Github
• ERC-20
• EIP
• ERC-20
• Zeppelin example
• Token,
•
Github
https://github.com/ethereum/go-ethereum
Github
Github
Github
Ethereum Github
https://github.com/ethereum
Ethereum Github - Wiki
https://github.com/ethereum/wiki/wiki/White-Paper
Ethereum Github - Wiki
https://github.com/ethereum/wiki/wiki/[Korean]-White-Paper
Ethereum Github - Wiki
https://github.com/ethereum/wiki/wiki/[Korean]-White-Paper
Ethereum Github - Wiki
https://github.com/ethereum/wiki/wiki/[Korean]-White-Paper
Ethereum Github - pyethereum
https://github.com/ethereum/pyethereum
https://github.com/ethereum/pyethereum/graphs/contributors
Ethereum Github - Contribution ( Buterin )
Ethereum - research
• python PoC( proof of concept )
• pyethereum -> go-ethereum(geth)
• sharding, casper
Ethereum Github - sharding
https://github.com/ethereum/sharding
raiden-network Github - raiden
https://github.com/raiden-network/raiden
Ethereum Github - EIP
https://github.com/ethereum/EIPs
Ethereum Github - ERC
https://github.com/ethereum/EIPs/issues/16
https://ko.wikipedia.org/wiki/RFC
ERC : Ethereum RFC


Ethereum Github - ERC
ERC : Ethereum RFC(Request for Comments)

Popular RFCs
	 •	 HTTP/1.1 Protocol - RFC 2616

	 •	 Uniform Resource Locator URL - RFC 1738

	 •	 TCP Protocol - RFC 793

	 •	 Transport Layer Security Protocol - RFC 5246

	 •	 eMail - RFC 2822

	 •	 SMTP Protocol - RFC 5321

	 •	 SIP Protocol - RFC 3261

	 •	 FTP Protocol - RFC 959

	 •	 RTP Protocol - RFC 3550
https://github.com/ethereum/EIPs/issues/16
https://ko.wikipedia.org/wiki/RFC
https://tools.ietf.org/html/rfc2616
Ethereum Github - ERC
https://github.com/ethereum/EIPs/issues
ERC-20, ERC
https://github.com/ethereum/EIPs/issues/20
Smart Contract - ERC-20
https://github.com/ethereum/EIPs/issues/20
Smart contract a b
Smart Contract - ERC-20
https://github.com/ethereum/EIPs/issues/20
Smart Contract - ERC-20 ? EIP-20?
https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md
Smart Contract - zeppelin example
Smart Contract - , Token
Smart Contract - , Token
Smart Contract - , Token
Smart Contract - , Token
Smart Contract - , Token
Smart Contract - , Token
Smart Contract - , Token
Smart Contract - , Token
Smart Contract - Security
• DAO ( 2016.06 )
DAO smart contract ( ) 

2 , 



blockchain , 

, transaction block chain hard fork 



hard fork ( ) Ethereum Classic
• DoS ( 2016.09 )
DoS 







gas Hard fork
• PARITY smart contract 



Parity Multisig Wallet Edgeless, Swarm City, æternity ICO Wallet 150,000 ETH 

initWallet public 

Parity Multisig Wallet Smart contract
Smart Contract - Security, Bug Bounty
Smart Contract - Random
EVM Smart Contract Random
Random Seed
EVM Contract
EVM , Seed Random
ex) block timestamp, block height
, smart contract random seed smart contract 

EVM
Smart Contract - Oracle
Smart contract Oracle



ex) Prediction Market, score

, ETH 





Oraclize API
Ethereum Scalability
Raiden Network
Lightning Network
Sharding
Metropolis
Plasma
?Casper
Ethereum
Metropolis
• Vitaliks latest thinking on transition to PoS:
• PoW -> PoW with PoS "on top" -> Hybrid PoW/PoS -> PoS
• Stages:
• 1. PoS would finalize blocks after PoW has de facto finalized them anyway.
• 2. After a couple of month: implement clients that favor PoS.
• 3. Cut down PoW block reward, increase PoS validator reward.
• 4. Hybrid PoS scheme parametrize between PoW and PoS at 0-100 scale
Metropolis
Block , 

PoS ( Casper ) , 



, 5->3 



(Byzantium) -> 17.09.18
(Constantinople) -> 18
Metropolis
EIP 86 (“abstraction”)
•  Make the protocol as simple as possible
•  Any account in the call execution chain can pay for gas
•  Instead of only the account that sent the transaction
•  A recipient, or middle account, could pay the gas cost
•  Helps anonymization, instead of needing to use only one account to pay for gas
EIP 98 (removal of intermediate state roots)
•  Goal: Make it easier to process transactions in parallel
EIP 96 (EVM-ification)
•  Try to make light clients more secure
EIP 100 (target block time including uncles)
•  Security upgrades
EIP 101 (big integer precompile)
•  Make it easier to verify certain types of cryptography
•  Ethereum supports elliptic curve cryptography
•  RSA encryption is used by others, and is currently computationally inefficient to verify in Ethereum
EIP 116 (STATIC_CALL)
•  Under consideration
•  Can call a contract and be sure you’re not changing anything; not writing to the state
EIP 195 (Pure call)
•  Even more static version of STATIC CALL
•  Can’t write or read
EIP 140 (throw opcode)
•  Throws an exception without consuming all remaining gas
EIP 141 (invalid opcode)
Metropolis
EIP 86 (“abstraction”)
•  Make the protocol as simple as possible
•  Any account in the call execution chain can pay for gas
•  Instead of only the account that sent the transaction
•  A recipient, or middle account, could pay the gas cost
•  Helps anonymization, instead of needing to use only one account to pay for gas
EIP 98 (removal of intermediate state roots)
•  Goal: Make it easier to process transactions in parallel
Metropolis - Byzantium fork ( 10 )
• Geth 1.7 – Megara
• EIP 98: Removal of intermediate state roots from receipts (#14750).
• Expanded by EIP 658: Embedding transaction return data in receipts (#15014).
• EIP 100: Change difficulty adjustment to target mean block time including uncles (#14733).
• EIP 198, EIP 212 (197) and EIP 213 (196): Precompiled contracts for modular exponentiation; elliptic curve addition, scalar
multiplication and pairing (#14959, #14993).
• EIP 214 (116): Expanding the EVM with static contract calls (#14978).
• EIP 211: Expanding the EVM with dynamically sized return data (#14981).
• EIP 206 (140): Expanding the EVM with cheap state revertals (#14983).
• EIP 649: Delaying the difficulty bomb and reducing the block reward (#15028).
• EIP 684: Preventing overwriting contracts (Byzantium prep) (#15039).
https://blog.ethereum.org/2017/09/14/geth-1-7-megara/
Serenity
serenity, Ethereum 2.0, with 4 primary research directions:
1. casper, the proof-of-stake algorithm.
2. scalability, by processing transactions in parallel and moving away
from the paradigm where every node in the network has to
absolutely process every transaction.
3. zkSNARK, addressing privacy.
4. Upgrading the evm (Ethereum Virtual Machine).
Ethereum Scalability
Sharding

Raiden Network (lighting network) 

Plasma
Ethereum Scalability - Sharding
https://github.com/ethereum/wiki/wiki/Sharding-FAQ
0x1
0x2
0x3
0x4
…
Challenges
Cross shard communication

Single-shard takeover attacks
Fraud detection
…
https://lightning.network/
Ethereum Scalability - Raiden Network
https://raiden.network
• Bitcoin Lightning Network
• ERC-20 Token
https://lightning.network/
Ethereum Scalability - Raiden Network
https://raiden.network
Ethereum Scalability - Raiden Network
https://raiden.network/101.html
Ethereum Scalability - Raiden Network
https://answers.thenextweb.com/s/vitalik-buterin-13gxQB
Ethereum Scalability - Plasma
Plasma: Scalable Autonomous Smart Contracts
Joseph Poon and Vitalik Buterin
https://medium.com/chain-cloud-company-blog/plasma-in-10-minutes-c856da94e339
http://plasma.io
Lightning Network
Map Reduce
Ethereum Scalability - Plasma
Discussion
Thank you!
Ethereum Scalability - Raiden Network
https://raiden.network
https://github.com/ConsenSys/EthOn
Ethereum Test Network
• Etherscan Testnet
Appendix - bitcoin vs ethereum
Appendix - SHA-3 ( Keccak )
Appendix - SHA-3 ( Keccak )
// fnv is an algorithm inspired by the FNV hash, which in some cases is used as
// a non-associative substitute for XOR. Note that we multiply the prime with
// the full 32-bit input, in contrast with the FNV-1 spec which multiplies the
// prime with one byte (octet) in turn.
func fnv(a, b uint32) uint32 {
return a*0x01000193 ^ b // ^ == xor
}
// fnvHash mixes in data into mix using the ethash fnv method.
func fnvHash(mix []uint32, data []uint32) {
for i := 0; i < len(mix); i++ {
mix[i] = mix[i]*0x01000193 ^ data[i]
}
}
FNV (Fowler/Noll/Vo) is a fast, non-cryptographic hash algorithm with good dispersion
FNV hashes are designed to be fast while maintaining a low collision rate. The FNV speed allows one to quickly hash lots of data while
maintaining a reasonable collision rate. The high dispersion of the FNV hashes makes them well suited for hashing nearly identical strings such as URLs,
hostnames, filenames, text, IP addresses, etc.
Appendix - fnv ( FNV hash )
-
Prev Hash : (parent hash)
Nonce : 64 ,
Timestamp : time()
Uncles Hash(ommer hash) : SHA-3 (256 ) / ommer " "
Uncle
Beneficiary : (fees) 160
Logs Bloom : ( )
( )
Difficulty :
Extra Data : Block Num Gas
Limit Gas Used
Mix Hash : 256
State Root : (SHA-3 )
Transaction Root : (SHA-3
)
Receipt Root : (SHA-3
)

Contenu connexe

Tendances

Ethereum Tutorial - Ethereum Explained | What is Ethereum? | Ethereum Explain...
Ethereum Tutorial - Ethereum Explained | What is Ethereum? | Ethereum Explain...Ethereum Tutorial - Ethereum Explained | What is Ethereum? | Ethereum Explain...
Ethereum Tutorial - Ethereum Explained | What is Ethereum? | Ethereum Explain...Simplilearn
 
Ethereum in a nutshell
Ethereum in a nutshellEthereum in a nutshell
Ethereum in a nutshellDaniel Chan
 
Basic introduction in blockchain, smart contracts, permissioned ledgers
Basic introduction in blockchain, smart contracts, permissioned ledgersBasic introduction in blockchain, smart contracts, permissioned ledgers
Basic introduction in blockchain, smart contracts, permissioned ledgersKoen Vingerhoets
 
ERC20 Step-by-Step - Creating Your First Ethereum Token
ERC20 Step-by-Step - Creating Your First Ethereum TokenERC20 Step-by-Step - Creating Your First Ethereum Token
ERC20 Step-by-Step - Creating Your First Ethereum TokenCodeOps Technologies LLP
 
Introduction to Ethereum Blockchain & Smart Contract
Introduction to Ethereum Blockchain & Smart ContractIntroduction to Ethereum Blockchain & Smart Contract
Introduction to Ethereum Blockchain & Smart ContractThanh Nguyen
 
Crypto currency
Crypto currencyCrypto currency
Crypto currencyAmit RJ
 
Blockchain technology
Blockchain technologyBlockchain technology
Blockchain technologyAayt Bahaa
 
Blockchain Security Issues and Challenges
Blockchain Security Issues and Challenges Blockchain Security Issues and Challenges
Blockchain Security Issues and Challenges Merlec Mpyana
 
Blockchain Presentation
Blockchain PresentationBlockchain Presentation
Blockchain PresentationZied GUESMI
 
The Ethereum Experience
The Ethereum ExperienceThe Ethereum Experience
The Ethereum ExperienceEthereum
 
Ethereum Solidity Fundamentals
Ethereum Solidity FundamentalsEthereum Solidity Fundamentals
Ethereum Solidity FundamentalsEno Bassey
 
An introduction to block chain technology
An introduction to block chain technologyAn introduction to block chain technology
An introduction to block chain technologyyaminisindhurabandar
 
Ethereum Blockchain with Smart contract and ERC20
Ethereum Blockchain with Smart contract and ERC20Ethereum Blockchain with Smart contract and ERC20
Ethereum Blockchain with Smart contract and ERC20Truong Nguyen
 
Understanding Proof of Work (PoW) and Proof of Stake (PoS) Algorithms
Understanding Proof of Work (PoW) and Proof of Stake (PoS) AlgorithmsUnderstanding Proof of Work (PoW) and Proof of Stake (PoS) Algorithms
Understanding Proof of Work (PoW) and Proof of Stake (PoS) AlgorithmsGautam Anand
 

Tendances (20)

Ethereum-Cryptocurrency (All about Ethereum)
Ethereum-Cryptocurrency (All about Ethereum) Ethereum-Cryptocurrency (All about Ethereum)
Ethereum-Cryptocurrency (All about Ethereum)
 
Ethereum Tutorial - Ethereum Explained | What is Ethereum? | Ethereum Explain...
Ethereum Tutorial - Ethereum Explained | What is Ethereum? | Ethereum Explain...Ethereum Tutorial - Ethereum Explained | What is Ethereum? | Ethereum Explain...
Ethereum Tutorial - Ethereum Explained | What is Ethereum? | Ethereum Explain...
 
Ethereum in a nutshell
Ethereum in a nutshellEthereum in a nutshell
Ethereum in a nutshell
 
Bitcoin
BitcoinBitcoin
Bitcoin
 
Basic introduction in blockchain, smart contracts, permissioned ledgers
Basic introduction in blockchain, smart contracts, permissioned ledgersBasic introduction in blockchain, smart contracts, permissioned ledgers
Basic introduction in blockchain, smart contracts, permissioned ledgers
 
ERC20 Step-by-Step - Creating Your First Ethereum Token
ERC20 Step-by-Step - Creating Your First Ethereum TokenERC20 Step-by-Step - Creating Your First Ethereum Token
ERC20 Step-by-Step - Creating Your First Ethereum Token
 
Introduction to Ethereum Blockchain & Smart Contract
Introduction to Ethereum Blockchain & Smart ContractIntroduction to Ethereum Blockchain & Smart Contract
Introduction to Ethereum Blockchain & Smart Contract
 
Crypto currency
Crypto currencyCrypto currency
Crypto currency
 
Blockchain technology
Blockchain technologyBlockchain technology
Blockchain technology
 
All About Ethereum
All About EthereumAll About Ethereum
All About Ethereum
 
Blockchain Security Issues and Challenges
Blockchain Security Issues and Challenges Blockchain Security Issues and Challenges
Blockchain Security Issues and Challenges
 
Blockchain Presentation
Blockchain PresentationBlockchain Presentation
Blockchain Presentation
 
The Ethereum Experience
The Ethereum ExperienceThe Ethereum Experience
The Ethereum Experience
 
Ethereum Solidity Fundamentals
Ethereum Solidity FundamentalsEthereum Solidity Fundamentals
Ethereum Solidity Fundamentals
 
Smart contracts
Smart contractsSmart contracts
Smart contracts
 
An introduction to block chain technology
An introduction to block chain technologyAn introduction to block chain technology
An introduction to block chain technology
 
Bitcoin
BitcoinBitcoin
Bitcoin
 
Ethereum Blockchain with Smart contract and ERC20
Ethereum Blockchain with Smart contract and ERC20Ethereum Blockchain with Smart contract and ERC20
Ethereum Blockchain with Smart contract and ERC20
 
Understanding Proof of Work (PoW) and Proof of Stake (PoS) Algorithms
Understanding Proof of Work (PoW) and Proof of Stake (PoS) AlgorithmsUnderstanding Proof of Work (PoW) and Proof of Stake (PoS) Algorithms
Understanding Proof of Work (PoW) and Proof of Stake (PoS) Algorithms
 
BITCOIN EXPLAINED
BITCOIN EXPLAINEDBITCOIN EXPLAINED
BITCOIN EXPLAINED
 

Similaire à Ethereum A to Z

BlockchainDay "Ethereum Dapp - Asset Exchange YOSEMITE alpha" Session
BlockchainDay "Ethereum Dapp - Asset Exchange YOSEMITE alpha" Session BlockchainDay "Ethereum Dapp - Asset Exchange YOSEMITE alpha" Session
BlockchainDay "Ethereum Dapp - Asset Exchange YOSEMITE alpha" Session 병완 임
 
September Ethereum Berlin Workshop
September Ethereum Berlin WorkshopSeptember Ethereum Berlin Workshop
September Ethereum Berlin Workshopaeronbuchanan
 
Build your own private blockchain based on ethereum
Build your own private blockchain based on ethereumBuild your own private blockchain based on ethereum
Build your own private blockchain based on ethereumMehran Pourvahab
 
Introduction to Ethereum
Introduction to EthereumIntroduction to Ethereum
Introduction to EthereumArnold Pham
 
Ryan Stortz & Sophia D'Antoine - “EVM2VEC: Bug Discovery in Smart Contracts”
Ryan Stortz & Sophia D'Antoine - “EVM2VEC: Bug Discovery in Smart Contracts”Ryan Stortz & Sophia D'Antoine - “EVM2VEC: Bug Discovery in Smart Contracts”
Ryan Stortz & Sophia D'Antoine - “EVM2VEC: Bug Discovery in Smart Contracts”Hacken_Ecosystem
 
B4uConference_ethereum
B4uConference_ethereumB4uConference_ethereum
B4uConference_ethereumHoa Le
 
HASHED LOUNGE Presents: OpenST Mosaic - Scaling blockchain economies to billi...
HASHED LOUNGE Presents: OpenST Mosaic - Scaling blockchain economies to billi...HASHED LOUNGE Presents: OpenST Mosaic - Scaling blockchain economies to billi...
HASHED LOUNGE Presents: OpenST Mosaic - Scaling blockchain economies to billi...OST | Open Simple Token
 
OpenST Mosaic Protocol introduced at ETH Berlin: Running meta-blockchains on ...
OpenST Mosaic Protocol introduced at ETH Berlin: Running meta-blockchains on ...OpenST Mosaic Protocol introduced at ETH Berlin: Running meta-blockchains on ...
OpenST Mosaic Protocol introduced at ETH Berlin: Running meta-blockchains on ...OST | Open Simple Token
 
Dappsmedia smartcontract _write_smartcontracts_on_console_ethereum
Dappsmedia smartcontract _write_smartcontracts_on_console_ethereumDappsmedia smartcontract _write_smartcontracts_on_console_ethereum
Dappsmedia smartcontract _write_smartcontracts_on_console_ethereumTomoaki Sato
 
Blockchain for Developers
Blockchain for DevelopersBlockchain for Developers
Blockchain for DevelopersShimi Bandiel
 
sbt-ethereum: a terminal for the world computer
sbt-ethereum: a terminal for the world computersbt-ethereum: a terminal for the world computer
sbt-ethereum: a terminal for the world computerSteve Waldman
 
Metadata in the Blockchain: The OP_RETURN Explosion
Metadata in the Blockchain: The OP_RETURN ExplosionMetadata in the Blockchain: The OP_RETURN Explosion
Metadata in the Blockchain: The OP_RETURN ExplosionCoin Sciences Ltd
 
Introduction_to_Blockchain_&_Ethereum.pptx
Introduction_to_Blockchain_&_Ethereum.pptxIntroduction_to_Blockchain_&_Ethereum.pptx
Introduction_to_Blockchain_&_Ethereum.pptxWijdenBenothmen1
 
Crypto Wallets: A Technical Perspective (Nakov at OpenFest 2018)
Crypto Wallets: A Technical Perspective (Nakov at OpenFest 2018)Crypto Wallets: A Technical Perspective (Nakov at OpenFest 2018)
Crypto Wallets: A Technical Perspective (Nakov at OpenFest 2018)Svetlin Nakov
 
Hands on with Smart Contracts session #3
Hands on with Smart Contracts session #3Hands on with Smart Contracts session #3
Hands on with Smart Contracts session #3Gene Leybzon
 
Blockchain and smart contracts day 2
Blockchain and smart contracts day 2Blockchain and smart contracts day 2
Blockchain and smart contracts day 2Gene Leybzon
 
#ifndef CRYPTO_HPP#define CRYPTO_HPP#include functional#.docx
#ifndef CRYPTO_HPP#define CRYPTO_HPP#include functional#.docx#ifndef CRYPTO_HPP#define CRYPTO_HPP#include functional#.docx
#ifndef CRYPTO_HPP#define CRYPTO_HPP#include functional#.docxgertrudebellgrove
 
Blockchain, cryptography and tokens — NYC Bar presentation
Blockchain, cryptography and tokens — NYC Bar presentationBlockchain, cryptography and tokens — NYC Bar presentation
Blockchain, cryptography and tokens — NYC Bar presentationPaperchain
 

Similaire à Ethereum A to Z (20)

BlockchainDay "Ethereum Dapp - Asset Exchange YOSEMITE alpha" Session
BlockchainDay "Ethereum Dapp - Asset Exchange YOSEMITE alpha" Session BlockchainDay "Ethereum Dapp - Asset Exchange YOSEMITE alpha" Session
BlockchainDay "Ethereum Dapp - Asset Exchange YOSEMITE alpha" Session
 
September Ethereum Berlin Workshop
September Ethereum Berlin WorkshopSeptember Ethereum Berlin Workshop
September Ethereum Berlin Workshop
 
Build your own private blockchain based on ethereum
Build your own private blockchain based on ethereumBuild your own private blockchain based on ethereum
Build your own private blockchain based on ethereum
 
Introduction to Ethereum
Introduction to EthereumIntroduction to Ethereum
Introduction to Ethereum
 
Ryan Stortz & Sophia D'Antoine - “EVM2VEC: Bug Discovery in Smart Contracts”
Ryan Stortz & Sophia D'Antoine - “EVM2VEC: Bug Discovery in Smart Contracts”Ryan Stortz & Sophia D'Antoine - “EVM2VEC: Bug Discovery in Smart Contracts”
Ryan Stortz & Sophia D'Antoine - “EVM2VEC: Bug Discovery in Smart Contracts”
 
B4uConference_ethereum
B4uConference_ethereumB4uConference_ethereum
B4uConference_ethereum
 
HASHED LOUNGE Presents: OpenST Mosaic - Scaling blockchain economies to billi...
HASHED LOUNGE Presents: OpenST Mosaic - Scaling blockchain economies to billi...HASHED LOUNGE Presents: OpenST Mosaic - Scaling blockchain economies to billi...
HASHED LOUNGE Presents: OpenST Mosaic - Scaling blockchain economies to billi...
 
OpenST Mosaic Protocol introduced at ETH Berlin: Running meta-blockchains on ...
OpenST Mosaic Protocol introduced at ETH Berlin: Running meta-blockchains on ...OpenST Mosaic Protocol introduced at ETH Berlin: Running meta-blockchains on ...
OpenST Mosaic Protocol introduced at ETH Berlin: Running meta-blockchains on ...
 
Dappsmedia smartcontract _write_smartcontracts_on_console_ethereum
Dappsmedia smartcontract _write_smartcontracts_on_console_ethereumDappsmedia smartcontract _write_smartcontracts_on_console_ethereum
Dappsmedia smartcontract _write_smartcontracts_on_console_ethereum
 
Blockchain for Developers
Blockchain for DevelopersBlockchain for Developers
Blockchain for Developers
 
sbt-ethereum: a terminal for the world computer
sbt-ethereum: a terminal for the world computersbt-ethereum: a terminal for the world computer
sbt-ethereum: a terminal for the world computer
 
Jvm memory model
Jvm memory modelJvm memory model
Jvm memory model
 
Metadata in the Blockchain: The OP_RETURN Explosion
Metadata in the Blockchain: The OP_RETURN ExplosionMetadata in the Blockchain: The OP_RETURN Explosion
Metadata in the Blockchain: The OP_RETURN Explosion
 
Introduction_to_Blockchain_&_Ethereum.pptx
Introduction_to_Blockchain_&_Ethereum.pptxIntroduction_to_Blockchain_&_Ethereum.pptx
Introduction_to_Blockchain_&_Ethereum.pptx
 
Crypto Wallets: A Technical Perspective (Nakov at OpenFest 2018)
Crypto Wallets: A Technical Perspective (Nakov at OpenFest 2018)Crypto Wallets: A Technical Perspective (Nakov at OpenFest 2018)
Crypto Wallets: A Technical Perspective (Nakov at OpenFest 2018)
 
Ethereum smart contracts - door Peter Reitsma
Ethereum smart contracts - door Peter ReitsmaEthereum smart contracts - door Peter Reitsma
Ethereum smart contracts - door Peter Reitsma
 
Hands on with Smart Contracts session #3
Hands on with Smart Contracts session #3Hands on with Smart Contracts session #3
Hands on with Smart Contracts session #3
 
Blockchain and smart contracts day 2
Blockchain and smart contracts day 2Blockchain and smart contracts day 2
Blockchain and smart contracts day 2
 
#ifndef CRYPTO_HPP#define CRYPTO_HPP#include functional#.docx
#ifndef CRYPTO_HPP#define CRYPTO_HPP#include functional#.docx#ifndef CRYPTO_HPP#define CRYPTO_HPP#include functional#.docx
#ifndef CRYPTO_HPP#define CRYPTO_HPP#include functional#.docx
 
Blockchain, cryptography and tokens — NYC Bar presentation
Blockchain, cryptography and tokens — NYC Bar presentationBlockchain, cryptography and tokens — NYC Bar presentation
Blockchain, cryptography and tokens — NYC Bar presentation
 

Plus de Dongsam Byun

오피니언마이닝에 기반한 주식 자동 매매 시스템
오피니언마이닝에 기반한 주식 자동 매매 시스템오피니언마이닝에 기반한 주식 자동 매매 시스템
오피니언마이닝에 기반한 주식 자동 매매 시스템Dongsam Byun
 
화이트박스 테스팅
화이트박스 테스팅화이트박스 테스팅
화이트박스 테스팅Dongsam Byun
 
Ethash : Ethereum PoW Algorithm
Ethash : Ethereum PoW AlgorithmEthash : Ethereum PoW Algorithm
Ethash : Ethereum PoW AlgorithmDongsam Byun
 
음성인식 및 웹 기반 어플리케이션을 통한 유비쿼터스 스마트홈 제어
음성인식 및 웹 기반 어플리케이션을 통한 유비쿼터스 스마트홈 제어음성인식 및 웹 기반 어플리케이션을 통한 유비쿼터스 스마트홈 제어
음성인식 및 웹 기반 어플리케이션을 통한 유비쿼터스 스마트홈 제어Dongsam Byun
 
QR코드 스캔에 기초한 보안 결제 시스템
QR코드 스캔에 기초한 보안 결제 시스템QR코드 스캔에 기초한 보안 결제 시스템
QR코드 스캔에 기초한 보안 결제 시스템Dongsam Byun
 
판매정보 빅데이터 분석을 통한 판매 예측 시스템
판매정보 빅데이터 분석을 통한 판매 예측 시스템판매정보 빅데이터 분석을 통한 판매 예측 시스템
판매정보 빅데이터 분석을 통한 판매 예측 시스템Dongsam Byun
 

Plus de Dongsam Byun (6)

오피니언마이닝에 기반한 주식 자동 매매 시스템
오피니언마이닝에 기반한 주식 자동 매매 시스템오피니언마이닝에 기반한 주식 자동 매매 시스템
오피니언마이닝에 기반한 주식 자동 매매 시스템
 
화이트박스 테스팅
화이트박스 테스팅화이트박스 테스팅
화이트박스 테스팅
 
Ethash : Ethereum PoW Algorithm
Ethash : Ethereum PoW AlgorithmEthash : Ethereum PoW Algorithm
Ethash : Ethereum PoW Algorithm
 
음성인식 및 웹 기반 어플리케이션을 통한 유비쿼터스 스마트홈 제어
음성인식 및 웹 기반 어플리케이션을 통한 유비쿼터스 스마트홈 제어음성인식 및 웹 기반 어플리케이션을 통한 유비쿼터스 스마트홈 제어
음성인식 및 웹 기반 어플리케이션을 통한 유비쿼터스 스마트홈 제어
 
QR코드 스캔에 기초한 보안 결제 시스템
QR코드 스캔에 기초한 보안 결제 시스템QR코드 스캔에 기초한 보안 결제 시스템
QR코드 스캔에 기초한 보안 결제 시스템
 
판매정보 빅데이터 분석을 통한 판매 예측 시스템
판매정보 빅데이터 분석을 통한 판매 예측 시스템판매정보 빅데이터 분석을 통한 판매 예측 시스템
판매정보 빅데이터 분석을 통한 판매 예측 시스템
 

Dernier

Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduitsrknatarajan
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college projectTonystark477637
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingrknatarajan
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 

Dernier (20)

Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 

Ethereum A to Z

  • 2. Ethereum - Mining Pool https://etherscan.io/stat/miner?range=7&blocktype=blocks f2pool
  • 3. Ethereum - Node info • 17.09.17 22 • Geth : 70% • Parity : 19% • Swarm : 6% • https://ethernodes.org/network/1 Geth Parity swarm 1.7.0 1.6.7 1.6.6
  • 5. Ethereum - Market Capitalization
  • 6. • startGas = gas limit • startGas is the term in the Ethereum White Paper • gasLimit is the term in the Ethereum Yellow Paper, • software, such as Geth and web3.js, simply uses the term “gas”. • gas Price 
 - Gas https://media.consensys.net/ethereum-gas-fuel-and-fees-3333e17fe1dc
  • 7. - ( MyEtherWallet, MetaMask ) • Gas Price, Gas Limit
  • 9. -
  • 10. - 1. , . 2. =STARTGAS * GASPRICE . 
 Sender NONCE +1. 3. GAS=STARTGAS 
 1 5Gas . 4. . 
 . 
 smart contract , . 
 . 5. , , .
 6. , . APPLY(S, TX) -> S’
  • 14. Appendix - Merkle Tree https://brilliant.org/wiki/merkle-tree/ https://bitcoin.org/en/developer-reference#merkle-trees
  • 15. Appendix - Patricia Tree https://ethereum.stackexchange.com/questions/6415/eli5-how-does-a-merkle-patricia-trie-tree-work
  • 16. Appendix - Merkle Patricia Tree https://ethereum.stackexchange.com/questions/6415/eli5-how-does-a-merkle-patricia-trie-tree-work
  • 29.
  • 30. - Code Execution, EVM • (EVM: Ethereum Virtual Machine): 
 
 
 (state) 
 
 network, filesystem, 
 , Smart contract ( Library, Deligatecall ) • 1. : LIFO(Last-In-First-Out) value push pop . 2. : 3. : Key/value (simpleDB). • , , .
  • 31. 1 ASIC resistance hashrate 2 Light client verifiability Hasimoto : ASIC resistance, IO-bound, making memory read Dagger : memory-hard computation, but easy validation
 ( by Vitalic Buterin) , Dagger Dagger Hasimoto Ethash 30,000 1GB PoW hash - PoW, Mining Centralization
  • 33. // datasetSizes is a lookup table for the ethash dataset size for the first 2048 // epochs (i.e. 61440000 blocks). var datasetSizes = []uint64{ 1073739904, 1082130304, 1090514816, 1098906752, 1107293056, 1115684224, 1124070016, 1132461952, 1140849536, 1149232768, 1157627776, 1166013824, 1174404736, 1182786944, 1191180416, 1199568512, 1207958912, 1216345216, 1224732032, 1233124736, 1241513344, 1249902464, 1258290304, 1266673792, 1275067264, 1283453312, 1291844992, 1300234112, 1308619904, 1317010048, 1325397376, 1333787776, 1342176128, 1350561664, 1358954368, 1367339392, 1375731584, 1384118144, 1392507008, 1400897408, 1409284736, 1417673344, 1426062464, 1434451072, 1442839168, 1451229056, 1459615616, 1468006016, 1476394112, 1484782976, 1493171584, 1501559168, 1509948032, 1518337664, 1526726528, 1535114624, 1543503488, 1551892096, 1560278656, 1568669056, 1577056384, 1585446272, 1593831296, 1602219392, 1610610304, 1619000192, 1627386752, 1635773824, 1644164224, 1652555648, … // datasetSize calculates and returns the size of the ethash mining dataset that // belongs to a certain block number. The dataset size grows linearly, however, we // always take the highest prime below the linearly growing threshold in order to // reduce the risk of accidental regularities leading to cyclic behavior. func datasetSize(block uint64) uint64 { // If we have a pre-generated value, use that epoch := int(block / epochLength) // ex) 4,240,505 / 30,000 == 141 if epoch < len(datasetSizes) { // 2048 return datasetSizes[epoch] } // No known dataset size, calculate manually (sanity branch only) size := uint64(datasetInitBytes + datasetGrowthBytes*uint64(epoch) - mixBytes) for !new(big.Int).SetUint64(size / mixBytes).ProbablyPrime(1) { // Always accurate for n < 2^64 size -= 2 * mixBytes } return size } - PoW, Mining Centralization
  • 34. Smart Contract • Github • ERC-20 • EIP • ERC-20 • Zeppelin example • Token, •
  • 40. Ethereum Github - Wiki https://github.com/ethereum/wiki/wiki/White-Paper
  • 41. Ethereum Github - Wiki https://github.com/ethereum/wiki/wiki/[Korean]-White-Paper
  • 42. Ethereum Github - Wiki https://github.com/ethereum/wiki/wiki/[Korean]-White-Paper
  • 43. Ethereum Github - Wiki https://github.com/ethereum/wiki/wiki/[Korean]-White-Paper
  • 44. Ethereum Github - pyethereum https://github.com/ethereum/pyethereum
  • 46. Ethereum Github - Contribution ( Buterin )
  • 47. Ethereum - research • python PoC( proof of concept ) • pyethereum -> go-ethereum(geth) • sharding, casper
  • 48. Ethereum Github - sharding https://github.com/ethereum/sharding
  • 49. raiden-network Github - raiden https://github.com/raiden-network/raiden
  • 50. Ethereum Github - EIP https://github.com/ethereum/EIPs
  • 51. Ethereum Github - ERC https://github.com/ethereum/EIPs/issues/16 https://ko.wikipedia.org/wiki/RFC ERC : Ethereum RFC 

  • 52. Ethereum Github - ERC ERC : Ethereum RFC(Request for Comments)
 Popular RFCs • HTTP/1.1 Protocol - RFC 2616 • Uniform Resource Locator URL - RFC 1738 • TCP Protocol - RFC 793 • Transport Layer Security Protocol - RFC 5246 • eMail - RFC 2822 • SMTP Protocol - RFC 5321 • SIP Protocol - RFC 3261 • FTP Protocol - RFC 959 • RTP Protocol - RFC 3550 https://github.com/ethereum/EIPs/issues/16 https://ko.wikipedia.org/wiki/RFC https://tools.ietf.org/html/rfc2616
  • 53. Ethereum Github - ERC https://github.com/ethereum/EIPs/issues
  • 55. Smart Contract - ERC-20 https://github.com/ethereum/EIPs/issues/20 Smart contract a b
  • 56. Smart Contract - ERC-20 https://github.com/ethereum/EIPs/issues/20
  • 57. Smart Contract - ERC-20 ? EIP-20? https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md
  • 58. Smart Contract - zeppelin example
  • 59. Smart Contract - , Token
  • 60. Smart Contract - , Token
  • 61. Smart Contract - , Token
  • 62. Smart Contract - , Token
  • 63. Smart Contract - , Token
  • 64. Smart Contract - , Token
  • 65. Smart Contract - , Token
  • 66. Smart Contract - , Token
  • 67. Smart Contract - Security • DAO ( 2016.06 ) DAO smart contract ( ) 
 2 , 
 
 blockchain , 
 , transaction block chain hard fork 
 
 hard fork ( ) Ethereum Classic • DoS ( 2016.09 ) DoS 
 
 
 
 gas Hard fork • PARITY smart contract 
 
 Parity Multisig Wallet Edgeless, Swarm City, æternity ICO Wallet 150,000 ETH 
 initWallet public 
 Parity Multisig Wallet Smart contract
  • 68. Smart Contract - Security, Bug Bounty
  • 69. Smart Contract - Random EVM Smart Contract Random Random Seed EVM Contract EVM , Seed Random ex) block timestamp, block height , smart contract random seed smart contract 
 EVM
  • 70. Smart Contract - Oracle Smart contract Oracle
 
 ex) Prediction Market, score
 , ETH 
 
 
 Oraclize API
  • 71. Ethereum Scalability Raiden Network Lightning Network Sharding Metropolis Plasma ?Casper
  • 73. Metropolis • Vitaliks latest thinking on transition to PoS: • PoW -> PoW with PoS "on top" -> Hybrid PoW/PoS -> PoS • Stages: • 1. PoS would finalize blocks after PoW has de facto finalized them anyway. • 2. After a couple of month: implement clients that favor PoS. • 3. Cut down PoW block reward, increase PoS validator reward. • 4. Hybrid PoS scheme parametrize between PoW and PoS at 0-100 scale
  • 74. Metropolis Block , 
 PoS ( Casper ) , 
 
 , 5->3 
 
 (Byzantium) -> 17.09.18 (Constantinople) -> 18
  • 75. Metropolis EIP 86 (“abstraction”) •  Make the protocol as simple as possible •  Any account in the call execution chain can pay for gas •  Instead of only the account that sent the transaction •  A recipient, or middle account, could pay the gas cost •  Helps anonymization, instead of needing to use only one account to pay for gas EIP 98 (removal of intermediate state roots) •  Goal: Make it easier to process transactions in parallel EIP 96 (EVM-ification) •  Try to make light clients more secure EIP 100 (target block time including uncles) •  Security upgrades EIP 101 (big integer precompile) •  Make it easier to verify certain types of cryptography •  Ethereum supports elliptic curve cryptography •  RSA encryption is used by others, and is currently computationally inefficient to verify in Ethereum EIP 116 (STATIC_CALL) •  Under consideration •  Can call a contract and be sure you’re not changing anything; not writing to the state EIP 195 (Pure call) •  Even more static version of STATIC CALL •  Can’t write or read EIP 140 (throw opcode) •  Throws an exception without consuming all remaining gas EIP 141 (invalid opcode)
  • 76. Metropolis EIP 86 (“abstraction”) •  Make the protocol as simple as possible •  Any account in the call execution chain can pay for gas •  Instead of only the account that sent the transaction •  A recipient, or middle account, could pay the gas cost •  Helps anonymization, instead of needing to use only one account to pay for gas EIP 98 (removal of intermediate state roots) •  Goal: Make it easier to process transactions in parallel
  • 77. Metropolis - Byzantium fork ( 10 ) • Geth 1.7 – Megara • EIP 98: Removal of intermediate state roots from receipts (#14750). • Expanded by EIP 658: Embedding transaction return data in receipts (#15014). • EIP 100: Change difficulty adjustment to target mean block time including uncles (#14733). • EIP 198, EIP 212 (197) and EIP 213 (196): Precompiled contracts for modular exponentiation; elliptic curve addition, scalar multiplication and pairing (#14959, #14993). • EIP 214 (116): Expanding the EVM with static contract calls (#14978). • EIP 211: Expanding the EVM with dynamically sized return data (#14981). • EIP 206 (140): Expanding the EVM with cheap state revertals (#14983). • EIP 649: Delaying the difficulty bomb and reducing the block reward (#15028). • EIP 684: Preventing overwriting contracts (Byzantium prep) (#15039). https://blog.ethereum.org/2017/09/14/geth-1-7-megara/
  • 78. Serenity serenity, Ethereum 2.0, with 4 primary research directions: 1. casper, the proof-of-stake algorithm. 2. scalability, by processing transactions in parallel and moving away from the paradigm where every node in the network has to absolutely process every transaction. 3. zkSNARK, addressing privacy. 4. Upgrading the evm (Ethereum Virtual Machine).
  • 79. Ethereum Scalability Sharding Raiden Network (lighting network) Plasma
  • 80. Ethereum Scalability - Sharding https://github.com/ethereum/wiki/wiki/Sharding-FAQ 0x1 0x2 0x3 0x4 … Challenges Cross shard communication
 Single-shard takeover attacks Fraud detection …
  • 81. https://lightning.network/ Ethereum Scalability - Raiden Network https://raiden.network
  • 82. • Bitcoin Lightning Network • ERC-20 Token https://lightning.network/ Ethereum Scalability - Raiden Network https://raiden.network
  • 83. Ethereum Scalability - Raiden Network https://raiden.network/101.html
  • 84. Ethereum Scalability - Raiden Network https://answers.thenextweb.com/s/vitalik-buterin-13gxQB
  • 85. Ethereum Scalability - Plasma Plasma: Scalable Autonomous Smart Contracts Joseph Poon and Vitalik Buterin https://medium.com/chain-cloud-company-blog/plasma-in-10-minutes-c856da94e339 http://plasma.io Lightning Network
  • 90. Ethereum Scalability - Raiden Network https://raiden.network
  • 92. Ethereum Test Network • Etherscan Testnet
  • 93. Appendix - bitcoin vs ethereum
  • 94. Appendix - SHA-3 ( Keccak )
  • 95. Appendix - SHA-3 ( Keccak )
  • 96. // fnv is an algorithm inspired by the FNV hash, which in some cases is used as // a non-associative substitute for XOR. Note that we multiply the prime with // the full 32-bit input, in contrast with the FNV-1 spec which multiplies the // prime with one byte (octet) in turn. func fnv(a, b uint32) uint32 { return a*0x01000193 ^ b // ^ == xor } // fnvHash mixes in data into mix using the ethash fnv method. func fnvHash(mix []uint32, data []uint32) { for i := 0; i < len(mix); i++ { mix[i] = mix[i]*0x01000193 ^ data[i] } } FNV (Fowler/Noll/Vo) is a fast, non-cryptographic hash algorithm with good dispersion FNV hashes are designed to be fast while maintaining a low collision rate. The FNV speed allows one to quickly hash lots of data while maintaining a reasonable collision rate. The high dispersion of the FNV hashes makes them well suited for hashing nearly identical strings such as URLs, hostnames, filenames, text, IP addresses, etc. Appendix - fnv ( FNV hash )
  • 97. - Prev Hash : (parent hash) Nonce : 64 , Timestamp : time() Uncles Hash(ommer hash) : SHA-3 (256 ) / ommer " " Uncle Beneficiary : (fees) 160 Logs Bloom : ( ) ( ) Difficulty : Extra Data : Block Num Gas Limit Gas Used Mix Hash : 256 State Root : (SHA-3 ) Transaction Root : (SHA-3 ) Receipt Root : (SHA-3 )