11institutetext: CasperLabs Holdings AG

# From Weakly-terminating Binary Agreement and Reliable Broadcast to Atomic
Broadcast

Andreas Fackler  Samuel Schlesinger  Matthew Doty

###### Abstract

We present a novel and simple solution to _Atomic Broadcast_ (AB). We reduce
AB to two subproblems. One of them is _Reliable Broadcast_ (RB). We also
introduce a subproblem we call _Weakly-terminating Binary Agreement_ (WBA).
WBA relaxes _Binary Agreement_ (BA) protocols by not always terminating. WBA
admits much simpler solutions than BA. We discuss concrete solutions to RB and
WBA. We prove safety, liveness, and censorship resilience of our new AB
protocol.

##  1 Introduction

The core task of an _Atomic Broadcast_ (AB) system is to get a network to
agree on a series of transactions. In the case of a database, these are user
submitted database updates. In the case of blockchain, these are smart
contract calls or transfers of digital tokens.

Different contexts lead to different solutions to Atomic Broadcast. The right
solutions depend on how many nodes are allowed to be faulty and on the speed
and reliability of message delivery. They also use different cryptographic
primitives, providing different security models.

Many algorithms reduce Atomic Broadcast to some _broadcast_ and _agreement_
subprotocols. In these systems, Atomic Broadcast repeats the subprotocols over
and over. First, one or more nodes broadcast values they propose for appending
to the sequence next. Then, all nodes reach agreement on those values. After
that, the nodes start over and broadcast again.

Atomic Broadcast protocols often need agreement subprotocols because ordinary
broadcasting can be faulty. A proposing node may be malicious and send
different values to different peers. Nodes can crash. Or the network could
delay messages for very long periods of time.

_Reliable Broadcast_[3] (RB) protocols prevent malicious proposers and
simplify agreement for Atomic Broadcast. In Reliable Broadcast, _correct_
nodes will accept at most one proposal. But Reliable Broadcast protocols
cannot help if a proposing node is offline. An agreement subprotocol needs to
decide which proposed values to accept.

_Binary Agreement_[2] (BA) complements Reliable Broadcast by deciding which
proposals to accept. In Binary Agreement, all correct nodes will output the
same value of 0 or 1 at some point for a given proposal. If they all output 1,
then the Atomic Broadcast protocol adds the proposal to the output sequence.
If they all output 0 then the protocol drops the proposal.

Our contribution is this: we show we can replace Binary Agreement with a
simpler problem. We call the new class of protocol _Weakly-terminating Binary
Agreement_ (WBA). In WBA, all correct nodes will output either 0 or 1, or they
will not output at all. With WBA, if all nodes receive a correct proposal in
time then they will output 1. If they all time out waiting for a correct
proposal they output 0. Otherwise, unlike Binary Agreement, they may not
output at all. This way Binary Agreement protocols are a subclass of Weakly-
terminating Binary Agreement protocols.

Our Atomic Broadcast protocol is easier to implement because it uses WBA. This
is because WBA protocols have fewer requirements than BA protocols and thus
permits simpler solutions which we will present in this paper.

##  2 Network Model

We consider a distributed network consisting of _nodes_ sending messages to
each other. A known subset of $n$ nodes are the _validators_. A node is
_correct_ if it executes the protocols as described, otherwise it is _faulty_.
A faulty node can send any message and ignore the protocols, or even collude
with other faulty nodes. We assume that strictly less than one third of the
validators are faulty, i.e. our fault tolerance $f$ satisfies $n>3f$.

A _quorum_ is a set of more than $q=\frac{n+f}{2}$ validators. Any two quorums
intersect with more than $f$ shared validators. So they always have a correct
validator in common.

We assume that the network is _partially synchronous_ :

All direct messages between correct nodes arrive eventually. There is a point
in time called _Global Stabilization Time_ ($\mathrm{GST}$). After the
$\mathrm{GST}$ messages arrive with maximum delay $\delta$. We assume we know
$\delta$ but we do not know $\mathrm{GST}$. This assumption is for
convenience. In [7] the case where we do not know $\delta$ is considered: By
making all timeouts in the protocol increase over time, we can accommodate for
the unknown delay.

##  3 Atomic Broadcast

Throughout the following sections we describe an Atomic Broadcast protocol. In
an AB protocol some nodes are _proposers_. The proposers receive multiple
inputs of some type $\mathcal{V}$. All nodes output multiple values of type
$\mathcal{V}$ so that:

  * •

Agreement: If any correct node outputs $v$, every correct node will eventually
output $v$.

  * •

Total Order: If any correct node outputs $v$ before $w$, all correct nodes
output $v$ before $w$.

  * •

Censorship Resilience: Every input $v$ to a correct proposer is eventually
output by the correct nodes.

Together, Agreement and Total Order are summarized as _Safety_. The additional
property that it does not stop outputting values is _Liveness_ , which is
implied by Censorship Resilience.

Instead of directly specifying which messages to send, we will solve the AB
problem by using two subprotocols and a timer. Our AB implementation will keep
all inputs it received in a buffer, and proceed by making inputs to and
processing outputs from the subprotocols.

##  4 Weakly-terminating Binary Agreement and Reliable Broadcast

In a _Weakly-terminating Binary Agreement (WBA)_ protocol each validator
receives at most one single-bit input (0 or 1) and makes at most one output
and:

  * •

Agreement: If one correct node outputs $b$, all correct nodes eventually
output $b$.

  * •

Validity: If the correct nodes output $b$, more than $q-f$ correct validators
had input $b$.

  * •

Weak Termination: If more than $q$ correct validators have input $b$, the
correct nodes eventually output $b$.

In _Reliable Broadcast (RB)_ a designated _proposer_ receives one input and
each node makes at most one output and:

  * •

Agreement: If one correct node outputs $v$, all correct nodes eventually
output $v$.

  * •

Weak Termination: If the proposer is correct and has input $v$, the correct
nodes eventually output $v$.

WBA and RB have asynchronous solutions that do not rely on the partial
synchrony assumption. But if there are upper bounds for message delays, these
usually give rise to upper bounds for how much time WBA and RB take:

We say WBA _has delay $\Delta$_ if:

  * •

If more than $q$ correct validators get the same input before time
$t\geq\mathrm{GST}$, then all correct nodes output before $t+\Delta$.

  * •

If any correct node outputs at time $t\geq\mathrm{GST}$, then all correct
nodes output before $t+\Delta$.

And RB _has delay $\Delta$_ if:

  * •

If a correct proposer gets input before time $t\geq\mathrm{GST}$, then all
correct nodes output before $t+\Delta$.

  * •

If any correct node outputs at time $t\geq\mathrm{GST}$, then all correct
nodes output before $t+\Delta$.

We present two algorithms for both RB and WBA in section 6.

##  5 Reducing AB to RB and WBA

###  5.1 Idea

Our Atomic Broadcast solution is leader-based, following [4, 5]. The idea is
to proceed in a sequence of rounds. Each round has a designated proposer node
which is the leader. The leader proposes the next value for all nodes to
output. The leader sequence could be pseudorandom or round-robin. What matters
for liveness is that every proposer is the leader of infinitely many rounds.

We use an RB instance $\mathtt{RB[}r\mathtt{]}$ in every round $r$, so it is
guaranteed that all nodes receive the same proposed value — or none, if the
leader is faulty! To avoid waiting indefinitely for $\mathtt{RB[}r\mathtt{]}$
we use a timeout, and a WBA instance $\mathtt{WBA[}r\mathtt{]}$, where every
validator inputs $1$ if they receive an acceptable proposal in time or $0$ if
they hit the timeout while waiting. If $\mathtt{WBA[}r\mathtt{]}$ outputs $1$,
that is a decision to _finalize_ it, i.e. return it as the next AB output.

Neither RB nor WBA guarantee that they output anything. But the crucial
observation is that if $\mathtt{RB[}r\mathtt{]}$ does not output, all the
correct validators will hit the timeout and input $0$ in
$\mathtt{WBA[}r\mathtt{]}$. In that case, $\mathtt{WBA[}r\mathtt{]}$ _does_
output $0$, because of Weak Termination. Thus the protocol can avoid getting
stalled in round $r$ by allowing the next leader in round $r+1$ to make a
proposal as soon as $\mathtt{RB[}r\mathtt{]}$ has output an acceptable
proposal _or_ $\mathtt{WBA[}r\mathtt{]}$ has output $0$.

The devil is in the details: It can happen that $\mathtt{RB[}r\mathtt{]}$ does
output an acceptable proposal and $\mathtt{WBA[}r\mathtt{]}$ outputs $0$
anyway (because the timeout hit first for too many validators). But all nodes
need to agree on whether the round-$r$ proposal should be output before
outputting the one from $r+1$. That’s why the proposal in round $r+1$ needs to
specify whether round $r$ should be skipped.

###  5.2 The Algorithm

For each round $r\in\mathbb{N}$, there is an RB instance
$\mathtt{RB[}r\mathtt{]}$ with the designated round-$r$ leader as proposer,
and a WBA instance $\mathtt{WBA[}r\mathtt{]}$. Values in
$\mathtt{RB[}r\mathtt{]}$ are pairs $(v,s)$ that roughly mean: “I propose
outputting $v$ right after the value from round $s$.” If $s$ is omitted — we
use the symbol $\bot$ — that means it is proposed as the first value. Values
in $\mathtt{WBA[}r\mathtt{]}$ are $0$ or $1$, where $0$ means: “I did not get
a proposal in time and vote to allow the next proposer to skip round $r$.” And
$1$ means: “I got a proposal and vote for finalizing it.”

We call round $r$ _committed_ if $\mathtt{WBA[}r\mathtt{]}$ has output $1$,
and _skippable_ if $\mathtt{WBA[}r\mathtt{]}$ has output $0$.

For any pair $(v,s)$ with $s\in\mathbb{N}$, we call $s$ the _parent round_ ;
if $\mathtt{RB[}s\mathtt{]}$ has an output, we call that the _parent_ of
$(v,s)$. The _ancestors_ of $(v,s)$ are its parent and all ancestors of its
parent. A pair $(v,\bot)$ has no parent or ancestors. If $(v,s)$ with
$s\neq\bot$ is the output of $\mathtt{RB[}r\mathtt{]}$, we also call $s$ the
_parent_ of $r$. The _ancestors_ of a round are its parent and all of its
parent’s ancestors.

$\bot$ is _fertile_ in round $r\in\mathbb{N}$ if all rounds $t<r$ are
skippable. Some $s\in\mathbb{N}$ is _fertile_ in round $r$ if $s<r$,
$\mathtt{RB[}s\mathtt{]}$ has a fertile output and all rounds $t$ with $s<t<r$
are skippable. If $\mathtt{RB[}r\mathtt{]}$ has a fertile output, then that
output is _accepted_ in round $r$.

If $(v,s)$ is accepted in round $r$ and $r$ is committed, then $(v,s)$ and all
its ancestors are _finalized_. We also call $r$ and all of $(v,s)$’s ancestor
rounds finalized. (Note that not all of those ancestor rounds are necessarily
committed.)

The _current round_ is the lowest round $r$ which is neither skippable nor has
an accepted value.

We assume that RB and WBA have delay $\Delta$ after $\mathrm{GST}$.

We formulate the protocol by specifying what actions to take whenever certain
conditions become true in a node $N$. These need to be checked whenever the
timer fires or one of the subprotocols outputs. When we write “input” in some
RB/WBA, we mean “input unless we have already made an input earlier”.

  * •

When $N$ is leader in $r$, and has an input $v$ that has not been finalized
yet, and there is a fertile $s$ in $r$, it inputs $(v,s)$ in
$\mathtt{RB[}r\mathtt{]}$.

  * •

When a new round $r$ becomes current, $N$ cancels and restarts the timer, with
delay $2\Delta$.

  * •

When the timer fires and $r$ is current, $N$ inputs $0$ in
$\mathtt{WBA[}r\mathtt{]}$.

  * •

When there is an accepted value in a round $r$, $N$ inputs $1$ in
$\mathtt{WBA[}r\mathtt{]}$.

  * •

When new values become finalized, $N$ outputs them, lower rounds first.

###  5.3 Pseudocode

For simplicity we assume that all subprotocols ignore unexpected inputs.
Equivalently, S.input(x) means we input $x$ into subprotocol $S$, _if_ it
expects an input, i.e. if we have not made an input before and, in the case of
RB, if we are the designated proposer. Outside the subprotocols, only three
variables are needed. Upon startup, we initialize the timer and call the main
handler:

⬇

def initialize():

current: $\mathbb{N}$ = 0

undecided_round: $\mathbb{N}$ = 0

inputs: List[$\mathcal{V}$] = []

start_timer(2 * $\Delta$)

on_subprotocol_output()

We first implement some definitions and a helper function for finalizing
values in the right order:

⬇

def fertile($r$: $\mathbb{N}$, $s$: Option[$\mathbb{N}$]) $\to$ $\mathbb{B}$:

if $s$ == $\bot$:

return $\forall t<r.\;$ WBA[$t$].output == 0

else:

return $s<r\;\wedge\;(\forall u.\;s<u<r\longrightarrow$ WBA[$u$].output ==
0$)\;\wedge\;\exists t.$ accepted($s$, $t$)

def accepted($r$: $\mathbb{N}$, $s$: Option[$\mathbb{N}$]) $\to$ $\mathbb{B}$:

return fertile($r$, $s$) $\wedge$ $\exists v.$ RB[$r$].output == $(v,s)$

def finalize($r$: $\mathbb{N}$):

($v$, $t$) = RB[$r$].output

if $t\neq\bot$ $\wedge$ $t$ $\geq$ undecided_round:

finalize(t)

inputs.remove($v$)

output($v$)

Finally the main part of the protocol: a handler for inputs, i.e. user-
submitted transactions, one for the timer, and one for whenever any WBA or RB
subprotocol instance outputs a value.

⬇

def on_input($v$: $\mathcal{V}$):

inputs = [$v$] + inputs

⬇

def on_timeout():

WBA[current].input(0)

⬇

def on_subprotocol_output():

if RB[current].output $\neq\bot$ $\vee$ WBA[current].output == 0:

current = current + 1

restart_timer(2 * $\Delta$)

if len(inputs) > 0 $\wedge$ $\exists s\in$ Option[$\mathbb{N}$].
fertile(current, $s$):

RB[current].input((inputs[0], $s$))

if $\exists s\in\mathbb{N},t\in$ Option[$\mathbb{N}$]. accepted($s$, $t$):

WBA[$s$].input(1)

if $\exists s\in\mathbb{N},t\in$ Option[$\mathbb{N}$]. ($s$ $\geq$
undecided_round $\wedge$ accepted($s$, $t$) $\wedge$ WBA[$s$].output == 1):

finalize($s$)

undecided_round = $s+1$

###  5.4 Proofs

We described the algorithm from the point of view of one node, or of someone
who implements it. The proofs concern the behavior of a whole network, so we
have to distinguish between the protocol states in different nodes at
different times. We write $r$ is _$(N,t)$ -committed_ to say node $N$ at time
$t$ sees round $r$ as committed. We write $r$ is _$t$ -committed_ to say it is
$(N,t)$-committed for every correct node $N$. Analogous definitions apply to
the notions _skippable_ , _accepted_ and _finalized_.

###### Lemma 1

Let $N$ be a correct node, and let round $r$ be $(N,t)$-committed.

  1. 1.

Then $r$ is $(N,t^{\prime})$-committed for all $t^{\prime}>t$.

  2. 2.

There is a $t^{\prime}$ such that $r$ is $(N^{\prime},t^{\prime})$-committed
for all correct nodes $N^{\prime}$.

  3. 3.

If RB and WBA have delay $\Delta$ and $t\geq\mathrm{GST}$ then $r$ is
$(t+\Delta)$-committed.

The same holds true for the properties _skippable_ , _accepted_ and
_finalized_.

###### Proof

We only prove each statement for the committed case. A round $r$ is
$(N,t)$-committed when $\mathtt{WBA[}r\mathtt{]}$ has output $1$. By
definition, RB and WBA only output one item, showing (1). By the Agreement
property of WBA, all correct nodes will eventually see the same output, which
shows (2). Assuming we are after GST, and RB and WBA only take time $\Delta$,
we know that every correct node $N^{\prime}$ will be able to infer that same
commitment within time $\Delta$, as that happens through RB and WBA, proving
(3).

The only aspect in which different correct nodes’ views can differ is the
order in which these properties are seen. However, finality was defined such
that it does have a monotonicity property anyway, i.e. if a round $r_{2}$
becomes finalized later than $r_{1}$, then $r_{2}>r_{1}$:

###### Lemma 2

Let $N$ be a correct node.

If both $r_{1}$ and $r_{2}$ are $(N,t)$-finalized they are either equal or
ancestors of each other.

If $r_{1}$ is $(N,t_{1})$-finalized and $r_{2}$ is $(N,t_{2})$-finalized but
not $(N,t_{1})$-finalized then $t_{2}>t_{1}$, $r_{2}>r_{1}$ and $r_{1}$ is an
ancestor of $r_{2}$.

###### Proof

For the first claim we omit the prefix $(N,t)$ since it’s only about one node
and one point in time.

That $r_{1}$ is finalized means that it is equal to or an ancestor of some
round $r^{\prime}_{1}$ that has accepted a value and is committed. Similarly
$r_{2}$ is equal to or ancestor of a committed $r^{\prime}_{2}$ with accepted
value. If $r^{\prime}_{1}=r^{\prime}_{2}$ then both $r_{1}$ and $r_{2}$ are
ancestors of that round and therefore equal or ancestors of each other. So
assume now that $r^{\prime}_{1}\neq r^{\prime}_{2}$, w.l.o.g.
$r^{\prime}_{2}>r^{\prime}_{1}$. Let $s$ be minimal among $r^{\prime}_{2}$ and
its ancestors such that $s>r^{\prime}_{1}$. By the recursive definition of
_accepted_ , since $r^{\prime}_{2}$ has an accepted value, so does $s$. Let
$(v,s^{\prime})$ be accepted in $s$. If $s^{\prime}>r^{\prime}_{1}$ that would
contradict the minimality of $s$. If $s^{\prime}<r^{\prime}_{1}$ that would
mean $r^{\prime}_{1}$ must be skippable, which is impossible since
$r^{\prime}_{1}$ is committed. Therefore $r^{\prime}_{1}=s^{\prime}$. Hence
$r^{\prime}_{1}$ is also an ancestor of $r^{\prime}_{2}$. Thus both $r_{1}$
and $r_{2}$ are ancestors of or equal to $r^{\prime}_{2}$, so they are
ancestors of or equal to each other.

For the second claim note that $t_{2}>t_{1}$ because the property of being
finalized can only become true with more RB/WBA outputs arriving, not false
again.

In particular both $r_{1}$ and $r_{2}$ are $(N,t_{2})$-finalized. By the first
part of the lemma that means they are ancestors of each other. If $r_{1}$ were
greater than $r_{2}$, $r_{1}$ by definition could not be $(N,t_{1})$-finalized
without $r_{2}$ also being $(N,t_{1})$-finalized. Hence $r_{2}>r_{1}$.

In other words the rounds are observed as finalized in increasing order; it
cannot happen that a node first sees $r$ as finalized, and then later $s<r$.
It follows from the Agreement property of RB and WBA that the set of rounds
that are eventually finalized is the same in all nodes. Hence in every correct
node the $k$-th output is exactly the $k$-th element in the set of all rounds
that eventually get finalized. That proves:

######  Theorem 5.1 (Safety; Agreement and Total Order)

If any correct node’s $k$-th output is $v$, then every correct node will
eventually output $k$ values and the $k$-th one is $v$.∎

So far we did not use the partial synchrony assumption, which indeed is not
needed for safety. From now on assume that RB and WBA have delay $\Delta$.

###### Lemma 3

If all correct nodes start before $\mathrm{GST}$, then for every $r$, all
rounds $s<r$ are $(\mathrm{GST}+3r\Delta)$-skippable or have a
$(\mathrm{GST}+3r\Delta)$-accepted value. In particular, at time
$\mathrm{GST}+3r\Delta$, every correct node’s current round is $\geq r$.

###### Proof

We show this by induction on $r$.

The base case is trivial since there are no rounds before the first one.

So let $r>0$ and $t^{\prime}=\mathrm{GST}+3r\Delta$, and assume the induction
hypothesis: All rounds $s<r-1$ are $(t^{\prime}-3\Delta)$-skippable or have a
$(t^{\prime}-3\Delta)$-accepted value.

That means all correct validators start their timer for round $r-1$ before
$t^{\prime}-3\Delta$.

If round $r-1$ has a $(N^{\prime},t^{\prime}-\Delta)$-accepted value for some
correct $N^{\prime}$, it has a $t^{\prime}$-accepted value.

Otherwise all correct validators will hit the timeout before
$t^{\prime}-\Delta$ and input $0$ in $\mathtt{WBA[}r-1\mathtt{]}$, so WBA
outputs $0$ before $t^{\prime}$ and $r-1$ is $t^{\prime}$-skippable.

By Lemma 1, all rounds $s<r-1$ are also $t^{\prime}$-skippable or have a
$t^{\prime}$-accepted value, proving the statement for $r$.

###### Lemma 4

Let $R$ be the highest round that is current in any correct node at GST. Every
round $r>R$ with a correct leader that has an unfinalized input eventually has
an accepted value and becomes committed.

###### Proof

By Lemma 3, all correct nodes eventually reach a round $\geq r$. Let $N$ be
the first correct node to do so, i.e. the node with the minimal $t$ such that
all rounds $s<r$ are $(N,t)$-skippable or have an $(N,t)$-accepted value. So
no correct node starts its timer for round $r$ before time $t$ and no correct
node inputs $0$ in $\mathtt{WBA[}r\mathtt{]}$ before $t+2\Delta$.

By our assumption $t>\mathrm{GST}$, so by Lemma 1 all correct nodes reach
round $\geq r$ before $t+\Delta$.

In particular if the leader $L$ in round $r$ is correct and has an input $v$
that is not finalized yet, it will propose it before $t+\Delta$, and
$\mathtt{RB[}r\mathtt{]}$ will output it in all correct nodes before
$t+2\Delta$. Since the parent of the proposal is $(L,t+\Delta)$-accepted, it
will be $(t+2\Delta)$-accepted. Thus the proposal itself is also
$(t+2\Delta)$-accepted, and each correct validator inputs $1$ in
$\mathtt{WBA[}r\mathtt{]}$, so $r$ becomes committed.

The requirement for the leader sequence was that every proposer is the leader
infinitely many times, so Lemma 4 implies:

######  Theorem 5.2 (Liveness; Censorship Resilience)

Every value input in a correct proposer is eventually output by the correct
nodes. ∎

##  6 Reliable Broadcast and Weakly-terminating Binary Agreement Solutions

###  6.1 Bracha’s Algorithm

Bracha presents a simple implementation of Reliable Broadcast in [3]. His
algorithm may be summarized as follows:

  1. 1.

On input $v$, the proposer sends $(\mathtt{initial},v)$ to all nodes.

  2. 2.

Each correct validator waits for either one $(\mathtt{initial},v)$ from the
proposer, or a quorum of $(\mathtt{echo},v)$ or $(\mathtt{ready},v)$ from $>f$
validators, then sends $(\mathtt{echo},v)$ to everyone.

  3. 3.

Each correct validator waits for either a quorum of $(\mathtt{echo},v)$ or
$(\mathtt{ready},v)$ from $>f$ validators, then sends $(\mathtt{ready},v)$ to
everyone.

  4. 4.

Each correct node waits for $(\mathtt{ready},v)$ from $>2f$ validators, then
outputs $v$.

A slight change turns this into a solution for the WBA problem as well:

  1. 1.

Each correct validator waits for either an input $b$ from the proposer, or a
quorum of $(\mathtt{vote},b)$ or $(\mathtt{ready},b)$ from $>f$ validators,
then sends $(\mathtt{vote},b)$ to everyone.

  2. 2.

Each correct validator waits for either a quorum of $(\mathtt{vote},b)$ or
$(\mathtt{ready},b)$ from $>f$ validators, then sends $(\mathtt{ready},b)$ to
everyone.

  3. 3.

Each correct node waits for $(\mathtt{ready},b)$ from $>2f$ validators, then
outputs $b$.

The $\mathtt{vote}$s serve the same purpose as the $\mathtt{echo}$s, but
instead of the value received from the proposer, they contain the sender’s own
input value.

These algorithms require a network where all correct validators are directly
connected to all correct nodes, but work without any synchrony assumptions.

If the maximum message delay is $\delta$, they have delay $3\delta$ resp.
$2\delta$.

###  6.2 Gossiping Quorums of Signatures

A different solution that works even in larger networks where a validator
cannot expect to be directly connected to all other correct nodes is using a
gossip mechanism to disseminate signatures and wait for a quorum. Gossip
protocols are a broad subject themselves, so assume we have one that satisfies
the following properties:

  * •

If a correct node gossips a message $m$, eventually all correct nodes receive
$m$.

  * •

If any correct node receives a message $m$, eventually all correct nodes
receive $m$.

Note that even if all correct nodes were connected to each other, this is a
stronger guarantee than we get by just sending $m$ to everyone: If a faulty
node sends $m$ to some and $m^{\prime}$ to other correct nodes, a gossip
protocol guarantees that all correct nodes will receive both $m$ and
$m^{\prime}$.

We also need cryptographic signatures, and a setup where each validator has a
public key known to all nodes. In the following we write $(\ldots,\sigma)$ for
a message where $\sigma$ is a signature of the other fields.

Given these tools, a solution to RB is simply:

  1. 1.

On input $v$, the proposer signs and gossips $(\mathtt{initial},v,\sigma)$.

  2. 2.

When a correct validator receives $(\mathtt{initial},v,\sigma)$ signed by the
proposer, and has not signed an $\mathtt{echo}$ yet, it signs and gossips
$(\mathtt{echo},v,\sigma^{\prime})$.

  3. 3.

When a correct node receives $(\mathtt{echo},v,\sigma_{i})$ with a set of
signatures $\sigma_{i}$ from a quorum of validators, it outputs $v$.

And WBA:

  1. 1.

On input $b$, a correct validator signs and gossips
$(\mathtt{vote},b,\sigma)$.

  2. 2.

When a correct node receives $(\mathtt{vote},b,\sigma_{i})$ with a set of
signatures $\sigma_{i}$ from a quorum of validators, it outputs $b$.

To see that these algorithms indeed solve the RB/WBA problems, observe that
each correct validator only ever signs one $\mathtt{echo}$ or $\mathtt{vote}$
message, and since any two quorums overlap in at least one correct validator,
there can be a quorum for at most one value. By our assumptions about the
gossip protocol, if any correct node sees such a quorum, all of them will
eventually see it. That implies RB and WBA Agreement. WBA Validity follows
because a quorum must contain signatures from at least $q-f$ correct
validators. RB and WBA Weak Termination follow because the gossip protocol
guarantees to deliver a correct proposer’s unique $\mathtt{initial}$ message
to everyone, and a correct validator’s $\mathtt{echo}$ or $\mathtt{vote}$.

The delay of WBA is just the time the gossip algorithm takes to deliver a
message to all correct nodes, and the delay of RB is twice that.

By our assumption about gossip, if any correct node receives the
$\mathtt{initial}$ message, all of them will. If the value $v$ is large, the
RB algorithm can thus easily avoid making lots of redundant copies by
replacing the $v$ in the $\mathtt{echo}$ messages with a cryptographic hash of
$v$. Point 3 then has to be modified slightly, since a node can only output
$v$ once it has received a quorum of $\mathtt{echo}$s _and_ the
$\mathtt{initial}$ message.

##  7 Practical Considerations

###  7.1 Censorship Resilience with Unknown $\delta$

The more realistic version of partial synchrony is with an unknown maximum
message delay $\delta$, which will result in unknown RB and WBA delays
$\Delta$. In theory all protocols can be adapted to that version by slowing
down their clocks over time: the later a timer is started the more its delay
is increased compared to the known-$\delta$ variant.

In practice, however, ever-increasing timeouts would mean that the user-
visible delay caused by a single crashed or faulty proposer becomes longer and
longer. So implementations usually reset the timeout back to a lower delay
whenever a new value is finalized. If the timeout is reset to a very low value
after each finalization, this breaks the proof of Theorem 5.2: It could be
that not every (or even no) correct block proposer gets their proposals
finalized, because the timer is always reset before it is their turn.

One strategy is to keep increasing the timeout until at least $k$ out of $p$
proposers got their most recent round committed. That achieves a lower level
of censorship resilience: At least $k$ proposers will eventually get all their
inputs finalized. But if more than $p-k$ proposers are faulty, it will lead to
the timeouts and user-visible delays increasing indefinitely.

Another approach is to modify the protocol: A round $r$ is _orphaned_ if it
has accepted a value but there is a finalized round $s>r$ of which $r$ is not
an ancestor. So an orphaned round is one that we know will never get
finalized. Now instead of tuples we use triples $(v,r,s)$ as proposal values:
The third entry specifies an orphaned _uncle_ round, and if the proposal gets
finalized, we output both the value accepted in $s$ and the value $v$.
$(v,r,s)$ is only acceptable if $s$ is $\bot$ or has an accepted value. But in
addition, we only input $1$ in WBA if we either do not have an orphaned round
or $s$ points to the lowest orphaned round we know of. This effectively forces
proposers in later rounds to acknowledge each orphaned value as an uncle and
indirectly finalize it, too. Thus the algorithm remains fully censorship
resilient even if the timeout is reset whenever a round is finalized. Note
that this complicates the liveness proof, but since eventually all correct
nodes will agree on which is the lowest orphaned round, it still works.

###  7.2 Validation

The validity of a proposed value often depends on its ancestors in practice:
E.g. a client request to a database should only be executed once, so the
proposal $(v,r)$ is only valid if none of its ancestors already contains the
value $v$. Or a smart contract call is only valid if the caller has enough
funds to pay the transaction fees. Or a block in a blockchain must contain its
parent’s hash.

In order to account for these various details, one might extend the definition
of accepted in order to only accept valid values. Be careful to avoid
proposing values which would be considered invalid in your implementation, of
course.

###  7.3 Spam

In theory the protocol runs an infinite number of RB and RV instances. But
correct nodes make inputs to $\mathtt{RB[}r\mathtt{]}$ or
$\mathtt{WBA[}r\mathtt{]}$ once a round $\geq r$ is current. Implementation
should provide a way for correct nodes to reject incoming messages belonging
to implausibly high rounds, e.g. by making the sender queue them until they
are ready.

###  7.4 Minimum Delays

The protocol can be extended to respect a configured start time and a minimum
delay between a value and its parent by adding two additional conditions for
incrementing our round number and starting the timer: Round $r$ becomes
current when all rounds $s<r$ are skippable or have an accepted value _and_ :

  * •

The current time is at least the configured start time for the network.

  * •

At least the minimum delay has passed since the highest timestamp of any
accepted value.

##  8 Comparison with other Protocols

The protocol discussed in this paper has similarities to many other known
protocols. HoneyBadgerBFT [10], DBFT [6] and Aleph [8] are examples of
leaderless protocols that also use RB as a subprotocol.

HoneyBadgerBFT and DBFT also use full BA, which guarantees termination in all
cases. As these protocols are leaderless, instead of one RB and BA instance
per round, there is one instance per round _per proposer_. Assuming enough
proposers are correct, it is guaranteed that a certain number of RB instances
will terminate. This replaces the timer: Validators input $1$ in a BA if the
corresponding proposer’s RB was among the first to deliver a value, otherwise
they input $0$. HoneyBadgerBFT then combines all proposed values where BA
output $1$, whereas DBFT just uses one of them. DBFT uses a BA solution that
requires partial synchrony, whereas HoneyBadgerBFT is asynchronous thanks to a
BA protocol based on threshold cryptography.

Aleph uses an asynchronous threshold cryptography-based BA in addition to RB,
but reduces communication complexity by arranging the proposed values in a
directed acyclic graph (DAG) where every proposal points to all proposals the
sender has seen before, and works on an implicit message in several BA
instances simultaneously.

While they share with our protocol the property of making subprotocols
explicit, these three algorithms are vastly more complex than ours, which
belongs to the family of leader-based partially synchronous protocols
following the Lock-Commit paradigm [1]. It can be compared to a number of
other members of that family, e.g. HotStuff [12], SBFT [9], Doomslug [11],
PBFT [5], Tendermint [4]. In this context, we will use the terms _block_ and
_value_ synonymously.

SBFT trades a slightly lower fault tolerance for a fast-path that finalizes
blocks in just one round of messages if _almost all_ validators are correct.
Doomslug also finalizes blocks in a single round, but only with fault
tolerance 1, and then later finalizes all blocks with a higher fault
tolerance.

HotStuff and Libra support _pipelining_ , similar to Aleph: To reduce overall
communication complexity per block and to minimize the time between subsequent
blocks, consensus for one of them takes several subsequent rounds to be
reached. The downside is that the time to consensus is tied to how long it
takes to broadcast the next proposals, as well as to any minimum time between
blocks that one may want to enforce in practice.

PBFT and Tendermint do not do pipelining but try to finalize each block before
the next one, which requires multiple rounds of messages.

By allowing the next proposal as soon as RB has output, but having a separate
WBA instance per round, we do something in between: Very few RB messages have
to be exchanged between subsequent blocks, but WBA can finalize the value
without waiting for later rounds.

Apart from that, if the gossip-based RB and WBA implementations from section
6.2 are used, Tendermint is closest to our protocol. So we will compare them
in detail:

First of all, the Tendermint paper describes a setting where a new instance of
the protocol is run for every block, and the protocol outputs only once. But
it can easily be adapted to make multiple outputs: Instead of re-proposing the
valid value (see below), a proposer could create a new child of that value.
For the purpose of our comparison we will work with that version.

In Tendermint, every round is subdivided into three phases:

  * •

First the leader gossips a $\mathtt{proposal}$, which also includes a value
and the intended parent round — the proposer’s highest _valid round_ (see
below).

  * •

Then all validators send a $\mathtt{prevote}$ with the hash of the proposal
they received, or with $\mathtt{nil}$ if they received none.

  * •

Finally the validators send a $\mathtt{precommit}$ with the hash of the
proposal they saw a quorum of $\mathtt{prevote}$s for, or $\mathtt{nil}$ if
none.

Each phase has its own timeout: the first one is started when the round
begins, but the prevote resp. precommit timeouts start when a quorum of
$\mathtt{prevote}$ resp. $\mathtt{precommit}$ messages are seen, even if their
content does not match.

The first two phases clearly correspond to RB, $\mathtt{proposal}$ to
$\mathtt{initial}$ and $\mathtt{prevote}$ to $\mathtt{echo}$. However there is
no analog to a $\mathtt{nil}$ $\mathtt{prevote}$ in our protocol. Instead, RB
simply does not guarantee to terminate, and there is one single timeout for
it.

The third phase corresponds to WBA, $\mathtt{precommit}$ to $\mathtt{vote}$,
the proposal hash to $1$ and $\mathtt{nil}$ to $0$. The difference here is
that Tendermint has a timer for this phase and the next proposer has to wait
for another quorum or timeout even if there is a quorum of
$\mathtt{prevote}$s.

The _valid round_ in Tendermint is the highest one in which we have seen a
quorum of $\mathtt{prevote}$s for the same proposal. It corresponds to the
highest round with an accepted value. The _locked round_ in a Tendermint node
is the highest round for which _that node_ has sent a $\mathtt{precommit}$ for
a proposal. This is subjective and replaces the skipping rule: A node will
refuse to $\mathtt{prevote}$ for a new proposal if our locked round is between
it and its parent round.

##  9 Conclusion

We believe that isolating the RB and WBA subprotocols makes this partially
synchronous Atomic Broadcast protocol particularly easy to understand, and
gives intuitive meaning to its messages, without compromising on desirable
properties regarding performance and fault tolerance.

## References

  * [1] Ittai Abraham and Kartik Nayak.  The Lock-Commit paradigm.  https://decentralizedthoughts.github.io/2020-11-29-the-lock-commit-paradigm/, 11 2020.
  * [2] Gabriel Bracha.  An asynchronous [(n - 1)/3]-resilient consensus protocol.  In Proceedings of the third annual ACM symposium on Principles of distributed computing - PODC ’84, pages 154–162, Vancouver, British Columbia, Canada, 1984. ACM Press.
  * [3] Gabriel Bracha.  Asynchronous byzantine agreement protocols.  Information and Computation, 75(2):130–143, 1987.
  * [4] Ethan Buchman, Jae Kwon, and Zarko Milosevic.  The latest gossip on BFT consensus.  arXiv preprint arXiv:1807.04938, 2018.
  * [5] Miguel Castro, Barbara Liskov, et al.  Practical Byzantine fault tolerance.  In OSDI, volume 99, pages 173–186, 1999.
  * [6] Tyler Crain, Vincent Gramoli, Mikel Larrea, and Michel Raynal.  DBFT: Efficient leaderless Byzantine consensus and its application to blockchains.  In 2018 IEEE 17th International Symposium on Network Computing and Applications (NCA), pages 1–8. IEEE, 2018.
  * [7] Cynthia Dwork, Nancy Lynch, and Larry Stockmeyer.  Consensus in the presence of partial synchrony.  Journal of the ACM (JACM), 35(2):288–323, 1988.
  * [8] Adam Gągol, Damian Leśniak, Damian Straszak, and Michał Świętek.  Aleph: Efficient atomic broadcast in asynchronous networks with Byzantine nodes.  In Proceedings of the 1st ACM Conference on Advances in Financial Technologies, pages 214–228, 2019.
  * [9] Guy Golan Gueta, Ittai Abraham, Shelly Grossman, Dahlia Malkhi, Benny Pinkas, Michael Reiter, Dragos-Adrian Seredinschi, Orr Tamir, and Alin Tomescu.  SBFT: a scalable and decentralized trust infrastructure.  In 2019 49th Annual IEEE/IFIP international conference on dependable systems and networks (DSN), pages 568–580. IEEE, 2019.
  * [10] Andrew Miller, Yu Xia, Kyle Croman, Elaine Shi, and Dawn Song.  The honey badger of BFT protocols.  In Proceedings of the 2016 ACM SIGSAC conference on computer and communications security, pages 31–42, 2016.
  * [11] Alex Skidanov.  Doomslug: block confirmation with single round of communication, and a finality gadget with guaranteed liveness.  https://near.ai/doomslug, 12 2019.
  * [12] Maofan Yin, Dahlia Malkhi, Michael K Reiter, Guy Golan Gueta, and Ittai Abraham.  HotStuff: BFT consensus in the lens of blockchain.  arXiv preprint arXiv:1803.05069, 2018.


  *

# Ultrafast scattering dynamics of coherent phonons in Bi1-xSbx in the Weyl
semimetal phase

Yuta Komori1, Yuta Saito2, Paul Fons2,3, Muneaki Hase1 1Department of Applied
Physics, Faculty of Pure and Applied Sciences, University of Tsukuba, 1-1-1
Tennodai, Tsukuba 305-8573, Japan.  2Device Technology Research Institute,
National Institute of Advanced Industrial Science and Technology, Tsukuba
Central 5, 1-1-1 Higashi, Tsukuba 305-8565, Japan.  3Faculty of Science and
Technology, Department of Electronics and Electrical Engineering, Keio
University, 3-14-1 Hiyoshi, Kohoku-ku, Yokohama, Kanagawa 223-8522, Japan.
<EMAIL_ADDRESS>
###### Abstract

We investigate ultrafast phonon dynamics in the Bi1-xSbx alloy system for
various compositions $x$ using a reflective femtosecond pump-probe technique.
The coherent optical phonons corresponding to the A1g local vibrational modes
of Bi-Bi, Bi-Sb, and Sb-Sb are generated and observed in the time domain with
a few picoseconds dephasing time. The frequencies of the coherent optical
phonons were found to change as the Sb composition $x$ was varied, and more
importantly, the relaxation time of those phonon modes was dramatically
reduced for $x$ values in the range 0.5–0.8. We argue that the phonon
relaxation dynamics are not simply governed by alloy scattering, but are
significantly modified by anharmonic phonon-phonon scattering with implied
minor contributions from electron-phonon scattering in a Weyl-semimetal phase.

Keywords: coherent phonon, phonon scattering, ultrafast spectroscopy,
topological materials.

##  1 INTRODUCTION

In the past decade, topological materials, such as topological insulators
(TIs), Dirac semimetals, and Weyl semimetals, have attracted much attention in
condensed matter physics owing to growing interest in the fundamental
properties of their surface (bulk) band structure [1, 2, 3, 4, 5], massless
quasiparticle dynamics [6], spin dynamics [2, 7], carrier transport [8], and
many other new physical effects [9, 10, 11, 12]. Topological materials, in
particular TIs, have been considered also as promising materials for
thermoelectric devices, taking advantage of their intriguing properties, such
as low thermal conductivities [13], and large Seebeck coefficients [14].
Bi1-xSbx was first experimentally discovered to be a 3D TI in 2008 (Ref. [6]),
and has been recently predicted to be a Weyl semimetal for some compositions
$x$ with a specific atomic arrangement [15]. In addition, structural changes
in Bi1-xSbx depending on the composition $x$ have been theoretically predicted
[16, 17] and are thought to be an important factor in the stabilization of
topological properties in the alloy system.

Although among TIs, Bi2Se3, Bi2Te3 and Sb2Te3 have been extensively
investigated from the point of view of ultrafast dynamics [18, 19, 20, 21, 22,
23], an alloy system like Bi1-xSbx has rarely been studied because of the
difficulty in precisely controlling the composition $x$, with which the
electronic band structure of the Bi1-xSbx system changes from semiconducting
to a simple semimetal (SM) with band crossover [24, 25], a TI with a gapless
surface state, and even to a Weyl semimetal with a Weyl node at a non zone-
center position [26, 27].

In practice, the physical information for the Bi1-xSbx system has been limited
[28, 29], and only a few experimental studies have been reported on Dirac
quasiparticles [2, 3, 6]. Moreover, while the properties of lattice
vibrations, phonons, have been examined for the Bi1-xSbx system by Raman
scattering [30, 31, 32], the presence of instrumental broadening due to slit
and laser line widths [31] as well as serious background from Rayleigh
scattering [32] may limit the accuracy of such measurements. These limitations
make the indirect measurement of precise phonon lifetimes on picosecond and
femtosecond time scales generally difficult to achieve using conventional
Raman measurements. Our motivation here is the direct measurement of the
dephasing dynamics of coherent phonons on sub-picosecond time scales and this
approach offers strong advantages regarding the accuracy of the dephasing time
values over those indirectly estimated by line widths from conventional Raman
measurements.

Phonon scattering, such as electron-phonon, anharmonic phonon-phonon, defect-
phonon (or alloy) scatterings, are important issues in the field of
thermoelectric and topological devices, since phonon scattering determines the
thermal conductivity [13] and the mobility of Dirac quasiparticles [6]. Thus,
exploring the ultrafast dynamics of, e.g., anharmonic phonon-phonon scattering
and alloy scattering, on a sub-picosecond time scale, is a challenging issue
required for the development of new topological devices. Such dynamical
studies of the phonon scattering processes will offer key physical information
not only for device applications, but also for the understanding of the
fundamental physical properties of topological alloy systems.

Figure 1: (a) Schematic band structure near the Fermi-level for different
values of the Sb concentration $x$, where the alloy changes from a semimetal
(SM) to a topological insulator (TI), and then back to a SM phase [1, 24]. The
emergence of the Weyl semimetal phase was theoretically predicted for $x$ =
0.5 and 0.83 near the zone center ($\Gamma$) (Ref. [15]). (b) XRD patterns
obtained from thin film samples with different Sb compositions $x$. (c) 2D
mapping (256 $\mu$m $\times$ 256 $\mu$m) of Bi (left) and Sb (right) atoms
using EPMA for a Bi0.51Sb0.49 sample, showing the homogeneous distribution of
both elements.

Here we explore the ultrafast scattering dynamics of coherent phonons in the
Bi1-xSbx alloy system for various compositions $x$ by using a femtosecond
pump-probe technique with $\approx$20 fs time resolution. The coherent optical
phonons corresponding to the local vibrations of Bi-Bi, Bi-Sb, and Sb-Sb bonds
were detected, and the relaxation rate of the Sb-Sb phonon was found to
strongly decrease for $x$$\approx$0.5. We discuss the phonon relaxation
dynamics from the viewpoint of alloy scattering, electron-phonon scattering,
and anharmonic phonon-phonon scattering.

##  2 MATERIALS AND METHODS

###  2.1 Samples

The samples used in this study were highly orientated polycrystalline Bi1-xSbx
alloy films prepared by radio frequency magnetron sputtering [33]. Thin film
samples were successfully deposited onto a Si (100) substrate with different
compositions $x$ = 0, 0.36, 0.49, 0.72, 0.77, 0.82 and 1.0 by carefully tuning
the sputter power of each target. According to the reported electronic band
structures in the literature for the Bi-Sb system, the addition of Sb to Bi
shifts the $T$ and upper $L$ bands downwards and the lower $L$ band upwards
[figure 1(a)], resulting in the alloy changing from a semimetal to a
topological insulator [24, 25]. The topological insulating composition range
$x$ is between 0.07 and 0.22, indicating that the $L$-point band is inverted
with respect to the electronic band in Bi [6, 34]. For our samples, the $x$ =
0.36 alloy was a semimetal with a narrow band gap (less than several tens of a
meV) at the $L$-point [4, 25]. The two samples $x$ = 0.49 and 0.82 are close
to the compositions theoretically predicted to form in the Weyl semimetal
phase [15]. All films were approximately 16-nm-thick and X-ray diffraction
(XRD) measurements showed that they were highly orientated polycrystalline
films as can be seen in figure 1(b) except for the pure Bi sample which showed
the presence of off-orientation peaks. The average grain size in the out-of-
plane direction estimated from Scherrer’s formula [35] was $\sim$ 17 nm, a
value nearly equivalent to the film thickness, suggesting that single grains
were formed from the substrate/film interface to the film surface. This trend
was observed regardless of the Sb content, and thus the effect of grain
boundary scattering on $x$ is expected to be negligible. It should be noted
that the (003) and (006) peaks shift toward higher angle with increasing Sb
content suggesting that the lattice constant, $c$, decreases upon alloying
with Sb which has a smaller atomic radius.

The composition of the films was evaluated by electron probe micro analysis
(EPMA) as shown for the case of $x$ = 0.49 in figure 1(c). To reduce
uncertainty in the composition, the value of the Sb content, $x$, was measured
at five different positions on the sample, and averaged. We have also measured
the transient reflectivity change signal at different sample positions,
confirming that the signal did not vary. Furthermore, the compositional
mapping displayed in figure 1(c) confirms a uniform distribution of both
elements over the substrate surface. To prevent oxidation, samples were capped
by a 20-nm-thick ZnS-SiO2 layer without breaking the vacuum. ZnS-SiO2 capping
layers have long been used as a dielectric layer in optical disc applications
[36] and are completely transparent to near infrared light making no
contribution to the observed signal.

###  2.2 Experimental methods

Time-resolved measurements using a reflection-type pump-probe setup were
carried out to observe the coherent phonon signal [37, 38]. The light source
was a mode-locked Ti:sapphire laser oscillator with a center wavelength of 830
nm, providing ultrashort pulses of $\leq$20 fs duration and operated at a 80
MHz repetition rate. The pump and probe beams were focused by an off-axis
parabolic mirror on the samples to a diameter of $\approx$19 $\mu$m and
$\approx$15 $\mu$m, respectively, assuring nearly homogeneous excitation [39,
40, 41]. The fluence of the pump beam was fixed at $\approx$855
$\mu\mathrm{J/cm}^{2}$, while that of the probe was set to $\approx 5\%$ of
the pump beam, $\approx$43 $\mu\mathrm{J/cm}^{2}$. The penetration depth of
the laser beam estimated from the absorption coefficients was about 17–20 nm
[42], which is larger than the sample thickness ($\approx$16 nm). Thus, in the
present study the optical excitation was homogeneous over the entire sample
thickness and the effects of the penetration depth did not play a role on the
observed coherent phonon spectra. The delay between the pump and the probe
pulses was scanned up to 15 ps by an oscillating retroreflector operated at a
frequency of 19.5 Hz [43]. The transient reflectivity change ($\Delta R/R$)
was recorded as a function of pump-probe time delay. The time zero was
determined as the position of the initial drop, which was confirmed with a Bi
semimetal sample [44]. The measurements were performed in air at room
temperature.

Figure 2: (a)The reflectivity change obtained for Bi1-xSbx alloy films with
various compositions at room temperature. (b) Fourier transformed (FT) spectra
of time domain data shown in (a). (c) The result of the fit using equation (1)
for the case of Bi0.51Sb0.49.

##  3 RESULTS AND DISCUSSION

Figure 2(a) shows the isotropic reflectivity changes ($\Delta R/R$) observed
in Bi1-xSbx films with different compositions. The coherent phonon signal,
superimposed on the photoexcited carrier relaxation background, was observed
as a function of the time delay. It is interesting to note that the frequency
and oscillation pattern of the coherent phonons differ depending on the
composition $x$, under a constant pump fluence. We also note that the
amplitude of the coherent phonon decreased when the Sb concentration $x$ was
in the range of $x$ = 0.36 - 0.82. The observed large decrease in amplitude
may possibly be due to damping of the coherent lattice vibrations due to
atomic disorder, i.e., alloy scattering. The relaxation time of the coherent
phonons was also found to shorten when the Sb concentration $x$ was in the
range of $x$ = 0.36 - 0.82. In particular, for $x$ = 0.49, the coherent phonon
oscillation was strongly damped for the time delays of $\approx$ 1 and 3 ps
(or exhibited a beat pattern), implying the existence of multiple phonon modes
[28].

Figure 2(b) shows the Fourier transformed (FT) spectra obtained from the time
domain data shown in figure 2(a). We note here that the non-oscillatory
carrier relaxation component was subtracted first and then the FT was carried
out to check if the carrier background affected the peak position or peak
width of the FT. It was confirmed that the peak position and width did not
change with and without subtracting the carrier background. Thus, to retain
the original oscillatory information we have displayed the FT without
subtraction of the non-oscillatory component. In total, three distinct peaks
can be observed, which are assigned to the A1g modes of Bi-Bi (2.93 THz for
$x$ = 0), Bi-Sb (3.63 THz for $x$ = 0.36), Sb-Sb (4.54 THz for $x$ = 1),
respectively. The peak frequencies observed in the FT spectra obtained from
the time domain data are reasonably consistent with Raman scattering data [31,
30, 32].

In order to estimate the relaxation time of the coherent phonon mode for
various Sb concentrations $x$, we carried out curve fitting of the time domain
data shown in figure 2(a) using a linear combination of damped harmonic
oscillators and an exponentially decaying function. For the semimetal systems
like Bi and Sb, the oscillatory component is well described by a cosine
function under the conditions of the displacive excitation of coherent phonons
(DECPs) [37]. Thus, the fitting function used was [28, 45]:

$\frac{\Delta
R}{R}=H(t)\Bigl{[}\sum_{i=1}^{3}A_{i}\exp(-t/\tau_{i})\cos(\omega_{i}t+\phi_{i})+A_{c}\exp(-t/\tau_{c})\Bigr{]},$
(1)

where $A_{i}$, $\tau_{i}$, $\omega_{i}$, $\phi_{i}$ are the amplitude,
relaxation time, frequency, and initial phase of the coherent phonons,
respectively. The subscripts $i$ indicates the three A1g modes of Bi-Bi ($i$ =
1), Bi-Sb ($i$ = 2), and Sb-Sb ($i$ = 3). $H(t)$ is the Heaviside function
convoluted with Gaussian to account for the finite time-resolution, while
$A_{c}$ and $\tau_{c}$ are the amplitude and relaxation time of the carrier
background, respectively. As can be seen in figure 2(c) the quality of the fit
was good.

Figure 3 shows the phonon scattering rate $1/\tau$, the inverse of the
relaxation time, of the coherent phonon oscillations as a function of the Sb
concentration ($x$) obtained by a fit using equation (1). Interestingly, the
phonon scattering rate is largest for Sb concentrations of about $x$ = 0.7.
The scattering rate 1/$\tau$ of the coherent A1g phonon in the Bi1-xSbx alloy
is given by the sum of the intrinsic anharmonic phonon-phonon scattering
$1/\tau_{\rm{Anharmonic}}$, the alloy scattering $1/\tau_{\rm{Alloy}}$, and
the electron-phonon scattering $1/\tau_{\rm{e-p}}$. The
$1/\tau_{\rm{Anharmonic}}$ term is given by the Klemens formula
$\gamma_{0}[1+n(\omega_{\rm{LA,TA}})+n(\omega_{\rm{A}_{1g}})]$ [46], where
$\gamma_{0}$ is the effective anharmonic constant, $n(\omega)$ is the phonon
distribution function, and $\omega_{\rm{LA,TA}}$ and $\omega_{\rm{A}_{1g}}$
are the frequencies of the longitudinal acoustic (LA) or transverse acoustic
(TA) and the A1g phonons, respectively [44]. Note that the anharmonic
phonon–phonon scattering term is assumed to be a constant because the
anharmonic decay channel depends mainly on the distribution of lower lying TA
and LA phonons and thus on the lattice temperature. For the general case with
a constant crystal structure, changes in $1/\tau_{\rm{Anharmonic}}$ would be
expected to be negligibly small at a constant lattice temperature. We have
estimated the lattice temperature rise for Bi ($x$ = 0) upon excitation using
the two-temperature model (TTM) [47, 48], which predicts a temperature rise of
$\approx$50 K [23]. Although the lattice specific heat will slightly increase
when the composition ($x$) becomes larger (e.g., by 20% as $x$ varies up to
0.12 [49]), we know from TTM calculations that for larger lattice specific
heat values, the lattice temperature rise will decrease. Therefore, we
conclude that the lattice temperature is nearly constant or the temperature
change is small for the different compositions. In the latter sections,
however, we will show $1/\tau_{\rm{Anharmonic}}$ varies with the composition
$x$.

Figure 3:  The scattering rate of the three different coherent A1g phonons as
a function of the Sb concentration $x$. The thick lines indicate the
theoretical scattering rate calculated using the alloy scattering model
described in the main text, where $\Gamma_{0}=\pi/6$ was fixed for equation
(9).

To examine possible contributions from electron-phonon scattering
$1/\tau_{\rm{e-p}}$, the pump fluence dependence of the relaxation rate (the
inverse of the dephasing time) and the frequency are presented as a function
of the pump fluence $F$ in figure 4. At present, reliable data for the
variation of the carrier density over the entire composition $x$ in the
Bi1-xSbx system is not available [27], but the photogenerated carrier density
is of the same magnitude, as figure 3 was obtained under a constant fluence.
As electron-phonon scattering would occur near the Fermi-level (Ef) for the
semimetal or Weyl semimetal phase [50], we can examine the effect of the
carrier density on the electron-phonon scattering near the Ef by the analysis
shown in figure 4. Here the frequency and relaxation rate represent the real
and imaginary parts of the phonon self-energy, respectively, depending on the
photo-excited carrier density $n_{c}$ [51]. Assuming $n_{c}\propto F$, where
$F$ is the pump fluence, we fit the frequency and relaxation rate to
$\omega=\omega_{0}+AF$ and $1/\tau=1/\tau_{0}+BF$, respectively, to obtain,
for $x$=0.49, $\omega_{0}$ = 4.35 THz, $A$ = – 0.024 THz$\cdot$cm2/mJ and
$1/\tau_{0}$ = 0.757 ps-1, $B$ = 0.097 ps-1cm2/mJ, respectively. Both the
relaxation rate and frequency exhibited a linear and small change (10 %) as
the pump fluence was varied from 86 to 855 $\mu\mathrm{J/cm}^{2}$, as can be
seen in the fitting parameters (A and B). The contribution from
$1/\tau_{\rm{e-p}}$ is, however, considered to be insufficient to explain the
observed larger change (50 %) in the relaxation rate (figure 3). As discussed
above, alloy scattering is expected to play a significant role in Bi1-xSbx
alloys [52], and therefore we examined an alloy scattering model for the
phonon scattering rate in figure 3.

Figure 4: The pump fluence dependence of the relaxation rate (a) and frequency
(b) obtained for the A1g phonon mode (Sb-Sb) for various Sb concentration $x$.
The solid lines represent a fit with a linear function described in the main
text.

The scattering rate due to the alloy scattering can be expressed using the
phonon frequency $\omega$ [53, 54] as,

$\frac{1}{\tau_{\rm{Alloy}}(\omega)}=\frac{\pi}{6}V_{0}\Gamma_{\rm{Alloy}}{\omega}^{2}D(\omega),$
(2)

where $V_{0}$ is the volume per atom, $\Gamma_{\rm{Alloy}}$ is an alloy
constant, and $D(\omega)$ is the vibrational density of states per unit
volume. Here, the total vibrational density of states is given by the sum over
phonon branch $b$,

$D(\omega)=\sum_{\mathrm{\it
b}}{}\int\frac{d\vec{q}}{{(2\pi)}^{3}}\delta[\omega-\omega_{b}(\vec{q})],$ (3)

where $\vec{q}$ is the wavevector. The scattering-rate constant is given by
three different contributions,

$\Gamma_{\rm{Alloy}}(x)=\Gamma_{\rm{Mass}}(x)+\Gamma_{\rm{Iso}}(x)+\Gamma_{\rm{Strain}}(x),$
(4)

where the first contribution is due to the mass difference, the second due the
isotope effect, and third strain effects. Here we focus on the mass
difference, which plays the dominant role in scattering in the alloy Bi1-xSbx
[52]. The mass difference constant is given by,

$\Gamma_{\rm{Mass}}=\sum_{i}f_{i}{\left(1-\frac{M_{i}}{\overline{M}}\right)}^{2},$
(5)

where $f_{i}$ is the mass ratio of atoms with mass $M_{i}$, and $\overline{M}$
is the average mass given by $\overline{M}=\sum_{i}f_{i}M_{i}$. The
$\Gamma_{\rm{Mass}}(x)$ term depends on the atomic concentration $x$, and
therefore is given by

$\displaystyle\Gamma_{\rm{Mass}}(x)$
$\displaystyle=x(1-x)\frac{{(M_{\rm{Sb}}-M_{\rm{Bi}})}^{2}}{{[xM_{\rm{Sb}}+(1-x)M_{\rm{Bi}}]}^{2}}$
(6) $\displaystyle=x(1-x)\frac{{(121.76u-208.98u)}^{2}}{{[x\cdot
121.76u+(1-x)\cdot 208.98u]}^{2}},$

where the atomic mass of Bi is 208.98$u$, and that of Sb is 121.76$u$, with
$u$ being given in unified atomic mass units. Thus, the
$1/\tau_{\rm{Alloy}}(\omega)$ term shown in equation (2) can be written as,

$\displaystyle\frac{1}{\tau_{\rm{Alloy}}}=$
$\displaystyle\frac{\pi}{6}V_{0}{\omega}^{2}D(\omega)\cdot x(1-x)$ (7)
$\displaystyle\times\frac{{(121.76u-208.98u)}^{2}}{{[x\cdot 121.76u+(1-x)\cdot
208.98u]}^{2}}.$

In addition, here, we apply the Einstein model for the $D(\omega)$ term shown
in equation (3) due to the nearly flat dispersion for the optical phonon mode
[55], and thus we assume that all the phonon modes for the optical phonon
branch have the same frequency $\omega_{0}$. According to the Einstein model,
equation (3) can be reduced to,

$\displaystyle D(\omega)=N\delta(\omega-\omega_{0})=\rm{const.},$ (8)

where $N$ is the number of unit cells. Thus, $D(\omega)$ is independent of the
Sb concentration $x$. Based on the above considerations, $1/\tau_{\rm{Alloy}}$
can be finally written as,

$\displaystyle\frac{1}{\tau_{\rm{Alloy}}}=$
$\displaystyle\Gamma_{0}{\omega}^{2}\cdot x(1-x)$ (9)
$\displaystyle\times\frac{{(121.76u-208.98u)}^{2}}{{[x\cdot 121.76u+(1-x)\cdot
208.98u]}^{2}},$

where $\Gamma_{0}=\pi V_{0}D(\omega)/6$ is a proportional constant. Since the
exact values of both $V_{0}$ and $D(\omega)$ constants were not available
because of the uncertainly in the crystal structures of the Bi1-xSbx system,
we held $V_{0}D(\omega)$ = 1 for simplicity. In addition, each model curve has
a background, assuming $1/\tau_{\rm{Anharmonic}}$ and $1/\tau_{\rm{e-p}}$ do
not depend on the composition $x$ as a first trial, i.e., 0.55 ps-1 for the
Sb-Sb mode, 0.3 ps-1 for the Bi-Bi mode, and 0.4 ps-1 for the Bi-Sb mode. The
scattering rate thus obtained based on equation (9), as a function of the Sb
concentration $x$ and the frequency $\omega$ of each optical phonon mode, is
plotted in figure 3. As shown in figure 3, the theoretical scattering rate
based on equation (9) reproduces the experimental data well, excluding the Sb-
Sb vibrational mode around $x=0.5$.

Figure 5: The phonon dispersion in Bi1-xSbx at $x=0.5$. Adapted from Ref.
[17]. The solid arrows represent possible anharmonic decay paths from the A1g
phonons of the Bi-Bi ($\sim$2.9 THz) and Bi-Sb ($\sim$3.6 THz) local
vibrations. The dashed arrows indicate that the anharmonic decay paths from
the A1g phonon of the Sb-Sb ($\sim$4.0 THz) are forbidden. The rectangle
region (light blue) indicates the energy gap between the optical and acoustic
phonon branches.

We now discuss why the relaxation rate of the Sb-Sb vibrational mode around
$x=0.5$ is smaller than the corresponding theoretical value. One plausible
explanation is that the anharmonic phonon-phonon scattering rate is
accentuated by mass disorder when the phonon frequency decreases, as seen in
Si1-xGex alloy systems [56]. In the present study, around $x=0.5$ where the
mass disorder is at a maximum, anharmonic phonon-phonon scattering is
accentuated for the lower frequency phonons, specifically the Bi-Bi and Bi-Sb
vibrations. In this case, the relaxation rate due to the
$1/\tau_{\rm{Anharmonic}}$ term should exist for the two modes (Bi-Bi and Bi-
Sb vibrations) around $x=0.5$, while the $1/\tau_{\rm{Anharmonic}}$ term for
the Sb-Sb vibrational mode should decrease.

To test for the above possible scenario based on anharmonic phonon-phonon
decay channels in Bi1-xSbx around $x=0.5$, we extracted the phonon dispersion
from the literature as schematically shown in figure 5 (Ref. [17]). Although
there are some discrepancies between the frequencies of the optical phonon
modes at the $\Gamma$ point in figure 5 and our observations [figure 2(b)],
due to different lattice temperature and a possible mismatch in the lattice
structure, there is a large energy gap between the acoustic and optical phonon
branches for 1.8 $<\omega<$ 2.8 THz. Therefore, the decay channel of the Sb-Sb
A1g mode (4.0 THz) is forbidden (red dashed arrows) while the other two
optical phonon modes of the Bi-Bi and Bi-Sb A1g modes can decay into the two
underlying acoustic phonons under the condition that both the phonon energy
and the momentum are conserved (red solid arrows). Thus, phonon dispersion
considerations can support the idea that the $1/\tau_{\rm{Anharmonic}}$ term
significantly decreases for the A1g modes of Sb-Sb around $x=0.5$.

Figure 6: (a) The relaxation rate of the carrier response as a function of the
composition. (b) Schematic band structure near the Fermi level for semimetal
Bi (Sb), i.e, $x$=0 or 1. The photoexcited electrons (e-) relax via electron-
phonon intraband scattering, followed by interband recombination. (c)
Schematic band structure near the Fermi-level for Weyl semimetal Bi0.5Sb0.5
(Adapted from Ref. [15]). The photoexcited electrons (e-) relax via electron-
phonon intraband scattering, but interband recombination is prohibited.

Another possible explanation is scattering by a quasiparticle coupled to the
Sb-Sb bond, which could lead to unique scattering dynamics in the Weyl
semimetal phase, such as a decrease in the electron-phonon scattering rate.
Figure 6 presents the relaxation rate ($1/\tau_{c}$) of the carrier dynamics
extracted by the fit in figure 2 as a function of the Sb content $x$. The
carrier relaxation rate decreases for $x=0.49$, indicating that electron-
phonon scattering becomes weak near $x$ = 0.5. This result suggests a close
relationship between the Weyl semimetal phase ($x$ = 0.5) and the fact that
electron-phonon scattering near Weyl points, which are close to the $\Gamma$
point, can become weak [50, 57] [see also figure 6(b) and (c)]. On the other
hand, the contribution from electron-phonon scattering to the phonon dephasing
rate is expected to be smaller than that from anharmonic phonon scattering, as
discussed in figure 4, and therefore, the phonon relaxation dynamics are not
simply governed by alloy scattering, but are significantly modified by
anharmonic phonon-phonon scattering with implied minor contributions from
electron-phonon scattering in a Weyl-semimetal phase. Although exploring such
new quasiparticle scattering dynamics will require more experimental and
theoretical study, the fact that a reduction in the scattering rate was
observed near the Weyl semimetal phase ($x$ = 0.5) suggests a possible
contribution from the quasiparticle scattering process described above.

##  4 CONCLUSIONS

In conclusion, we have investigated the dynamics of coherent optical phonons
in Bi1-xSbx for various Sb compositions $x$ by using a femtosecond pump-probe
technique. The coherent optical phonons corresponding to the A1g modes of Bi-
Bi, Bi-Sb, and Sb-Sb local vibrations were generated and observed in the time
domain. The frequencies of the coherent optical phonons were found to change
with the Sb composition $x$, and more importantly, the relaxation times of
these phonons were strongly attenuated for $x$ values in the range 0.5–0.8. We
argue that the phonon relaxation dynamics are not simply governed by alloy
scattering, e.g., scattering due to mass differences, but are significantly
modified by alloy-induced anharmonic phonon-phonon decay channels with minor
contributions from electron-phonon scattering in the Weyl semimetal phase,
which is expected to appear at $x$ = 0.5.

This work was supported by CREST, JST (Grant Number. JPMJCR1875), and JSPS
KAKENHI (Grant Numbers. 17H02908 and 19H02619), Japan. We acknowledge Dr. R.
Mondal for helping data analysis and Ms. R. Kondou for sample preparation.

## References

## References

  * [1] Fu L and and Kane CL 2007 $Phys.\ Rev.$ B 76 045302
  * [2] Hsieh D $et\ al$ 2009 $Science$ 323 919
  * [3] Nishide A, Taskin A A, Takeichi Y, Okuda T, Kakizaki A, Hirahara T, Nakatsuji K, Komori F, Ando Y and Matsuda I 2010 $Phys.\ Rev.$ B 81 041309
  * [4] Benia H M, Straßer C, Kern K and Ast C R 2015 $Phys.\ Rev.$ B 91 161406
  * [5] Zhang H-J, Liu C-X, Qi X-L, Deng X-Y, Dai X, Zhang S-C and Fang Z 2009 $Phys.\ Rev.$ B 80 085307
  * [6] Hsieh D, Qian D, Wray L, Xia Y, Hor Y S, Cava R J and Hasan M Z 2008 $Nature$ 452 970
  * [7] Roushan P, Seo J, Parker C V, Hor Y S, Hsieh D, Qian D, Richardella A, Hasan M Z, Cava R J and Yazdani A 2009 $Nature$ 460, 1106
  * [8] Taskin A A and Ando Y 2009 $Phys.\ Rev.$ B 80 085303
  * [9] Teo J C Y, Fu L and Kane CL 2008 $Phys.\ Rev.$ B 78 045426
  * [10] Zhu X-G and Hofmann P 2014 $Phys.\ Rev.$ B 89 125402
  * [11] Katayama I, Kawakami H, Hagiwara T, Arashida Y, Minami Y, Nien L-W, Handegard OS, Nagao T, Kitajima M and Takeda J 2018 $Phys.\ Rev.$ B 98 214302
  * [12] Li X $et\ al$ 2019 $Phys.\ Rev.$ B 100 115145
  * [13] Samanta M, Pal K, Waghmare U V and Biswas K 2020 $Angew.\ Chem.$ 132 4852
  * [14] Ghaemi P, Mong R S K and Moore J E 2010 $Phys.\ Rev.\ Lett.$ 105 166603
  * [15] Su Y-H, Shi W, Felser C and Sun Y 2018 $Phys.\ Rev.$ B 97 155431
  * [16] Singh S, Valencia-Jaime I, Pavlic O and Romero A H 2018 $Phys.\ Rev.$ B 97 054108
  * [17] Singh S, Ibarra-Hernández W, Valencia-Jaime I, Avendaño-Franco G and Romero A H 2016 $Phys.\ Chem.\ Chem.\ Phys.$ 18 29771
  * [18] Wang Y, Guo L, Xu X, Pierce J and Venkatasubramanian R 2013 $Phys.\ Rev.$ B 88 064307
  * [19] Reimann J, Güdde J, Kuroda K, Chulkov E V and Höfer U 2014 $Phys.\ Rev.$ B 90 081106
  * [20] Misochko O V, Flock J and Dekorsy T 2015 $Phys.\ Rev.$ B 91 174303
  * [21] Glinka Y D, Babakiray S, Johnson T A, Bristow A D, Holcomb M B and Lederman D 2013 $Appl.\ Phys.\ Lett.$ 103 151903
  * [22] Sobota J A, Yang S-L, Leuenberger D, Kemper A F, Analytis J G, Fisher I R, Kirchmann P S, Devereaux T P and Shen Z-X 2014 $Phys.\ Rev.\ Lett.$ 113 157401
  * [23] Mondal R, Arai A, Saito Y, Fons P, Kolobov A V, Tominaga J and Hase M 2018 $Phys.\ Rev.$ B 97 144306
  * [24] Guo H $et\ al$ 2011 $Phys.\ Rev.$ B 83 201104(R)
  * [25] Nakamura F $et\ al$ 2011 $Phys.\ Rev.$ B 84 235308
  * [26] Kim H-J, Kim K-S, Wang J-F, Sasaki M, Satoh N, Ohnishi A, Kitaura M, Yang M and Li L 2013 $Phys.\ Rev.\ Lett.$ 111 246603
  * [27] Singh S, Garcia-Castro A, Valencia-Jaime I, Muñoz F and Romero A H 2016 $Phys.\ Rev.$ B 94 161116
  * [28] Hase M, Itano T, Mizoguchi K and Nakashima S-i 1998 $Jpn.\ J.Appl.\ Phys.$ 37 L281
  * [29] Wu T, Zhou C, Jiang L, Zhai F, Jia W and Fan Z 2010 $Opt.\ Commun.$ 283 4383
  * [30] Zitter R and Watson P 1974 $Phys.\ Rev.$ B 10 607
  * [31] Lannin J S 1979 $Phys.\ Rev.$ B 19 2390
  * [32] Lannin J S 1979 $Solid\ State\ Commun.$ 29 159
  * [33] Saito Y, Fons P, Kolobov A V, Mitrofanov K V, Makino K, Tominaga J, Hatayama S, Sutou Y, Hase M and Robertson J 2020 $J.\ Phys.\ D:Appl.\ Phys.$ 53 284002
  * [34] Golin S 1968 $Phys.\ Rev.$ 176 830
  * [35] Scherrer P 1912 $Kolloidchemie\ {E}in\ {L}ehrbuch$ (Springer, Berlin Heidelberg)
  * [36] Ohshima N 1996 $J.\ Appl.\ Phys.$ 79 8357
  * [37] Zeiger H, Vidal J, Cheng T, Ippen E, Dresselhaus G and Dresselhaus M 1992 $Phys.\ Rev.$ B 45 768
  * [38] Fukuda T, Makino K, Saito Y, Fons P, Kolobov A V, Ueno K and Hase M 2020 $Appl.\ Phys.\ Lett.$ 116 093103
  * [39] Hase M, Katsuragawa M, Constantinescu A M and Petek H 2013 $New\ J.\ Phys.$ 15 055018
  * [40] Minami Y, Yamaki H, Katayama I and Takeda J 2014 $Appl.\ Phys.\ Express$ 7 022402
  * [41] Subkhangulov R R, Mikhaylovskiy R V, Zvezdin A K, Kruglyak V V, Rasing Th and Kimel A V 2016 $Nat.\ Photon.$ 10 111
  * [42] Hagemann H-J, Gudat W and Kunz C 1975 $J.\ Opt.\ Soc.\ Am.$ 65 742
  * [43] Hase M, Katsuragawa M, Constantinescu A M and Petek H 2012 $Nat.\ Photon.$ 6 243
  * [44] Hase M, Mizoguchi K, Harima H, Nakashima S-i and Sakai K 1998 $Phys.\ Rev.$ B 58 5448
  * [45] Hase M, Ishioka K, Demsar J, Ushida K and Kitajima M 2005 $Phys.\ Rev.$ B 71 184301
  * [46] Klemens P G 1966 $Phys.\ Rev.$ 148 845
  * [47] Kaganov M I, Lifshitz I M, Tanatarov L V 1957 $Sov.\ Phys.\ JETP$ 4 173
  * [48] Allen P B 1987 $Phys.\ Rev.\ Lett.$ 59 1460
  * [49] Rogacheva E I, Doroshenko A N, Nashchekina O N and Dresselhaus M S 2016 $Appl.\ Phys.\ Lett.$ 109 131906
  * [50] Parameswaran S A, Grover T, Abanin D A, Pesin D A and Vishwanath A 2014 $Phys.\ Rev.$X 4 031035
  * [51] Cerdeira F, Fjeldly T A and Cardona M 1973 $Phys.\ Rev.$ B 8 4734
  * [52] Lee S, Esfarjani K, Mendoza J, Dresselhaus M S and Chen G 2014 $Phys.\ Rev.$ B 89 085206
  * [53] Tamura S-i 1983 $Phys.\ Rev.$ B 27 858
  * [54] Aksamija Z and Knezevic I 2013 $Phys.\ Rev.$ B 88 155318
  * [55] Kittel C 2004 $Introduction\ to\ {S}olid\ {S}tate\ {P}hysics$ (Wiley, New York)
  * [56] Garg J, Bonini N, Kozinsky B and Marzari N 2011 $Phys.\ Rev.\ Lett.$ 106 045901
  * [57] Garcia C A C, Coulter J and Narang P 2020 $Phys.\ Rev.\ Res$ 2 013073