KasMedia Logo
Understanding GHOSTDAG

Understanding GHOSTDAG, Exercises for Chapter 1D

September 12, 2024Shai (Deshe) Wyborski3 min read

(This post is part of the Understanding GHOSTDAG series)

  1. A strong connectivity component in a directed graph is a set of vertices such that each vertex in the set is reachable from any other vertex in the set. What is the largest strong connectivity component possible in a DAG? What is the smallest strong connectivity component possible in a directed graph that is not acyclic?

  2. Draw all ways to complete this rooted tree to a rooted DAG:

    50
  3. Draw all spanning trees of this DAG:

    51
  4. A DAG is said to have the no-incest property if the following does not happen: there are vertices A,B,CA,B,C such that AA points at BB and CC and BB is reachable from CC. Draw the simplest DAG that doesn’t have the no-incest property.

  1. * Propose an algorithm that is given a DAG and transforms it into a DAG with the no-incest property by removing arrows, such that if AA was reachable from BB in the original DAG it will also be reachable in the output.

  2. Let GG be a rooted DAG and BB a vertex in GG, prove the following:

    • ClosedCone(B)Anticone(B)=GClosedCone(B) \cup Anticone(B) = G

    • Cone(B)ClosedAnticone(B)={B}Cone(B) \cap ClosedAnticone(B) = \{B\}

  1. List all topological sortings of the “getting dressed” DAG. If you could remove one vertex from the graph before doing that exercise, which one should you choose to work as least as possible? Why?

  2. The graph visualizing the iterative algorithm for topological sorting has no B2.MergeSetB_2.MergeSet, why is that?

  3. Prove the correctness of the iterative algorithm, namely that the sorting it outputs is indeed topological

  4. *Find a chain selection rule that induces an ordering rule that is not topological

  5. *Find a tie-breaking rule that causes HCR to be non-transitive

  6. *Find a necessary and sufficient condition for a tie-breaking rule to make HCR transitive. Are the tie breaking rules we’ve discussed satisfying this condition?

  7. *Say that there are nn chains going through BB and nn’ chains going through BB’. We can find the best chain among all these chains (w.r.t. some transitive chain-selection rule) by comparing any two chains in this set. This requires comparing Θ((nn)2)\Theta((n\cdot n’)^2) pairs of chains. Find an algorithm for finding the best chains that only requires comparing O(n+n)O(n+n’) pairs of chains.

  8. *Prove that GHOSTDAG (with the lexicographic hash tie-breaking rule) is transitive.

  9. *Prove that HCR and GHOSTDAG are monotone chain-selection rules

  10. **Prove that a transitive monotone chain-selection rule induces a topological sorting

  11. The attack we’ve seen on the DAGified GHOTS protocol assumes that B.FutureB.Future|B.Future| - |B’.Future| starts from 11 and remains constant as long as only honest blocks are created. In practice, it does not necessarily start from 11 and there is some chance that honest blocks will only be in the future of exactly one of the blocks BB and BB’. Explain why the attack still works.

  12. **Explain why the incomplete version of SPECTER we proposed is succeptible to premining attacks. (Reminder: a premining attack is where the adversary wants to revert some arbitrarily old transaction, but doesn’t care which transaction. So they can decide that they are starting to work now so that a year from now they could revert an nn day old transaction. If the attempt fails, they try again. A premining attack is successful if the probability of success is inversely polynomial in nn (unlike in Bitcoin, where we have seen it is inversely exponential).)

Enjoyed reading this article?

More articles like this

Comments

No comments yet!

Post a comment

KasMedia logo