Enviar búsqueda
Cargar
Devcon4 - Smart Contracts Approach with Caution by Jake Craige
•
0 recomendaciones
•
43 vistas
J
jakecraige
Seguir
Recording: https://www.youtube.com/watch?v=p-_0bPEiHo8
Leer menos
Leer más
Ingeniería
Denunciar
Compartir
Denunciar
Compartir
1 de 55
Descargar ahora
Descargar para leer sin conexión
Recomendados
Starkware: Account Abstraction
Starkware: Account Abstraction
TinaBregovi
The Future of Money: Decentralized Finance
The Future of Money: Decentralized Finance
J. Scott Christianson
Blockchain Introduction
Blockchain Introduction
Natthawat Boonchaiseree
A simplified Bitcoin Implementation in GO
A simplified Bitcoin Implementation in GO
Brian Yap
Presentation on Greedy Algorithm
Presentation on Greedy Algorithm
Salim Hosen
A Zero-Knowledge Proof: Improving Privacy on a Blockchain
A Zero-Knowledge Proof: Improving Privacy on a Blockchain
Altoros
Bitcoin, the Protocol
Bitcoin, the Protocol
G-J van Rooyen
ShowMeCon2016 - Show Me Your Credit Card Tokens
ShowMeCon2016 - Show Me Your Credit Card Tokens
Tim MalcomVetter
Recomendados
Starkware: Account Abstraction
Starkware: Account Abstraction
TinaBregovi
The Future of Money: Decentralized Finance
The Future of Money: Decentralized Finance
J. Scott Christianson
Blockchain Introduction
Blockchain Introduction
Natthawat Boonchaiseree
A simplified Bitcoin Implementation in GO
A simplified Bitcoin Implementation in GO
Brian Yap
Presentation on Greedy Algorithm
Presentation on Greedy Algorithm
Salim Hosen
A Zero-Knowledge Proof: Improving Privacy on a Blockchain
A Zero-Knowledge Proof: Improving Privacy on a Blockchain
Altoros
Bitcoin, the Protocol
Bitcoin, the Protocol
G-J van Rooyen
ShowMeCon2016 - Show Me Your Credit Card Tokens
ShowMeCon2016 - Show Me Your Credit Card Tokens
Tim MalcomVetter
Build your own block chain
Build your own block chain
Bohdan Szymanik
Bitcoin
Bitcoin
Jas Chhabra
ITCamp 2018 - David Wong - A deal with the devil: breaking smart contracts
ITCamp 2018 - David Wong - A deal with the devil: breaking smart contracts
ITCamp
Bitcoin & blockchain for ordinary people
Bitcoin & blockchain for ordinary people
Kent Tong
Ethereum: From there to here, and ownards yonder
Ethereum: From there to here, and ownards yonder
gavofyork
Price and ethereum
Price and ethereum
Dan Antonov
Vreath meetup in January, 2019
Vreath meetup in January, 2019
SoraSuegami
Digital Token Liquidity Issues
Digital Token Liquidity Issues
InvestingTips
Blockchain and Formal verification (English)
Blockchain and Formal verification (English)
Jun Furuse
8 June 2017 - interledger at tu delft
8 June 2017 - interledger at tu delft
Michiel de Jong
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
eptoze12
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
Asst.prof M.Gokilavani
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
Asst.prof M.Gokilavani
Piping Basic stress analysis by engineering
Piping Basic stress analysis by engineering
JuanCarlosMorales19600
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
SAURABHKUMAR892774
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
ssuser2ae721
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Dr.Costas Sachpazis
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
roselinkalist12
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
asadnawaz62
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
KartikeyaDwivedi3
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.ppt
Madan Karki
Past, Present and Future of Generative AI
Past, Present and Future of Generative AI
abhishek36461
Más contenido relacionado
Similar a Devcon4 - Smart Contracts Approach with Caution by Jake Craige
Build your own block chain
Build your own block chain
Bohdan Szymanik
Bitcoin
Bitcoin
Jas Chhabra
ITCamp 2018 - David Wong - A deal with the devil: breaking smart contracts
ITCamp 2018 - David Wong - A deal with the devil: breaking smart contracts
ITCamp
Bitcoin & blockchain for ordinary people
Bitcoin & blockchain for ordinary people
Kent Tong
Ethereum: From there to here, and ownards yonder
Ethereum: From there to here, and ownards yonder
gavofyork
Price and ethereum
Price and ethereum
Dan Antonov
Vreath meetup in January, 2019
Vreath meetup in January, 2019
SoraSuegami
Digital Token Liquidity Issues
Digital Token Liquidity Issues
InvestingTips
Blockchain and Formal verification (English)
Blockchain and Formal verification (English)
Jun Furuse
8 June 2017 - interledger at tu delft
8 June 2017 - interledger at tu delft
Michiel de Jong
Similar a Devcon4 - Smart Contracts Approach with Caution by Jake Craige
(10)
Build your own block chain
Build your own block chain
Bitcoin
Bitcoin
ITCamp 2018 - David Wong - A deal with the devil: breaking smart contracts
ITCamp 2018 - David Wong - A deal with the devil: breaking smart contracts
Bitcoin & blockchain for ordinary people
Bitcoin & blockchain for ordinary people
Ethereum: From there to here, and ownards yonder
Ethereum: From there to here, and ownards yonder
Price and ethereum
Price and ethereum
Vreath meetup in January, 2019
Vreath meetup in January, 2019
Digital Token Liquidity Issues
Digital Token Liquidity Issues
Blockchain and Formal verification (English)
Blockchain and Formal verification (English)
8 June 2017 - interledger at tu delft
8 June 2017 - interledger at tu delft
Último
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
eptoze12
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
Asst.prof M.Gokilavani
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
Asst.prof M.Gokilavani
Piping Basic stress analysis by engineering
Piping Basic stress analysis by engineering
JuanCarlosMorales19600
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
SAURABHKUMAR892774
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
ssuser2ae721
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Dr.Costas Sachpazis
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
roselinkalist12
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
asadnawaz62
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
KartikeyaDwivedi3
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.ppt
Madan Karki
Past, Present and Future of Generative AI
Past, Present and Future of Generative AI
abhishek36461
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
ssuser7cb4ff
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
dollysharma2066
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
Asst.prof M.Gokilavani
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
LewisJB
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
null - The Open Security Community
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Anamika Sarkar
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
Dr SOUNDIRARAJ N
Solving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.ppt
JasonTagapanGulla
Último
(20)
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
Piping Basic stress analysis by engineering
Piping Basic stress analysis by engineering
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.ppt
Past, Present and Future of Generative AI
Past, Present and Future of Generative AI
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
Solving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.ppt
Devcon4 - Smart Contracts Approach with Caution by Jake Craige
1.
Smart contracts: Approach with
caution Jake Craige Crypto Payments Engineering Ethereum Devcon4, 2018
2.
Who should care?
3.
Who should care? !
Exchanges ! Wallets ! Explorers
4.
Who should care? !
Exchanges ! Wallets ! Explorers ! Anyone building on Ethereum
5.
Why? Transaction
6.
Why? Transaction Credit Alice
1 ETH
7.
Why? Transaction Credit Alice
1 ETH
8.
Why? Invalid Data
9.
Why? Invalid Data Lost Funds
10.
Why?
11.
Why? Ethereum account balance
manipulation ETH contract handling errors
12.
So, what can
go wrong?
13.
How does ether
move?
14.
How does ether
move? ! Account Transfers
15.
How does ether
move? ! Account Transfers ! Contract Transfers
16.
Transfer Types Account Transfer
17.
Transfer Types Contract Transfer
18.
Contract Transfer Transaction Trace [ { "action":
{ "callType": "call", "from": "0x2dc772d3d7ae59f80e6bf1f69234cdc477cd2517", "gas": "0x2b39", "input": "0xd018db3e00000000000000000000000028eefc16be1156146d0c4d15f890faa01306af49", "to": "0xf171d6dee1176af9ff3358cebc55b0b1a9ad1de1", "value": "0x38d7ea4c68000" }, "blockHash": "0x03a812fd4867abf603d91594e0cb4a17b60b190793376555c19b01a0ae6136d9", "blockNumber": 3034561, "result": { "gasUsed": "0x22b5", "output": "0x0000000000000000000000000000000000000000000000000000000000000001" }, "subtraces": 2, "traceAddress": [], "transactionHash": "0xd5bd8fd17998c2393ab565e58f4afdf7696d82e9c85b377cce73de2d435ddd14", "transactionPosition": 28, "type": "call" }, { "action": { "callType": "delegatecall", "from": "0xf171d6dee1176af9ff3358cebc55b0b1a9ad1de1", "gas": "0x2726", "input": "0x", "to": "0x28eefc16be1156146d0c4d15f890faa01306af49", "value": "0x38d7ea4c68000" }, "blockHash": "0x03a812fd4867abf603d91594e0cb4a17b60b190793376555c19b01a0ae6136d9", "blockNumber": 3034561, "result": { "gasUsed": "0x0", "output": "0x" }, "subtraces": 0, "traceAddress": [ 0 ], "transactionHash": "0xd5bd8fd17998c2393ab565e58f4afdf7696d82e9c85b377cce73de2d435ddd14", "transactionPosition": 28, "type": "call" }, { "action": { "callType": "call", "from": "0xf171d6dee1176af9ff3358cebc55b0b1a9ad1de1", "gas": "0x8fc", "input": "0x", "to": "0x2dc772d3d7ae59f80e6bf1f69234cdc477cd2517", "value": "0x38d7ea4c68000" }, "blockHash": "0x03a812fd4867abf603d91594e0cb4a17b60b190793376555c19b01a0ae6136d9", "blockNumber": 3034561, "result": { "gasUsed": "0x0", "output": "0x" }, "subtraces": 0, "traceAddress": [ 1 ], "transactionHash": "0xd5bd8fd17998c2393ab565e58f4afdf7696d82e9c85b377cce73de2d435ddd14", "transactionPosition": 28, "type": "call" } ]
19.
Contract Transfer Transaction Trace "action":
{ "callType": "call", "from": "0x2dc772d3d7ae59f80e6bf1f69234cdc477cd2517", "gas": "0x2b39", "input": “0xd018db3e00000000000000000…”, "to": "0xf171d6dee1176af9ff3358cebc55b0b1a9ad1de1", "value": "0x38d7ea4c68000" }, "blockHash": “0x03a812fd4867abf603d91594e0cb4…”, "blockNumber": 3034561, "result": { "gasUsed": "0x22b5", "output": “0x00000000000000000000000000000000000…” },
20.
Send Bob 1
ETH Call Call Send Alice 1 ETH Call Example #1
21.
Send Bob 1
ETH Call Call Send Alice 1 ETH Call Example #1 Credit Alice 1 ETH Credit Bob 1 ETH
22.
Send Bob 1
ETH Call Call Send Alice 1 ETH Call Example #1 Credit Alice 1 ETH Credit Bob 1 ETH
23.
Send Bob 1
ETH Call Call Send Alice 1 ETH Call Example #1
24.
Send Bob 1
ETH Call Call Send Alice 1 ETH Call Transaction status: Failure Example #1
25.
Send Bob 1
ETH Call Call Send Alice 1 ETH Call Transaction status: Failure Example #1
26.
Send Bob 1
ETH Call Send Alice 1 ETH Call Example #2 Call (Fail)
27.
Send Bob 1
ETH Call Send Alice 1 ETH Call Transaction status: Success Example #2 Call (Fail)
28.
Send Bob 1
ETH Call Send Alice 1 ETH Call Transaction status: Success Credit Alice 1 ETH Credit Bob 1 ETH Example #2 Call (Fail)
29.
Send Bob 1
ETH Call Send Alice 1 ETH Call Transaction status: Success Credit Alice 1 ETH Credit Bob 1 ETH Example #2 Call (Fail)
30.
Send Bob 1
ETH Call (Fail) Call Send Alice 1 ETH Call Transaction status: Success Example #2
31.
Send Bob 1
ETH Call (Fail) Call Send Alice 1 ETH Call Transaction status: Success Example #2 Credit Alice 1 ETH
32.
Transaction status: Success Example
#3 Send Bob 1 ETH Call (Fail) Call Send Alice 1 ETH Call
33.
Transaction status: Success Credit
Alice 1 ETH Example #3 Send Bob 1 ETH Call (Fail) Call Send Alice 1 ETH Call
34.
Transaction status: Success Credit
Alice 1 ETH Example #3 Send Bob 1 ETH Call (Fail) Call Send Alice 1 ETH Call
35.
Transaction status: Success Example
#3 Send Bob 1 ETH Call (Fail) Call Send Alice 1 ETH Call
36.
Transaction status: Success Example
#3 Send Bob 1 ETH Call (Fail) Call Send Alice 1 ETH Call DELEGATE CALL
37.
Transaction status: Success Example
#3 Send Bob 1 ETH Call (Fail) Call Send Alice 1 ETH Call DELEGATE CALL
38.
Minimizing Risk
39.
Detection & Response
40.
Detection & Response !
Don’t assume you know everything
41.
Detection & Response !
Don’t assume you know everything ! Cross-check your data with other sources
42.
Detection & Response !
Don’t assume you know everything ! Cross-check your data with other sources ! If something is off, fail securely
43.
Four Takeaways
44.
Takeaway #1 Always check
the transaction receipt status
45.
Takeaway #2
46.
Takeaway #2 Parse the
trace as a tree
47.
Takeaway #2 Parse the
trace as a tree
48.
Takeaway #2 Parse the
trace as a tree Fail errored subtrees
49.
Takeaway #3
50.
Takeaway #3 Reject delegate
and callcode calls
51.
Takeaway #3 Reject delegate
and callcode calls Select call, create, selfdestruct and rewards calls
52.
Takeaway #4
53.
Takeaway #4 Don’t trust,
until verified
54.
Takeaway #4 Don’t trust,
until verified
55.
Stay safe out
there. Jake Craige // @jakecraige We’re hiring! coinbase.com/careers
Descargar ahora