A MILP Model for a Byzantine Fault Tolerant Blockchain Consensus

Mixed-integer mathematical programming has been widely used to model and solve challenging optimization problems. One interesting feature of this technique is the ability to prove the optimality of the achieved solution, for many practical scenarios where a linear programming model can be devised. T...

Full description

Bibliographic Details
Main Authors: Vitor Nazário Coelho, Rodolfo Pereira Araújo, Haroldo Gambini Santos, Wang Yong Qiang, Igor Machado Coelho
Format: Article
Language:English
Published: MDPI AG 2020-10-01
Series:Future Internet
Subjects:
Online Access:https://www.mdpi.com/1999-5903/12/11/185
_version_ 1797549551784034304
author Vitor Nazário Coelho
Rodolfo Pereira Araújo
Haroldo Gambini Santos
Wang Yong Qiang
Igor Machado Coelho
author_facet Vitor Nazário Coelho
Rodolfo Pereira Araújo
Haroldo Gambini Santos
Wang Yong Qiang
Igor Machado Coelho
author_sort Vitor Nazário Coelho
collection DOAJ
description Mixed-integer mathematical programming has been widely used to model and solve challenging optimization problems. One interesting feature of this technique is the ability to prove the optimality of the achieved solution, for many practical scenarios where a linear programming model can be devised. This paper explores its use to model <i>very strong Byzantine adversaries</i>, in the context of distributed consensus systems. In particular, we apply the proposed technique to find challenging adversarial conditions on a state-of-the-art blockchain consensus: the Neo dBFT. Neo Blockchain has been using the dBFT algorithm since its foundation, but, due to the complexity of the algorithm, it is challenging to devise definitive algebraic proofs that guarantee safety/liveness of the system (and adjust for every change proposed by the community). Core developers have to manually devise and explore possible adversarial attacks scenarios as an exhaustive task. The proposed multi-objective model is intended to assist the search of possible faulty scenario, which includes three objective functions that can be combined as a maximization problem for testing one-block finality or a minimization problem for ensuring liveness. Automated graphics help developers to visually observe attack conditions and to quickly find a solution. This paper proposes an exact adversarial model that explores current limits for practical blockchain consensus applications such as dBFT, with ideas that can also be extended to other decentralized ledger technologies.
first_indexed 2024-03-10T15:16:14Z
format Article
id doaj.art-d074447dc0cd494183ddaac702d1c19c
institution Directory Open Access Journal
issn 1999-5903
language English
last_indexed 2024-03-10T15:16:14Z
publishDate 2020-10-01
publisher MDPI AG
record_format Article
series Future Internet
spelling doaj.art-d074447dc0cd494183ddaac702d1c19c2023-11-20T18:56:53ZengMDPI AGFuture Internet1999-59032020-10-01121118510.3390/fi12110185A MILP Model for a Byzantine Fault Tolerant Blockchain ConsensusVitor Nazário Coelho0Rodolfo Pereira Araújo1Haroldo Gambini Santos2Wang Yong Qiang3Igor Machado Coelho4OptBlocks, Avenida Jo ao Pinheiro, 274 Sala 201-Lourdes, Belo Horizonte-MG 30130-186, BrazilGraduate Program in Computational Sciences (PPG-CComp), Universidade do Estado do Rio de Janeiro, Rua S ao Francisco Xavier, 524-Maracan a, Rio de Janeiro-RJ 20550-013, BrazilDepartment of Computer Science, Universidade Federal de Ouro Preto, Campus Morro do Cruzeiro, Ouro Preto-MG 35400-000, BrazilResearch & Development Department, Neo Global Development, 80, Zhengxue Rd, Shanghai 200082, ChinaInstitute of Computing, Universidade Federal Fluminense, Av. Gal. Milton Tavares de Souza, São Domingos, Niterói-RJ 24210-310, BrazilMixed-integer mathematical programming has been widely used to model and solve challenging optimization problems. One interesting feature of this technique is the ability to prove the optimality of the achieved solution, for many practical scenarios where a linear programming model can be devised. This paper explores its use to model <i>very strong Byzantine adversaries</i>, in the context of distributed consensus systems. In particular, we apply the proposed technique to find challenging adversarial conditions on a state-of-the-art blockchain consensus: the Neo dBFT. Neo Blockchain has been using the dBFT algorithm since its foundation, but, due to the complexity of the algorithm, it is challenging to devise definitive algebraic proofs that guarantee safety/liveness of the system (and adjust for every change proposed by the community). Core developers have to manually devise and explore possible adversarial attacks scenarios as an exhaustive task. The proposed multi-objective model is intended to assist the search of possible faulty scenario, which includes three objective functions that can be combined as a maximization problem for testing one-block finality or a minimization problem for ensuring liveness. Automated graphics help developers to visually observe attack conditions and to quickly find a solution. This paper proposes an exact adversarial model that explores current limits for practical blockchain consensus applications such as dBFT, with ideas that can also be extended to other decentralized ledger technologies.https://www.mdpi.com/1999-5903/12/11/185byzantine fault toleranceconsensusdistributed ledger technologyexact adversarial modelinteger programmingNeo Blockchain
spellingShingle Vitor Nazário Coelho
Rodolfo Pereira Araújo
Haroldo Gambini Santos
Wang Yong Qiang
Igor Machado Coelho
A MILP Model for a Byzantine Fault Tolerant Blockchain Consensus
Future Internet
byzantine fault tolerance
consensus
distributed ledger technology
exact adversarial model
integer programming
Neo Blockchain
title A MILP Model for a Byzantine Fault Tolerant Blockchain Consensus
title_full A MILP Model for a Byzantine Fault Tolerant Blockchain Consensus
title_fullStr A MILP Model for a Byzantine Fault Tolerant Blockchain Consensus
title_full_unstemmed A MILP Model for a Byzantine Fault Tolerant Blockchain Consensus
title_short A MILP Model for a Byzantine Fault Tolerant Blockchain Consensus
title_sort milp model for a byzantine fault tolerant blockchain consensus
topic byzantine fault tolerance
consensus
distributed ledger technology
exact adversarial model
integer programming
Neo Blockchain
url https://www.mdpi.com/1999-5903/12/11/185
work_keys_str_mv AT vitornazariocoelho amilpmodelforabyzantinefaulttolerantblockchainconsensus
AT rodolfopereiraaraujo amilpmodelforabyzantinefaulttolerantblockchainconsensus
AT haroldogambinisantos amilpmodelforabyzantinefaulttolerantblockchainconsensus
AT wangyongqiang amilpmodelforabyzantinefaulttolerantblockchainconsensus
AT igormachadocoelho amilpmodelforabyzantinefaulttolerantblockchainconsensus
AT vitornazariocoelho milpmodelforabyzantinefaulttolerantblockchainconsensus
AT rodolfopereiraaraujo milpmodelforabyzantinefaulttolerantblockchainconsensus
AT haroldogambinisantos milpmodelforabyzantinefaulttolerantblockchainconsensus
AT wangyongqiang milpmodelforabyzantinefaulttolerantblockchainconsensus
AT igormachadocoelho milpmodelforabyzantinefaulttolerantblockchainconsensus