Challenging Anti-fragile Blockchain systems Miguel Gonzlez Univ. - - PowerPoint PPT Presentation

challenging anti fragile blockchain systems
SMART_READER_LITE
LIVE PREVIEW

Challenging Anti-fragile Blockchain systems Miguel Gonzlez Univ. - - PowerPoint PPT Presentation

Challenging Anti-fragile Blockchain systems Miguel Gonzlez Univ. Lille 1 1 What is Anti-fragile? Harmed by Resilient to Benefits and Learns disorder disorder from disorder 2 Systems considered anti-fragile Financial system


slide-1
SLIDE 1

Challenging Anti-fragile Blockchain systems

Miguel González

  • Univ. Lille 1

1

slide-2
SLIDE 2

What is Anti-fragile?

2

Benefits and Learns from disorder Resilient to disorder Harmed by disorder

slide-3
SLIDE 3

Systems considered anti-fragile

  • Financial system
  • Human Body
  • Restaurant system
  • Healthcare system
  • Netflix as a company and its architecture
  • Bitcoin

3

slide-4
SLIDE 4

Industries are in interested in Bitcoin

  • Banks
  • Music
  • Retail
  • Supply Chain
  • Manufacturing
  • But they see issues with the Bitcoin protocol, so they are investing in

Blockchain

4

slide-5
SLIDE 5

What is a Blockchain ?

  • A chain (sequence) of blocks of transactions
  • Each block consists of a number of transactions
  • A Blockchain is just a Distributed Database with:
  • Added security
  • Consensus
  • Data immutability
  • Smart Contracts (chaincode)
  • Authorization & Authentication
  • Record keeping

5

slide-6
SLIDE 6

Traditional vs. Blockchain

6

slide-7
SLIDE 7

Proof of Work (Bitcoin, Ethereum) State machine replication (Hyperledger, Corda) Membership Permissionless Permissioned User IDs Decentralized, Anonymous (Decentralized protection by PoW compute/hash power) Centralized, all Nodes know all other Nodes (Centralized IDM protects against Sybil attacks) Scalability (no. of Nodes) Excellent, >100k Nodes Verified up to few tens (or so) Nodes Throughput 7 tx /sec upper bound (Bitcoin) >10k tx /sec with existing implementations in software Power efficiency >1 GW (Bitcoin) Good (commodity hardware) Forks in blockchain Possible (leads to double spending attacks) Not possible Consensus No Yes, with BFT protocols Cryptocurrency Yes No Anti-Fragile Yes ???

7

slide-8
SLIDE 8

Problem

  • Important institutions are rushing to implement Blockchain.
  • Most implementations are untested and will likely have bugs.
  • Hypothesis: Removing key elements from anti-fragile system like

Bitcoin will make it more fragile

8

  • What can I use to test Distributed Systems like Blockchains?
  • Formal methods
  • Failure injection
  • Instrumentation
slide-9
SLIDE 9

Related Work

  • Random fault injection (Basiri et al., 2016)
  • Byzantine fault injection (Martins et al., 2013)
  • Lineage-driven fault injection (Alvaro et al., 2015)

9

slide-10
SLIDE 10

Motivation

  • Blockchain technologies do not have any fault injection frameworks
  • Blockchain tech hasn’t been formally verified
  • Available fault-injection solutions do not cover Byzantine failures

10

slide-11
SLIDE 11

My proposal

  • Systematic Byzantine Failure Injection for Blockchain technology.
  • Byzantine faults in consideration
  • Crash
  • Message Delay
  • Corrupt Packets
  • System Overloading
  • Systematic and recoverable injection
  • Fault Type
  • Fault Parameters (fault duration, delay time, # clients)
  • Blockchain and protocols in consideration
  • Hyperledger Fabric - PBFT & Kafka
  • Corda - BFT-Smart & RAFT

11

slide-12
SLIDE 12

Architecture for Failure Injection

12

slide-13
SLIDE 13

Challenge

  • Create a general solution to inject Byzantine failures into Blockchains

despite their differences:

  • Language
  • Architecture
  • Protocol

13

slide-14
SLIDE 14

Next Steps

  • Complete implementation of the Failure injector
  • Perform large scale experiments with Hyperledger Fabric and Corda
  • Introduce Smart failure injection like LDFI
  • Start the base line for a Benchmark for permissioned Blockchain

14

slide-15
SLIDE 15

END

  • Problem: Recent interest in Blockchain technologies that remain
  • untested. They lack good testing framework to verify and compare
  • them. We don’t know if they are anti-fragile.
  • Contribution: Systematic Byzantine Failure Injection for Blockchain
  • technology. Aims to help benchmark Blockchain technologies and

endow them with anti-fragility if used in production.

15

slide-16
SLIDE 16

Example of Failure

  • http POST http://injector:8080 cmd=“WAIT” period=500

type=“DELAY”

  • http POST http://injector:8080 cmd=“START” type=“DELETE”

path=“/var/lib/hyperledger/data”

  • http POST http://injector:8080 cmd=“WAIT” type=“DOWN”

iface=“eth0”

16