SlideShare uma empresa Scribd logo
1 de 97
Baixar para ler offline
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
)

Mais conteúdo relacionado

Mais procurados

An Overview on Bitcoin
An Overview  on Bitcoin         An Overview  on Bitcoin
An Overview on Bitcoin Touroxy
 
The Art of non-fungible tokens
The Art of non-fungible tokensThe Art of non-fungible tokens
The Art of non-fungible tokensGene Leybzon
 
Ethereum in a nutshell
Ethereum in a nutshellEthereum in a nutshell
Ethereum in a nutshellDaniel Chan
 
Smart Contract & Ethereum
Smart Contract & EthereumSmart Contract & Ethereum
Smart Contract & EthereumAkshay Singh
 
20180711 Metamask
20180711 Metamask 20180711 Metamask
20180711 Metamask Hu Kenneth
 
BIT COIN ,MINING & ATM
BIT COIN ,MINING & ATMBIT COIN ,MINING & ATM
BIT COIN ,MINING & ATMSumbal Jahan
 
Blockchain Explained | How Does A Blockchain Work | Blockchain Explained Simp...
Blockchain Explained | How Does A Blockchain Work | Blockchain Explained Simp...Blockchain Explained | How Does A Blockchain Work | Blockchain Explained Simp...
Blockchain Explained | How Does A Blockchain Work | Blockchain Explained Simp...Simplilearn
 
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
 
Blockchain 101 | Blockchain Tutorial | Blockchain Smart Contracts | Blockchai...
Blockchain 101 | Blockchain Tutorial | Blockchain Smart Contracts | Blockchai...Blockchain 101 | Blockchain Tutorial | Blockchain Smart Contracts | Blockchai...
Blockchain 101 | Blockchain Tutorial | Blockchain Smart Contracts | Blockchai...Edureka!
 
Getting Started in Blockchain Security and Smart Contract Auditing
Getting Started in Blockchain Security and Smart Contract AuditingGetting Started in Blockchain Security and Smart Contract Auditing
Getting Started in Blockchain Security and Smart Contract AuditingBeau Bullock
 
Blockchain
BlockchainBlockchain
BlockchainSai Nath
 

Mais procurados (20)

An Overview on Bitcoin
An Overview  on Bitcoin         An Overview  on Bitcoin
An Overview on Bitcoin
 
Introduction Bitcoin
Introduction BitcoinIntroduction Bitcoin
Introduction Bitcoin
 
All About Ethereum
All About EthereumAll About Ethereum
All About Ethereum
 
The Art of non-fungible tokens
The Art of non-fungible tokensThe Art of non-fungible tokens
The Art of non-fungible tokens
 
Ethereum in a nutshell
Ethereum in a nutshellEthereum in a nutshell
Ethereum in a nutshell
 
Smart Contract & Ethereum
Smart Contract & EthereumSmart Contract & Ethereum
Smart Contract & Ethereum
 
Bitcoin
BitcoinBitcoin
Bitcoin
 
20180711 Metamask
20180711 Metamask 20180711 Metamask
20180711 Metamask
 
Bitcoin
BitcoinBitcoin
Bitcoin
 
Blockchain concepts
Blockchain conceptsBlockchain concepts
Blockchain concepts
 
BIT COIN ,MINING & ATM
BIT COIN ,MINING & ATMBIT COIN ,MINING & ATM
BIT COIN ,MINING & ATM
 
Blockchain Explained | How Does A Blockchain Work | Blockchain Explained Simp...
Blockchain Explained | How Does A Blockchain Work | Blockchain Explained Simp...Blockchain Explained | How Does A Blockchain Work | Blockchain Explained Simp...
Blockchain Explained | How Does A Blockchain Work | Blockchain Explained Simp...
 
Blockchain Basics
Blockchain BasicsBlockchain Basics
Blockchain Basics
 
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
 
Blockchain
BlockchainBlockchain
Blockchain
 
Cryptocurrency
CryptocurrencyCryptocurrency
Cryptocurrency
 
Bitcoin & Bitcoin Mining
Bitcoin & Bitcoin MiningBitcoin & Bitcoin Mining
Bitcoin & Bitcoin Mining
 
Blockchain 101 | Blockchain Tutorial | Blockchain Smart Contracts | Blockchai...
Blockchain 101 | Blockchain Tutorial | Blockchain Smart Contracts | Blockchai...Blockchain 101 | Blockchain Tutorial | Blockchain Smart Contracts | Blockchai...
Blockchain 101 | Blockchain Tutorial | Blockchain Smart Contracts | Blockchai...
 
Getting Started in Blockchain Security and Smart Contract Auditing
Getting Started in Blockchain Security and Smart Contract AuditingGetting Started in Blockchain Security and Smart Contract Auditing
Getting Started in Blockchain Security and Smart Contract Auditing
 
Blockchain
BlockchainBlockchain
Blockchain
 

Semelhante a 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
 

Semelhante a 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
 

Mais 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
 

Mais de Dongsam Byun (6)

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

Último

"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"mphochane1998
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaOmar Fathy
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxmaisarahman1
 
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Servicemeghakumariji156
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptDineshKumar4165
 
kiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal loadkiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal loadhamedmustafa094
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdfKamal Acharya
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiessarkmank1
 
Wadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxWadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxNadaHaitham1
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.Kamal Acharya
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesMayuraD1
 
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...Amil baba
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptxJIT KUMAR GUPTA
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Arindam Chakraborty, Ph.D., P.E. (CA, TX)
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxSCMS School of Architecture
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdfKamal Acharya
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Call Girls Mumbai
 
Hospital management system project report.pdf
Hospital management system project report.pdfHospital management system project report.pdf
Hospital management system project report.pdfKamal Acharya
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsvanyagupta248
 

Último (20)

Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
 
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
kiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal loadkiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal load
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdf
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and properties
 
Wadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxWadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptx
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
 
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdf
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
 
Hospital management system project report.pdf
Hospital management system project report.pdfHospital management system project report.pdf
Hospital management system project report.pdf
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech students
 

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 )