{"title":"Byzantine Fault Tolerance","authors":"Allen Clement","doi":"10.1002/9781119682127.ch7","DOIUrl":null,"url":null,"abstract":"I am excited by the challenge of making distributed systems reliable and robust to failures. Distributed systems form the backbone of a variety of services that play an important part in daily life: email, e-commerce, and air traffic control are a few examples. The impact of failures of such services ranges from the inconvenience of lost email, to the hassles of delayed flights, to financial losses and even closure of companies. It is difficult to design reliable distributed systems because individual computers and the networks connecting them can fail in a variety of ways. Each computer or network failure can lead to an unplanned behavior of individual components and the system as a whole. Can we build reliable systems without considering every possible failure scenario? My research focuses on the development of end-to-end techniques for building reliable systems that are general, practical, and theoretically sound. Specifically, general techniques cover a wide range of faults and are easy to incorporate into a variety of new and legacy systems; practical techniques impose low overheads, provide robust performance in the presence of failures, and are based on realistic and tenable system models; theoretically sound techniques provide welldefined guarantees under well-defined assumptions. I believe that all three properties are important – techniques that are not general have limited deployment potential, techniques that are not practical will not be used, and techniques that are not theoretically sound may not work as advertised.","PeriodicalId":245238,"journal":{"name":"From Traditional Fault Tolerance to Blockchain","volume":"162 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"18","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"From Traditional Fault Tolerance to Blockchain","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1002/9781119682127.ch7","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 18
Abstract
I am excited by the challenge of making distributed systems reliable and robust to failures. Distributed systems form the backbone of a variety of services that play an important part in daily life: email, e-commerce, and air traffic control are a few examples. The impact of failures of such services ranges from the inconvenience of lost email, to the hassles of delayed flights, to financial losses and even closure of companies. It is difficult to design reliable distributed systems because individual computers and the networks connecting them can fail in a variety of ways. Each computer or network failure can lead to an unplanned behavior of individual components and the system as a whole. Can we build reliable systems without considering every possible failure scenario? My research focuses on the development of end-to-end techniques for building reliable systems that are general, practical, and theoretically sound. Specifically, general techniques cover a wide range of faults and are easy to incorporate into a variety of new and legacy systems; practical techniques impose low overheads, provide robust performance in the presence of failures, and are based on realistic and tenable system models; theoretically sound techniques provide welldefined guarantees under well-defined assumptions. I believe that all three properties are important – techniques that are not general have limited deployment potential, techniques that are not practical will not be used, and techniques that are not theoretically sound may not work as advertised.