SlideShare a Scribd company logo
Hire the top 3% of freelance talent
Smart contract:
QA Role for Decentralized Platform
imgimgimg
| 2
$whoami
Marco Andrade
● I'm from Brazil
● I have visited 18 countries (3 continents)
● QA Automation Engineer and Scrum
Master at Toptal
● Toptal's Community leader at Belo
Horizonte
http://bit.ly/HireToptal
http://bit.ly/DevToptal
| 4
This is a Smart Contract
| 5
Blockchain: What is it
Blockchain is a secure, shared, distributed ledger
| 6
Blockchain: What is it?
| 7
Here's a bright idea: let's put code into the blockchain!
Some "accounts" have code attached to them, they become "contracts".
The code can:
Smart Contract
● Decide what happens to the coins sent to it
● Create new transactions
● Query blockchain data
● Generate events
● Call other smart contracts
● ... or do anything else since is Turing-complete
| 8
Use of Smart contracts
| 9
Requirements for a payment system
Decentralized, anonymous system for exchanging money/information:
● All transactions should be made over the Internet
● No central authority that will process transactions
● Users should be anonymous and identified only by their virtual identity
● A single user can have as many virtual identities as he or she likes
● Value supply (new virtual bills) must be added in a controlled way
| 10
QA Role
| 11
QA Role
In 2017, it’s estimated that $500 million has been lost due to
bad code, and around half of that figure involved Ethereum.
| 12
QA Role
Very much the same:
● Build tests based on requirements.
● Automate and execute them.
● Provide risk assessment of the software to the team at any given point of the
development cycle.
| 13
QA Role
| 14
Key points
● Immutable data
● Data visibility
● Learn different tools
● Ensure code is covered by tests
● Grow a quality culture inside your company
● Have a critical thinking
| 15
Smart contract
No internal state.
Stateless
Has internal state (is mutable), therefore need special
care for security and correctness.
Stateful
| 16
Smart contract
Business logic Triggered by the events
Using digital signatures to identify who
sent the messages
Putting the programs, messages, and
signatures on a Blockchain
Executing every program for every
message on every node.
| 17
Tools
| 18
Bug examples: King of the Ether Throne
| 19
Bug examples: King of the Ether Throne
It is little mistakes like these which can cause a lot of havoc if
not corrected in time.
| 20
Bug examples: King of the Ether Throne
When it comes to smart contract coding, attention to detail is
of paramount importance to avoid smart contract
vulnerabilities.
| 21
Bug examples: batchOverflow
| 22
Bug examples: batchOverflow
| 23
Bug examples: batchOverflow
It is little mistakes like these which can cause a lot of havoc if
not corrected in time. When it comes to smart contract coding,
attention to detail is of paramount importance to avoid smart
contract vulnerabilities.
| 24
Bug examples:
https://applicature.com/blog/history-of-ethereum-security-
vulnerabilities-hacks-and-their-fixes
| 25
Challenge of many standards and
protocols
| 26
Challenge of many standards and
protocols
As with any rapidly developing field, there has been a chorus of calls for
standardization. Items that could be targets for further standardization:
● Basic data models for Blockchain (Blocks, Events, and State Machine)
● Consensus algorithms (Proof of Work, Stellar Consensus, Hashgraph)
● Storage algorithms (Merkle Trees, MerklePatriciaTries, Linked Lists)
● Signature algorithms (JOSE Web Signing, Linked Data Signatures, Chainpoint)
● Web-based access protocols (Cre-ate, Read, Add, Get Status, Query)
| 27
Hard fork, soft fork, chain split and
replay attack
Introduce a limitation on what is valid. New versions of
software simply stop producing some forms of
transactions / blocks, etc. which were previously valid.
Soft fork
Introduces new features which old versions of software
do not support or recognise as valid. Forward-
incompatible.
Hard fork
Old software continues to accept data created by new
versions - the data will simply lack certain features.
Old version of software will discard data created by new
versions - often because it has features it doesn't know
how to handle.
| 28
Hard fork, soft fork, chain split and
replay attack
Chain split is a scenario where there are two or more
competing versions of the blockchain that share the
same history up to the point that their rulesets diverge.
Chain split
It is possible for both a soft fork and a hard fork to
cause a chain split.
| 29
Hard fork, soft fork, chain split and
replay attack
If you own some amount on the ledger before the split,
you will have the same amount on both ledgers after
the split. What if you want to spend money on one
ledger and not on the other?
Replay attack
| 30
Common security concerns
1. Wallet compromise / password stealing / social engineering*. This one is most
common by far.
2. Politics. In case of Bitcoin, influential people have continually steered the
course of development to their personal benefit.
3. 51% attack. The way distributed consensus works, the majority wins. So if 51%
of all miners decide to run an executable with a certain set of rules, they
control the blockchain.
4. Transaction selectivity attacks. Miners (esp. if colluding) basically have the
power to pick which transactions go into blocks, and (sometimes more
importantly) when.
Hire the top 3% of freelance talent
http://bit.ly/HireToptal
http://bit.ly/DevToptal
LinkedIn: bit.ly/MarcoQA
marco.felizardo@toptal.com
Muito obrigado!
Thank you! Questions? QA Automation Engineer

More Related Content

PDF
Blockchain and Smart Contracts
PDF
Introduction to Blockchain for Business
PPTX
9 BUILDING BLOCKS FOR A SUCCESSFUL BLOCKCHAIN INDUSTRY | BLOCKSTARS.IO
PPTX
Blockchain Insurance Benefits
PPTX
Secure IoT with Blockchain: Fad or Reality? [BOF5490]
PDF
Bat38 aouini bogosalvarado_zk-snark_blockchain
PPTX
Introduction to Blockchain || How blockchain works || Uses of blockchain
PDF
Smart Contracts: Enabling New Work-Life Culture
Blockchain and Smart Contracts
Introduction to Blockchain for Business
9 BUILDING BLOCKS FOR A SUCCESSFUL BLOCKCHAIN INDUSTRY | BLOCKSTARS.IO
Blockchain Insurance Benefits
Secure IoT with Blockchain: Fad or Reality? [BOF5490]
Bat38 aouini bogosalvarado_zk-snark_blockchain
Introduction to Blockchain || How blockchain works || Uses of blockchain
Smart Contracts: Enabling New Work-Life Culture

What's hot (20)

PDF
How blockchain will defend iot
PPTX
IoT, Fog Computing and the Blockchain
PPTX
Blockchain in IoT and Other Considerations by Dinis Guarda
PPTX
Smart contractjp smartcontract_about
PDF
Blockchain and Cryptocurrency for Dummies
PDF
Hyperledger development & smart contract development
PPTX
Smart Contractjp 1st section about
PDF
Cryptocurrencies: Issues, Challenges and Way Forward
ODP
Blockchain and the digital future. Promises of new technology against reality
PDF
Blockchain and Smart Contracts
PDF
Security Model of Blockchain
PDF
Future Commerce: Reinventing Markets with Blockchain, by David Shrier
PDF
Komodo Blockchain Security Service Brochure
PDF
Software Architecture and Model-driven Engineering for Blockchain Applications
PDF
Decentralized applications 101: How and why to build a DApp
PDF
Build Secure IoT Solutions Using... Blockchain - Geeta Chauhan
PDF
What is Blockchain Technology?
PPTX
Token Governance in Blockchain Ecosystems
PPTX
IOTA Introduction for Hack the Valley attendees
PPTX
Block Chain presentation by Naimur Rahman Nishat
How blockchain will defend iot
IoT, Fog Computing and the Blockchain
Blockchain in IoT and Other Considerations by Dinis Guarda
Smart contractjp smartcontract_about
Blockchain and Cryptocurrency for Dummies
Hyperledger development & smart contract development
Smart Contractjp 1st section about
Cryptocurrencies: Issues, Challenges and Way Forward
Blockchain and the digital future. Promises of new technology against reality
Blockchain and Smart Contracts
Security Model of Blockchain
Future Commerce: Reinventing Markets with Blockchain, by David Shrier
Komodo Blockchain Security Service Brochure
Software Architecture and Model-driven Engineering for Blockchain Applications
Decentralized applications 101: How and why to build a DApp
Build Secure IoT Solutions Using... Blockchain - Geeta Chauhan
What is Blockchain Technology?
Token Governance in Blockchain Ecosystems
IOTA Introduction for Hack the Valley attendees
Block Chain presentation by Naimur Rahman Nishat
Ad

Similar to Smart Contract: QA Role for Decentralized Platform (20)

PDF
From 7331 to legal : a selection of blockchain discussion topics
PDF
20190316 - CLBFest - 1337 to legal - Koen Vingerhoets
PDF
Blockchain Intro + Myths
PDF
Block chain A Paradigm Shift
PDF
V SYSTEMS - Smart Contract and Token System_EN
PPTX
Is Blockchain Right for You? The Million Dollar Question
PDF
Blockchain and Smart Contracts
PDF
blockchain
PPTX
Blockchain by Aman Thakur.pptx
PPTX
Blockchain with HyperLedger (Public version)
PPTX
Ovum blockchain for beginners
PDF
The implications of blockchain for the insurance industry - Eurapco Peer Semi...
PDF
AWIP Pink Innov Blockchain Workshop deck - May 23, 2019
PDF
Ethereum-Cryptocurrency (All about Ethereum)
PDF
An introduction to blockchain and hyperledger v ru
DOCX
Supply Chain Management using Blockchain
PPTX
The GeeqChain Project Summary
PPTX
Top 8 blockchain based smart contract platforms
PPTX
Nov 2 security for blockchain and analytics ulf mattsson 2020 nov 2b
PDF
Blockchain for Business
From 7331 to legal : a selection of blockchain discussion topics
20190316 - CLBFest - 1337 to legal - Koen Vingerhoets
Blockchain Intro + Myths
Block chain A Paradigm Shift
V SYSTEMS - Smart Contract and Token System_EN
Is Blockchain Right for You? The Million Dollar Question
Blockchain and Smart Contracts
blockchain
Blockchain by Aman Thakur.pptx
Blockchain with HyperLedger (Public version)
Ovum blockchain for beginners
The implications of blockchain for the insurance industry - Eurapco Peer Semi...
AWIP Pink Innov Blockchain Workshop deck - May 23, 2019
Ethereum-Cryptocurrency (All about Ethereum)
An introduction to blockchain and hyperledger v ru
Supply Chain Management using Blockchain
The GeeqChain Project Summary
Top 8 blockchain based smart contract platforms
Nov 2 security for blockchain and analytics ulf mattsson 2020 nov 2b
Blockchain for Business
Ad

Recently uploaded (20)

PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
top salesforce developer skills in 2025.pdf
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Nekopoi APK 2025 free lastest update
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
Transform Your Business with a Software ERP System
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
medical staffing services at VALiNTRY
PDF
System and Network Administration Chapter 2
PPTX
Essential Infomation Tech presentation.pptx
How to Choose the Right IT Partner for Your Business in Malaysia
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
top salesforce developer skills in 2025.pdf
Wondershare Filmora 15 Crack With Activation Key [2025
PTS Company Brochure 2025 (1).pdf.......
Nekopoi APK 2025 free lastest update
Adobe Illustrator 28.6 Crack My Vision of Vector Design
How Creative Agencies Leverage Project Management Software.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Navsoft: AI-Powered Business Solutions & Custom Software Development
Transform Your Business with a Software ERP System
Design an Analysis of Algorithms I-SECS-1021-03
Softaken Excel to vCard Converter Software.pdf
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
medical staffing services at VALiNTRY
System and Network Administration Chapter 2
Essential Infomation Tech presentation.pptx

Smart Contract: QA Role for Decentralized Platform

  • 1. Hire the top 3% of freelance talent Smart contract: QA Role for Decentralized Platform
  • 2. imgimgimg | 2 $whoami Marco Andrade ● I'm from Brazil ● I have visited 18 countries (3 continents) ● QA Automation Engineer and Scrum Master at Toptal ● Toptal's Community leader at Belo Horizonte
  • 4. | 4 This is a Smart Contract
  • 5. | 5 Blockchain: What is it Blockchain is a secure, shared, distributed ledger
  • 7. | 7 Here's a bright idea: let's put code into the blockchain! Some "accounts" have code attached to them, they become "contracts". The code can: Smart Contract ● Decide what happens to the coins sent to it ● Create new transactions ● Query blockchain data ● Generate events ● Call other smart contracts ● ... or do anything else since is Turing-complete
  • 8. | 8 Use of Smart contracts
  • 9. | 9 Requirements for a payment system Decentralized, anonymous system for exchanging money/information: ● All transactions should be made over the Internet ● No central authority that will process transactions ● Users should be anonymous and identified only by their virtual identity ● A single user can have as many virtual identities as he or she likes ● Value supply (new virtual bills) must be added in a controlled way
  • 11. | 11 QA Role In 2017, it’s estimated that $500 million has been lost due to bad code, and around half of that figure involved Ethereum.
  • 12. | 12 QA Role Very much the same: ● Build tests based on requirements. ● Automate and execute them. ● Provide risk assessment of the software to the team at any given point of the development cycle.
  • 14. | 14 Key points ● Immutable data ● Data visibility ● Learn different tools ● Ensure code is covered by tests ● Grow a quality culture inside your company ● Have a critical thinking
  • 15. | 15 Smart contract No internal state. Stateless Has internal state (is mutable), therefore need special care for security and correctness. Stateful
  • 16. | 16 Smart contract Business logic Triggered by the events Using digital signatures to identify who sent the messages Putting the programs, messages, and signatures on a Blockchain Executing every program for every message on every node.
  • 18. | 18 Bug examples: King of the Ether Throne
  • 19. | 19 Bug examples: King of the Ether Throne It is little mistakes like these which can cause a lot of havoc if not corrected in time.
  • 20. | 20 Bug examples: King of the Ether Throne When it comes to smart contract coding, attention to detail is of paramount importance to avoid smart contract vulnerabilities.
  • 21. | 21 Bug examples: batchOverflow
  • 22. | 22 Bug examples: batchOverflow
  • 23. | 23 Bug examples: batchOverflow It is little mistakes like these which can cause a lot of havoc if not corrected in time. When it comes to smart contract coding, attention to detail is of paramount importance to avoid smart contract vulnerabilities.
  • 25. | 25 Challenge of many standards and protocols
  • 26. | 26 Challenge of many standards and protocols As with any rapidly developing field, there has been a chorus of calls for standardization. Items that could be targets for further standardization: ● Basic data models for Blockchain (Blocks, Events, and State Machine) ● Consensus algorithms (Proof of Work, Stellar Consensus, Hashgraph) ● Storage algorithms (Merkle Trees, MerklePatriciaTries, Linked Lists) ● Signature algorithms (JOSE Web Signing, Linked Data Signatures, Chainpoint) ● Web-based access protocols (Cre-ate, Read, Add, Get Status, Query)
  • 27. | 27 Hard fork, soft fork, chain split and replay attack Introduce a limitation on what is valid. New versions of software simply stop producing some forms of transactions / blocks, etc. which were previously valid. Soft fork Introduces new features which old versions of software do not support or recognise as valid. Forward- incompatible. Hard fork Old software continues to accept data created by new versions - the data will simply lack certain features. Old version of software will discard data created by new versions - often because it has features it doesn't know how to handle.
  • 28. | 28 Hard fork, soft fork, chain split and replay attack Chain split is a scenario where there are two or more competing versions of the blockchain that share the same history up to the point that their rulesets diverge. Chain split It is possible for both a soft fork and a hard fork to cause a chain split.
  • 29. | 29 Hard fork, soft fork, chain split and replay attack If you own some amount on the ledger before the split, you will have the same amount on both ledgers after the split. What if you want to spend money on one ledger and not on the other? Replay attack
  • 30. | 30 Common security concerns 1. Wallet compromise / password stealing / social engineering*. This one is most common by far. 2. Politics. In case of Bitcoin, influential people have continually steered the course of development to their personal benefit. 3. 51% attack. The way distributed consensus works, the majority wins. So if 51% of all miners decide to run an executable with a certain set of rules, they control the blockchain. 4. Transaction selectivity attacks. Miners (esp. if colluding) basically have the power to pick which transactions go into blocks, and (sometimes more importantly) when.
  • 31. Hire the top 3% of freelance talent http://bit.ly/HireToptal http://bit.ly/DevToptal LinkedIn: bit.ly/MarcoQA marco.felizardo@toptal.com Muito obrigado! Thank you! Questions? QA Automation Engineer