  L. N. Childs defined a bi-skew brace to be a skew brace such that if we swap
the role of the two operations, then we find again a skew brace.
  In this paper, we give a systematic analysis of bi-skew braces. We study
nilpotency and solubility, and connections between bi-skew braces and
set-theoretic solutions of the Yang--Baxter equation. Further, we deal with
Byott's conjecture in the case of bi-skew braces, and we use bi-skew braces as
a tool to solve a classification problem proposed by L. Vendramin.
  In the final part, we investigate brace blocks, defined by A. Koch to be
families of group operations on a given set such that any two of them yield a
bi-skew brace. We provide a characterisation of brace blocks, illustrate how
all known constructions in literature follow in a natural way from our
characterisation, and give several new examples.
