Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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