Upgrade to Pro — share decks privately, control downloads, hide ads and more …

EXTENT-2019: Testing in the Fast Chain

Exactpro
PRO
September 17, 2019

EXTENT-2019: Testing in the Fast Chain

Testing in the Fast Chain
Moray Grieve, Head of QA, R3

EXTENT-2019
17 September 2019, London

At EXTENT-2019, Moray Grieve, Head of QA, R3 gave a brief overview of R3’s Corda platform and shared his insights into the particulars of testing DLT systems.
Follow the link to watch the video: https://youtu.be/Jnm-a5sQzfA

To learn more about Exactpro, visit our website https://exactpro.com/
EXTENT Conference website: https://extent.exactpro.com/
Follow us on
LinkedIn https://www.linkedin.com/company/exactpro-systems-llc
Twitter https://twitter.com/exactpro
Facebook https://www.facebook.com/exactpro/
Instagram https://www.instagram.com/exactpro/

Subscribe to Exactpro YouTube channel https://www.youtube.com/c/exactprosystems

Exactpro
PRO

September 17, 2019
Tweet

More Decks by Exactpro

Other Decks in Technology

Transcript

  1. 1

    1

    Testing in the fast chain
    Dr. Moray Grieve, Head of QA

    View Slide

  2. Enterprise grade blockchain platform enabling
    distrusting parties to form and maintain consensus
    about the existence, status and evolution of a set of
    shared facts.
    2

    View Slide

  3. Key Concepts
    States
    States are immutable objects that
    represent shared facts such as a
    financial agreement or contract at a
    specific point in time
    Transactions
    Transactions consume input states and
    create output states. Newly created
    output states replace the input states
    which are marked as historic
    Contracts
    Contracts control the evolution of
    states by allowing relevant
    participants to check for transaction
    validity
    Flows
    Flows are light-weight processes used
    to coordinate interactions required for
    peers to create and agree
    transactions

    View Slide

  4. The Ledger
    The ledger from each peer’s point of view is the
    union of all intersections with other network peers
    Numbered circles
    represent unique
    shared facts
    4

    View Slide

  5. Transactions
    TxHash:f70f5…
    Index: 2
    TRANSACTION
    Hash = 95fd065cb0…
    TxHash:8031d…
    Index: 0
    New State
    1
    New State
    2
    TxHash:95fd0…
    Index: 1
    TRANSACTION
    Hash = 1ba0ce7a71…
    TxHash: 0dbfc…
    Index: 0
    New State
    1
    TxHash:5600d…
    Index: 3
    TRANSACTION
    Hash = 0dbfcf6665…
    TxHash:047dd…
    Index: 0
    New State
    1
    New State
    2
    HISTORIC
    HISTORIC
    • Transactions are proposals to update the
    ledger
    • A transaction will only be committed if
    • It doesn’t contain double spends
    • It is contractually valid
    • It is signed by all required parties
    • State references link together
    transactions over time, forming
    transaction chains

    View Slide

  6. Flows
    ALICE
    BOB
    1. Alice creates a new
    transaction proposal and
    signs it
    2. Alice sends the proposal
    and her signature to Bob
    3. Bob inspects the proposal,
    verifies it and then signs it
    4. Bob sends back the
    transaction and his signature
    to Alice
    5. Alice verifies the transaction
    and checks Bob’s signature
    Uninvolved peers do not receive any of
    Alice’s or Bob’s transactions

    View Slide

  7. What it is What it does
    Trust
    Root
    The single, long-term cryptographic
    key which all network‘s identity
    (X509) certificates root back to
    It provides the basis of trust in
    the provenance of data,
    recognised by participants
    Identity
    Manager
    Admits new members onto the
    network via granting an identity
    certificate
    Performs 3 checks on new
    certificate requests and grants
    based on passing the checks
    Network
    Map
    A list of IP addresses and legal entity
    names of each participant on the
    network, which all participants can
    access
    Acts as a Corda Network ‘phone
    directory’
    Notary Node or cluster of notary nodes Prevents double-spend of input
    states
    nodes
    notary
    A Corda Network
    The Network
    Permissioned network with public identities allowing nodes to communicate
    directly with each other

    View Slide

  8. Testing challenges
    • Platform technology (build CorDapps to test the full API)
    • Highly distributed (complexity in test automation)
    • Heterogeneous networks (combinatorial explosion)
    • Highly secure (cryptography, ledger consistency is everything)
    • Eventually consistent (transaction flows can be complex)
    • Evolutionary lifecycle (platform and CorDapp upgrades)
    • Highly available (resiliency testing)
    • Temporal (performance testing)

    View Slide

  9. Heterogenous networks
    9
    Corda OS 4.0
    Corda ENT 4.0
    Corda ENT 4.1
    Corda ENT 4.1 CorDapp 1.1 / 1.3
    Corda OS 4.0 CorDapp 1.1 / 1.2 / 1.3
    Operating Systems
    JVMs
    HSMs
    Databases
    Corda Tokens SDK
    Corda Accounts SDK
    1.0, 1.1
    1.0
    Corda Enterprise 4.0 can be used in mixed-version networks seamlessly
    transacting with nodes running on a minimum platform version of 4

    View Slide

  10. Combinatorial testing
    1
    0
    The number of unique connections in a network is n*(n-1)/2
    • 6 Corda versions (3 Open Source, 3 Enterprise)
    • 3 Token SDK versions, 2 Account SDK versions
    • 5 CorDapps, each with 2 versions
    • 4 Operating systems, 2 JVMs, 5 HSMs, 5 databases
    • 14,400 Node configurations, 103,672,800 connections, ~1 billion testcases
    • If 1 min to run a clean test, time to execute ~2,000 years
    • Pairwise testing reduces to 34 configurations, 561 connections, ~4 days
    • Two or more differences across Corda parameters reduces network density by 10%
    • Parallelize across 20 machines to reduce to ~4 hours
    • Bring up as a single network and run dirty tests

    View Slide

  11. London
    2 London Wall Place,
    London, EC2Y 5AU
    Hong Kong
    Bonham Strand, 7F Office 18-121
    Hong Kong
    www.r3.com
    Thank you
    Brazil
    Av. Angélica, 2529 - Bela Vista
    6th Floor
    São Paulo - SP, 01153-000, Brazil
    New York
    11 West 42nd Street, 8th Floor
    New York, NY 10036
    Singapore
    18 Robinson Road, Level #14-02
    Singapore, 048547

    View Slide