-
Centrality of nodes in Federated Byzantine Agreement Systems
Authors:
André Gaul,
Jörg Liesen
Abstract:
The federated Byzantine agreement system (FBAS) is a consensus model introduced by Mazières in 2016 where the participating nodes conceptually form a network, with links between them being established by each node individually and thus in a decentralized way. An important question is whether these decentralized decisions lead to an overall decentralized network. The level of (de-)centralization in…
▽ More
The federated Byzantine agreement system (FBAS) is a consensus model introduced by Mazières in 2016 where the participating nodes conceptually form a network, with links between them being established by each node individually and thus in a decentralized way. An important question is whether these decentralized decisions lead to an overall decentralized network. The level of (de-)centralization in a network can be assessed using centrality measures. In this paper we consider three different approaches for obtaining centrality measures for the nodes in an FBAS. Two of them are based on adapting well-known measures based on graphs and hypergraphs to the FBAS context. Since the network structure of an FBAS can be more complex than (usual) graphs or hypergraphs, we also develop a new, problem-adapted centrality measure. This new measure is based on the intactness of nodes, which is an important ingredient of the FBAS model. We illustrate advantages and disadvantages of the three approaches on several computed examples. We have implemented all centrality measures and performed all computations in the Python package Stellar Observatory.
△ Less
Submitted 7 December, 2020;
originally announced December 2020.
-
Mathematical Analysis and Algorithms for Federated Byzantine Agreement Systems
Authors:
André Gaul,
Ismail Khoffi,
Jörg Liesen,
Torsten Stüber
Abstract:
We give an introduction to federated Byzantine agreement systems (FBAS) with many examples ranging from small "academic" cases to the current Stellar network. We then analyze the main concepts from a mathematical and an algorithmic point of view. Based on work of Lachowski we derive algorithms for quorum enumeration, checking quorum intersection, and computing the intact nodes with respect to a gi…
▽ More
We give an introduction to federated Byzantine agreement systems (FBAS) with many examples ranging from small "academic" cases to the current Stellar network. We then analyze the main concepts from a mathematical and an algorithmic point of view. Based on work of Lachowski we derive algorithms for quorum enumeration, checking quorum intersection, and computing the intact nodes with respect to a given set of ill-behaved (Byzantine) nodes. We also show that from the viewpoint of the intactness probability of nodes, which we introduce in this paper, a hierarchical setup of nodes is inferior to an arrangement that we call a symmetric simple FBAS. All algorithms described in this paper are implemented in the Python package Stellar Observatory, which is also used in some of the computed examples.
△ Less
Submitted 3 December, 2019;
originally announced December 2019.
-
Function call overhead benchmarks with MATLAB, Octave, Python, Cython and C
Authors:
André Gaul
Abstract:
We consider the overhead of function calls in the programming languages MATLAB/Octave, Python, Cython and C. In many applications a function has to be called very often inside a loop. One such application in numerical analysis is the finite element method where integrals have to be computed on each element in a loop. The called functions can often be evaluated efficiently but the function call its…
▽ More
We consider the overhead of function calls in the programming languages MATLAB/Octave, Python, Cython and C. In many applications a function has to be called very often inside a loop. One such application in numerical analysis is the finite element method where integrals have to be computed on each element in a loop. The called functions can often be evaluated efficiently but the function call itself may be time-consuming. We present a benchmark whose goal is to identify and quantify optimization potentials with respect to time consumption caused by function calls in the mentioned programming languages.
△ Less
Submitted 13 February, 2012;
originally announced February 2012.