This section fixes the model in which the FlyClient theorem is stated: the variable-difficulty backbone with its unit of work, the adversary and persistence; the retarget rule, the attack it excludes and the limit of that exclusion for a sampling verifier; the assumption; and the definitions of security and succinctness for chain proofs.
The model of this section is the one ePrint 2019/226 adopts in Section 3.1 and Section 3.2, after Garay, Kiayias and Leonardos (the variable-difficulty backbone, CRYPTO 2017), and it is stated as the paper adopts it. Whether a Zcash chain satisfies its hypotheses is classified in §7, not here.
Fix the security parameter (Math Guide, §“The security parameter”) and a hash length . The execution proceeds in rounds . The proof-of-work function is a random oracle (Crypto Guide, §“The random oracle model”), its outputs read as integers in . In round there are honest and adversarial active players, and each active player makes sequential queries to per round. A block declares a target in its header, and carries a valid proof of work at if and only if . A message broadcast in round is delivered to every player in round , in an order the adversary chooses. The honest participation sequence is -respecting: for every set of at most consecutive rounds,
Each block also records the round in which it was mined, which Definition 4.5 reads.
The paper’s paraphrase in Section 3.1 omits “consecutive”; read literally, for it bounds participation over the whole execution.
The paper writes for the oracle output length and for the honest player count; here the length is , being the security parameter, and the count is , being a leaf count (§1.2).
A single query to meets target with probability . The difficulty level of is
the expected number of queries per block valid at . A harder target is a smaller and a larger : the level is a work-like quantity inversely proportional to the target and is never the target itself. The total work of a finite sequence of blocks with declared targets is
the paper’s cumulative difficulty. A chain is heavier than another when its total work is larger.
The paper also calls a level a “target” in its Definition 7; in this volume denotes only a level and only a target. The Zcash analogue, the work of a block computed from its compact target, is defined in the Consensus Guide, §“Work, and the best chain”, from protocol specification, §“Definition of Work”. It is a different normalisation of the same ordering and is not used by the model.
Fix with . The adversary is a PPT algorithm (Math Guide, §“Algorithms, running time, and PPT”; Crypto Guide, §“Adversaries and the security parameter”) that controls the adversarial players of each round , with , so that it makes at most queries to in round . It is rushing: in each round it receives every honest message of the round before choosing its own, and it orders the delivery of all messages. Its goal is to make a light client accept a chain whose total work is at least that of the honest chain.
The prior knowledge of the verifier is fixed once, in Definition 4.16.
The backbone parameters , with , and the constants of Definition 4.5, are such that there is a persistence depth with, except with probability negligible in :
(persistence) for all honest players and rounds , the chain of at round with its last blocks removed is a prefix of the chain of at round ;
(liveness) a transaction given to every honest player for a number of consecutive rounds fixed by the parameters lies in that stable prefix of every honest chain.
ePrint 2019/226, Section 3.1 (p. 7), adopts this as a parameter choice, citing Theorems 26 and 27 of its reference [22], Garay, Kiayias and Leonardos, “The Bitcoin backbone protocol: analysis and applications” (EUROCRYPT 2015), a fixed-difficulty analysis; it names no theorem of its reference [23] (CRYPTO 2017), the source of the variable-difficulty model. No cited theorem establishes the assumption in the model of Definition 4.1.
The tips of honest chains need not coincide: persistence gives agreement only on all but the last blocks. The paper’s sentence that persistence and liveness give “a single chain adopted by all honest full nodes” overstates this; the assumption states the corrected form. The persistence depth is distinct from the catch parameter of §5.
Fix constants (the retarget-epoch length, in blocks), (the dampening factor), an initial participation estimate and an initial target . Targets are constant within each retarget epoch of consecutive blocks. At the end of an epoch whose blocks were mined at target in rounds, read from the rounds the blocks record, the participation estimate is
and the target of the next epoch is
that is, the value clamped to . Let , the expected number of blocks per round of players at . A chain respects the rule when every epoch’s target is the image under of the previous epoch’s target and round span.
The unclamped value is the raw retarget
which restores blocks per round at the estimated participation. The current target is an input of the rule; the paper’s list of constants omits it. The definition is ePrint 2019/226, Definition 1 (Section 3.1, p. 7), after Garay, Kiayias and Leonardos, Definition 2. The function is written rather than the paper’s , because is a difficulty level, and and are the initial constants of the cited definition, not the previous-epoch quantities of the gloss in the paper’s Definition 1. The retarget epoch is distinct from the upgrade epoch of §6.
Under variable difficulty the total work of a chain, not its length, decides between chains. An adversary may therefore mine fewer blocks at higher levels and use the larger variance of a sum of few heavy terms to exceed a more powerful honest chain: the difficulty-raising attack of Bahack (arXiv:1312.7013), recalled in ePrint 2019/226, Section 3.1.
Model block discovery by exponential clocks (Consensus Guide, §“Memoryless clocks and the attribution sequence”): honest queries arrive at rate per unit time and adversarial queries at rate , one third of the honest power; each query succeeds independently with probability at level , so that the successes of a party querying at rate at level form an exponential clock of rate . Fix a time and let .
The expected total work of the blocks the honest players find in is , whatever their targets, so the expected total work of the honest chain at is at most .
Suppose the adversary may mine one block at an arbitrary level, in violation of Definition 4.5, and sets its level to . Then it finds that block, whose work alone equals , before with probability
about per cent, a constant independent of .
(i) An honest query at target yields a block of work with probability , hence has expected work whatever the target. By linearity of expectation the expected work found in equals the expected number of honest queries in , which is (Math Guide, §“The clock toolkit: exponential clocks, Poisson counts, and the Chernoff method”, Theorem “Poisson arrival counts”). The honest chain carries at most the work found.
(ii) At level the adversary’s successes form an exponential clock of rate . Its first arrival exceeds with probability (Math Guide, same section, Lemma “Tail, mean, and memorylessness”), so it occurs before with probability . □
In the discrete query model the same statement holds as an inequality: if is an integer, the adversary’s queries at level all fail with probability , since , so it succeeds with probability at least . Since for , , so for every such the two probabilities differ by at most . The paper states “roughly 28%” without derivation (ePrint 2019/226, Section 3.1, p. 7); the comparison, as in the paper, is with the expected honest work.
Definition 4.5 excludes the attack of Proposition 4.6: a target changes only at epoch ends and by at most the factor , so no block may declare an arbitrary level. The paper, citing Garay, Kiayias and Leonardos, states that this rule suffices against difficulty-raising attacks for full nodes, which see every transition and reject a chain that violates it (ePrint 2019/226, Section 3.1, p. 7); that sufficiency is the cited authors’ result and is not proved here. A verifier that samples few blocks sees few transitions. The clamp constrains the transitions it does not see only through data that the chain commits to, which §5.3 constructs; no conclusion about that construction is drawn here. The Zcash retarget rule is a different function, a per-block rule over an averaging window, defined in protocol specification, §“Difficulty adjustment”, and described in the Consensus Guide, §“Difficulty in motion”; it is not an instance of Definition 4.5.
Fix an honest player and let be its chain at round , the honest chain. A fork of a chain against has fork point , the last block common to and ; its blocks are those of after . A block of the fork is validly mined if it carries a valid proof of work at its declared target (Definition 4.1), and invalid otherwise; its validly mined work is the total work of its validly mined blocks.
The printed form (ePrint 2019/226, Assumption 2, Section 3.2, p. 8) reads: “There exists no adversary in the variable-difficulty model that respects the target recalculation function from Definition 1 and can, with non-negligible probability, produce a fork that contains more than blocks such that a fraction of the difficulty weight in these blocks is honest.”
The operative form, for and : for every PPT adversary respecting Definition 4.5 in the model of Definition 4.1, except with probability negligible in , every fork it produces that has more than blocks after its fork point , and total work after at least the total work of after at the same round, has validly mined work less than times its total work after . Such a fork is therefore at least a fraction invalid by weight.
The operative form departs from the printed one in three stated respects. The word “honest” in the printed form means validly mined. The length condition is “more than blocks”, the printed assumption’s own wording, where the paper’s preceding sentence (Section 3.2, p. 8) says “of length or longer”; the choice is consistent with checking the last blocks in full (Remark 4.10). The operative form quantifies only over forks whose work after the fork point reaches that of the honest chain, following the same sentence (“a fraction of the honest forks weight”): the unrestricted reading fails for every , since the adversary’s own fully valid private fork of more than blocks has valid fraction , and only forks that reach the honest weight can win under Definition 4.16.
In Assumption 4.8 the parameter bounds the validly mined fraction of a competitive long fork’s weight. The paper’s evaluation (ePrint 2019/226, Section 7.1, p. 20, and Section 7.2) reads it instead as a power ratio , adversarial to honest mining power, so that the adversary’s share of total power is : one third at , and , about per cent, at , where the paper prints per cent by truncation. The identification of with is not part of the assumption; it needs a bridge from mining power to fork weight, which Remark 4.13 classifies.
Assumption 4.8 constrains only forks of more than blocks, by design: over a short window the variance of mining lets even an adversary with small power produce a heavier short fork with non-negligible probability (ePrint 2019/226, Section 3.2, p. 8). A verifier relying on the assumption must therefore check in full a suffix of the claimed chain containing at least its last blocks. At constant difficulty the paper takes ; under variable difficulty it states the checked suffix as a weight fraction (Section 6, p. 17), leaving its relation to the block count implicit. The size of the suffix under variable difficulty is fixed in §5.4 (Remark 5.24); no conclusion about it is drawn here.
The paper’s only derivation of Assumption 4.8 from mining power is its Lemma 1 with Corollary 1 (ePrint 2019/226, pp. 8–9), stated here to register their defect. Lemma 1 as printed: in the constant-difficulty backbone, if is the number of blocks any adversary mines while the honest chain adopts blocks, and the adversary’s block rate is at most times the honest adoption rate, then for ,
Corollary 1: for and every there is for which the assumption holds at constant difficulty.
The printed bound is the Chernoff bound of a Poisson variable of mean (Math Guide, §“The clock toolkit: exponential clocks, Poisson counts, and the Chernoff method”, Corollary “Chernoff bound for a Poisson variable”). The proof asserts without proof that such a variable models , and it switches to the undefined symbols and , a footnote setting . Under independent exponential block clocks the count is negative binomial (same section, Theorem “Negative-binomial arrival count”), and the printed expression is not an upper bound for it in general: the Math Guide’s Example “The Poisson expression is not a bound for the arrival count”, in the same section, exhibits , , and with the exact tail above the printed expression. Lemma 1 and Corollary 1 are therefore unproved as printed; Proposition 4.12 replaces them in the clock model.
The clock model identifies, at constant difficulty, honest adoption and adversarial block discovery after a fork point with independent exponential clocks started at , of rates and , the rates normalised to the honest adoption rate (Consensus Guide, §“Memoryless clocks and the attribution sequence”). For let be the number of adversarial arrivals strictly before the -th honest arrival after . The count is nondecreasing in .
In the clock model, count as validly mined in a fork from only blocks the adversary finds after . Let and
Then:
for every fork point and , , and ;
for any set of candidate fork points, the probability that for some a fork from exists at some time with more than blocks, total work after at least that of the honest chain, and validly mined fraction at least , is at most
For polynomial in and this is negligible in , so Assumption 4.8 holds in the clock model, which recovers Corollary 1 there. The proposition says nothing about the variable-difficulty backbone.
(i) By memorylessness the clocks restart at , and the bound is the Math Guide’s Theorem “Chernoff bound for the arrival count”, with the law of Theorem “Negative-binomial arrival count” (§“The clock toolkit: exponential clocks, Poisson counts, and the Chernoff method”), which also shows . That proof attains at as , where is the moment generating function of ; note that .
(ii) Fix . At constant difficulty the work of a block is constant, so work is block count. Consider a time at which the honest chain has blocks after , and a fork from at that time with blocks, total work at least that of the honest chain and validly mined fraction at least . Then . The validly mined blocks were found by the adversary after and before the -th honest arrival, so there are at most of them, and the fraction condition gives
If , then , an event of probability at most by (i). If with , the event is ; the Chernoff method (Math Guide, same section, Theorem “The Chernoff method”) at bounds its probability by
The union bound (Math Guide, §“The union bound and a birthday calculation”) over these events gives, for the fork point ,
and the union over contributes the factor . For negligibility, and are constants with , so for the bound is a polynomial in times a function exponentially small in , which is negligible (Math Guide, §“Polynomial, exponential, and negligible functions”). □
The source omits step (ii). The identification of the fork experiment with the clock model is the paper’s (proof of Corollary 1) and is not derived from Definition 4.1; the counting hypothesis on validly mined blocks is returned to in §5.2.
The paper conjectures that can be derived from the backbone parameters and leaves the derivation out of scope (“not trivial and out of the scope of this paper”, ePrint 2019/226, Section 3.2, p. 8). No such derivation exists: in the classes of Definition 1.3 it is an open problem. Proposition 4.12 covers only the constant-difficulty clock model and does not connect the variable-difficulty backbone to Assumption 4.8. Every result of this volume that uses the assumption is conditional on it.
Let be a chain with genesis block and head . The SPV predicate of is if and only if every block carries a valid proof of work at the target that Definition 4.5 assigns to its position, and for the hash of is contained in the header of . The statement a prover proves at round is that it knows a chain ending in , with total work (Definition 4.2), whose SPV predicate is .
The definition is ePrint 2019/226, Definition 2 (Section 3.3, p. 9). The paper writes and for the head and the cumulative difficulty; here is a height and the total work, and being reserved.
Two chains are equivalent up to the last blocks, with the persistence depth of Assumption 4.4, if removing the last blocks of each leaves one a prefix of the other. The verifier treats valid proofs of equivalent chains as proofs of one chain and takes the one of greatest total work as its representative; no predicate is evaluated on the last blocks.
The paper writes for this depth (Section 3.3, p. 9); here , being the catch parameter.
The verifier is a light client (Definition 2.1) whose only prior knowledge of the chain is the genesis block , and which has oracle access to to check proofs of work. It receives a set of proofs from several provers, at least one of which is honest, and accepts the SPV predicate of the proof whose head carries the greatest total work, up to Definition 4.15.
The honest-prover hypothesis places eclipse attacks, in which every prover is adversarial, outside the model (ePrint 2019/226, Section 3.3, p. 9).
A chain proof protocol is a pair of algorithms with oracle access to : the prover maps a chain to a proof, and the verifier maps a set of proofs to an output , a head and a total work, or to rejection. The security game, for an environment, a PPT adversary as in Definition 4.3 and a round , is as follows.
The backbone execution of Definition 4.1 runs to round , with controlling the adversarial players.
At the start of round the verifier receives a set containing at least one proof that computes on the chain of an honest full node; chooses the other proofs.
The adversary wins if either of the following clauses fails.
At the end of round the verifier outputs the SPV predicate of greatest total work for some head : a pair such that the SPV predicate holds for a chain ending in of total work , and no proof in of a chain whose SPV predicate holds carries more total work, up to Definition 4.15.
Every honest full node at round holds a chain of which the chain committed by , with its last blocks removed, is a prefix.
The protocol is secure if for every environment, every PPT and every round the probability that wins is negligible in .
The definition states both clauses of ePrint 2019/226, Definition 3 (Section 3.3, p. 9). The game idiom is that of the Crypto Guide, §“Security as a game”; the multi-prover game is defined here.
A chain proof protocol is succinct if for every PPT prover and every round , every proof produced at round has size bits, where is the number of blocks of the honest chain, as fixed in §1.2, and the asymptotics are in with , and fixed.
The definition is ePrint 2019/226, Definition 4 (p. 9), after Kiayias, Miller and Zindros, “Non-interactive proofs of proof-of-work”, Definition 4.
The term names this class of protocols. Kiayias, Miller and Zindros use the same name for their superblock construction, a different member of the class.