I. Konnov, Marijana Lazi'c, Ilina Stoilkovska, Josef Widder
{"title":"阈值自动机和拜占庭模型检查器的参数化验证研究","authors":"I. Konnov, Marijana Lazi'c, Ilina Stoilkovska, Josef Widder","doi":"10.46298/lmcs-19(1:5)2023","DOIUrl":null,"url":null,"abstract":"Threshold guards are a basic primitive of many fault-tolerant algorithms that\nsolve classical problems in distributed computing, such as reliable broadcast,\ntwo-phase commit, and consensus. Moreover, threshold guards can be found in\nrecent blockchain algorithms such as, e.g., Tendermint consensus. In this\narticle, we give an overview of techniques for automated verification of\nthreshold-guarded fault-tolerant distributed algorithms, implemented in the\nByzantine Model Checker (ByMC). These threshold-guarded algorithms have the\nfollowing features: (1) up to $t$ of processes may crash or behave Byzantine;\n(2) the correct processes count messages and make progress when they receive\nsufficiently many messages, e.g., at least $t+1$; (3) the number $n$ of\nprocesses in the system is a parameter, as well as the number $t$ of faults;\nand (4) the parameters are restricted by a resilience condition, e.g., $n >\n3t$. Traditionally, these algorithms were implemented in distributed systems\nwith up to ten participating processes. Nowadays, they are implemented in\ndistributed systems that involve hundreds or thousands of processes. To make\nsure that these algorithms are still correct for that scale, it is imperative\nto verify them for all possible values of the parameters.","PeriodicalId":314387,"journal":{"name":"Log. Methods Comput. Sci.","volume":"64 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2020-11-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"Survey on Parameterized Verification with Threshold Automata and the Byzantine Model Checker\",\"authors\":\"I. Konnov, Marijana Lazi'c, Ilina Stoilkovska, Josef Widder\",\"doi\":\"10.46298/lmcs-19(1:5)2023\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Threshold guards are a basic primitive of many fault-tolerant algorithms that\\nsolve classical problems in distributed computing, such as reliable broadcast,\\ntwo-phase commit, and consensus. Moreover, threshold guards can be found in\\nrecent blockchain algorithms such as, e.g., Tendermint consensus. In this\\narticle, we give an overview of techniques for automated verification of\\nthreshold-guarded fault-tolerant distributed algorithms, implemented in the\\nByzantine Model Checker (ByMC). These threshold-guarded algorithms have the\\nfollowing features: (1) up to $t$ of processes may crash or behave Byzantine;\\n(2) the correct processes count messages and make progress when they receive\\nsufficiently many messages, e.g., at least $t+1$; (3) the number $n$ of\\nprocesses in the system is a parameter, as well as the number $t$ of faults;\\nand (4) the parameters are restricted by a resilience condition, e.g., $n >\\n3t$. Traditionally, these algorithms were implemented in distributed systems\\nwith up to ten participating processes. Nowadays, they are implemented in\\ndistributed systems that involve hundreds or thousands of processes. To make\\nsure that these algorithms are still correct for that scale, it is imperative\\nto verify them for all possible values of the parameters.\",\"PeriodicalId\":314387,\"journal\":{\"name\":\"Log. Methods Comput. Sci.\",\"volume\":\"64 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2020-11-30\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Log. Methods Comput. Sci.\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.46298/lmcs-19(1:5)2023\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Log. Methods Comput. Sci.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.46298/lmcs-19(1:5)2023","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Survey on Parameterized Verification with Threshold Automata and the Byzantine Model Checker
Threshold guards are a basic primitive of many fault-tolerant algorithms that
solve classical problems in distributed computing, such as reliable broadcast,
two-phase commit, and consensus. Moreover, threshold guards can be found in
recent blockchain algorithms such as, e.g., Tendermint consensus. In this
article, we give an overview of techniques for automated verification of
threshold-guarded fault-tolerant distributed algorithms, implemented in the
Byzantine Model Checker (ByMC). These threshold-guarded algorithms have the
following features: (1) up to $t$ of processes may crash or behave Byzantine;
(2) the correct processes count messages and make progress when they receive
sufficiently many messages, e.g., at least $t+1$; (3) the number $n$ of
processes in the system is a parameter, as well as the number $t$ of faults;
and (4) the parameters are restricted by a resilience condition, e.g., $n >
3t$. Traditionally, these algorithms were implemented in distributed systems
with up to ten participating processes. Nowadays, they are implemented in
distributed systems that involve hundreds or thousands of processes. To make
sure that these algorithms are still correct for that scale, it is imperative
to verify them for all possible values of the parameters.