Download Challenging Anti-fragile Blockchain systems

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Corecursion wikipedia , lookup

Cryptocurrency wikipedia , lookup

Fault tolerance wikipedia , lookup

Transcript
ChallengingAnti-fragile
Blockchain systems
MiguelGonzález
Univ.Lille1
1
WhatisAnti-fragile?
Harmedby
disorder
Resilientto
disorder
BenefitsandLearns
fromdisorder
2
Systemsconsideredanti-fragile
• Financialsystem
• HumanBody
• Restaurantsystem
• Healthcaresystem
• Netflixasacompanyanditsarchitecture
• Bitcoin
3
IndustriesareininterestedinBitcoin
• Banks
• Music
• Retail
• SupplyChain
• Manufacturing
• ButtheyseeissueswiththeBitcoinprotocol,sotheyareinvestingin
Blockchain
4
WhatisaBlockchain ?
• Achain(sequence)ofblocks oftransactions
• Eachblockconsistsofanumberoftransactions
• ABlockchain isjustaDistributedDatabasewith:
•
•
•
•
•
•
Addedsecurity
Consensus
Dataimmutability
SmartContracts(chaincode)
Authorization&Authentication
Recordkeeping
5
Traditionalvs.Blockchain
6
ProofofWork(Bitcoin,Ethereum)
State machinereplication
(Hyperledger,Corda)
Membership
Permissionless
Permissioned
UserIDs
Decentralized,Anonymous
(DecentralizedprotectionbyPoW
compute/hashpower)
Centralized,all
NodesknowallotherNodes
(CentralizedIDMprotectsagainst
Sybilattacks)
Scalability
(no.ofNodes)
Excellent,>100k Nodes
Verifieduptofewtens(orso)
Nodes
Throughput
7tx /sec upperbound(Bitcoin)
>10ktx /secwithexisting
implementationsinsoftware
Power efficiency
>1GW(Bitcoin)
Good(commodityhardware)
Forksin
blockchain
Possible(leadstodouble
spendingattacks)
Notpossible
Consensus
No
Yes,withBFTprotocols
Cryptocurrency
Yes
No
Anti-Fragile
Yes
???
7
Problem
• ImportantinstitutionsarerushingtoimplementBlockchain.
• Mostimplementationsareuntestedandwilllikelyhavebugs.
• Hypothesis:Removingkeyelementsfromanti-fragilesystemlike
Bitcoinwillmakeitmorefragile
• WhatcanIusetotestDistributedSystemslikeBlockchains?
• Formalmethods
• Failureinjection
• Instrumentation
8
RelatedWork
• Randomfaultinjection(Basiri etal.,2016)
• Byzantinefaultinjection(Martinsetal.,2013)
• Lineage-drivenfaultinjection(Alvaroetal.,2015)
9
Motivation
• Blockchain technologiesdonothaveanyfaultinjectionframeworks
• Blockchain techhasn’tbeenformallyverified
• Availablefault-injectionsolutionsdonotcoverByzantinefailures
10
Myproposal
• SystematicByzantineFailureInjectionforBlockchain technology.
• Byzantinefaultsinconsideration
•
•
•
•
Crash
MessageDelay
CorruptPackets
SystemOverloading
• Systematicandrecoverableinjection
• FaultType
• FaultParameters(faultduration,delaytime,#clients)
• Blockchain andprotocolsinconsideration
• Hyperledger Fabric- PBFT&Kafka
• Corda- BFT-Smart&RAFT
11
Architecture
for
FailureInjection
12
Challenge
• CreateageneralsolutiontoinjectByzantinefailuresintoBlockchains
despitetheirdifferences:
• Language
• Architecture
• Protocol
13
NextSteps
• CompleteimplementationoftheFailureinjector
• PerformlargescaleexperimentswithHyperledger FabricandCorda
• IntroduceSmartfailureinjectionlikeLDFI
• StartthebaselineforaBenchmarkforpermissionedBlockchain
14
END
• Problem:RecentinterestinBlockchain technologiesthatremain
untested.Theylackgoodtestingframeworktoverifyandcompare
them.Wedon’tknowiftheyareanti-fragile.
• Contribution:SystematicByzantineFailureInjectionforBlockchain
technology.AimstohelpbenchmarkBlockchain technologiesand
endowthemwithanti-fragilityifusedinproduction.
15
ExampleofFailure
• httpPOSThttp://injector:8080 cmd=“WAIT”period=500
type=“DELAY”
• httpPOSThttp://injector:8080 cmd=“START”type=“DELETE”
path=“/var/lib/hyperledger/data”
• httpPOSThttp://injector:8080 cmd=“WAIT”type=“DOWN”
iface=“eth0”
16