{"id":"cca40e10-2cd7-4fbb-b6dc-ab2ff8a3833f","arxiv_id":"1908.06405","paper_version":2,"verdict":"REJECT","confidence":"MODERATE","novelty_score":5.0,"correctness_risk":"high","formal_verification":"none","parameter_count":2,"one_line_summary":"StreamNet combines Conflux-style pivot chains with IOTA-style random tip selection and streaming graph algorithms to produce a total order over a DAG-based blockchain.","lead":"StreamNet is a cryptocurrency-style ledger that organizes blocks in a web (a DAG) instead of a single chain, combining ideas from Conflux and IOTA to order transactions without a central authority. It uses streaming graph tricks and a two-step gossip protocol to try to keep up as the graph grows.","discovery_kind":"extension","skeptic_critique":{"model":"deepseek-v4-flash","headline":"Algorithm 2's MCMC reference-tip selection cannot run as specified: it traverses only parent edges, and its halting condition never becomes false; the two-tip DAG construction is therefore not well-defined.","rationale":"The reader's REJECT verdict is justified, but the most load-bearing defect is even more basic than the unproven Conflux inheritance. The protocol's own definitions make Algorithm 2 ill-defined; this is not an unproven theorem but a specified routine that cannot execute as written. The two-tip attachment rule is what distinguishes StreamNet from Conflux and IOTA, so a defect here undermines the total-order construction and the claimed safety inheritance. I agree with the reader that Section 2.7's assertion that StreamNet 'shares the same safety and correctness property as Conflux' is unsupported, and that the Section 3 complexity claims and Section 4 experiments are not validated. My concern is independent of those issues and is visible directly from Figure 4 and Algorithms 1-2. A re-specified MCMC might make the system analyzable, but the manuscript as written does not contain such a specification; the code repository may implement something different, but the paper's protocol definition is what is under review.","tokens_in":13044,"tokens_out":12939,"duration_ms":147298,"concrete_test":"Write a minimal interpreter of Algorithm 2 using the definitions in Figure 4 and run it on the Figure 5 graph with a timeout. Confirm that the loop never exits when starting from g because every tip has Score >= 1. Then change the halting condition to stop when Child(G,t) is empty and check that the walk still follows only parent edges, so it can return a block that is not a DAG tip. Either result shows the MCMC routine must be re-specified before the safety and ordering claims can be assessed.","verdict_should_be":"UNCHANGED","load_bearing_attack":"The paper's core construction (Algorithm 1) needs MCMC(G,g) to return a tip for the second edge of every new block. As written, Algorithm 2 does not do that. Figure 4 defines Child(G,b) = {b' | P(b') = b}, so the random walk follows only parent-tree edges, never reference edges. It can therefore stop at a block that has reference-edge children and is not a tip by the paper's own definition. More seriously, the halting condition is 'while Score(G,t) != 0', while Score(G,b) = |Later(G,b)| and Later(G,b) includes b itself. Every block, including every tip, has Score >= 1, so the loop never exits. Hence the specified reference-tip selection either never terminates or returns the wrong kind of vertex. Since this routine is invoked for every generated block, the graph structure on which the total-order algorithm and Section 2.7's Conflux inheritance are supposed to operate is not actually produced by the stated protocol. This is an internal inconsistency, independent of whether Conflux's GHOST proof would transfer.","agreement_with_reader":"partial"},"referee_report":{"model":"deepseek-v4-flash","summary":"The paper proposes StreamNet, a permissionless DAG-based blockchain protocol. Each new block attaches to two earlier blocks: a deterministic 'parent' chosen by a GHOST-style pivot chain and a random 'reference' chosen by an MCMC walk. The authors define a total order over the DAG using pivot-chain epochs, introduce streaming algorithms to maintain graph properties dynamically, propose a genesis-forwarding mechanism, and design a 'direct signal' gossip protocol. They report an implementation based on IOTA's IRI and experiments on AWS clusters of 3 to 7 nodes with several topologies. The central claims are that StreamNet achieves a decentralized total order, scales to a growing DAG via streaming graph computing, and scales out through its gossip protocol.","tokens_in":13286,"tokens_out":10772,"duration_ms":109299,"significance":"The paper's streaming-maintenance idea and the two-tip attachment rule (one deterministic, one random) are potentially interesting engineering directions, and the authors deserve credit for providing an implementation and releasing the code. However, as written, the core protocol is not well-defined: the MCMC routine in Algorithm 2 cannot terminate as specified, the topological-order update in Eq. (2) is incorrect, and the correctness argument in Section 2.7 is an unsupported assertion that simply transfers Conflux's proof to a different attachment rule. Because these issues affect the central construction, the significance of the paper is currently limited; the experimental evaluation also does not establish the claimed scalability.","major_comments":[{"comment":"Algorithm 2 cannot terminate or return a tip. Score(G,t)=|Later(G,t)| is at least 1 for every block, including tips, because Later includes the block itself (Figure 4), so the loop condition `while Score(G,t) != 0` is never false. In addition, the transition step iterates over Child(G,t)={b'|P(b')=t}, i.e., only parent edges; a vertex whose only children are reference-edge children is not a tip by the definition in Section 2.1 but can be reached and returned by this walk. Since every block generation invokes MCMC for the second edge (Algorithm 1, line 9), the two-tip DAG construction is not specified by the stated protocol.","section":"Algorithm 2 (Section 2.2/2.3)"},{"comment":"The O(1) TopOrder update in Eq. (2) is incorrect for topological ordering. A valid topological label must be larger than the label of every immediate predecessor, so with two predecessors the correct recurrence is max(TopScore(Parent(b)), TopScore(Reference(b)))+1. The min+1 rule can assign a block a score lower than one of its own ancestors, violating the order relations that StreamNetOrder relies on. Consequently, the TopOrder row of Table 2 does not follow from the presented algorithm.","section":"Section 3.3, Eq. (2)"},{"comment":"The correctness argument is an unsupported assertion. The paper states that StreamNet 'shares the same safety and correctness property as Conflux' solely because both use the GHOST pivot rule, but Conflux's proof is tied to its attachment rule (approving all current tips) and to a total order over all blocks. StreamNet's two-tip rule changes the graph and the Past-based epoch structure. In particular, StreamNetOrder (Algorithm 4) returns only blocks in Past(G,Pivot(G,g)); nothing in the protocol guarantees that a block never chosen as the MCMC reference of a pivot-chain block is in that past, so the existence of a total order over the whole DAG is not established. A concrete example of a side block with no path to the pivot tip is not addressed.","section":"Section 2.7"},{"comment":"The genesis forwarding condition in Eq. (3) is not well-formed. For any b on the pivot chain, taking b'=b yields ParentScore(b)>ParentScore(b)+h, which is false for h>0; the intended quantification over 'side chains' is not expressed. Moreover, h is said to be n-m, but n and m are not defined in this section. These problems make Algorithm 8's trigger condition ambiguous and the claim of 'forwarding the genesis' unsupported.","section":"Section 3.4, Eq. (3)"},{"comment":"The experiments do not substantiate the scalability claim in the abstract. Figures 11 and 12 show absolute TPS values in narrow ranges (about 21-24 and 40-55) with no error bars, no comparison to the non-streaming IRI baseline, and no comparison to other DAG systems; the clusters have at most 7 nodes, and increasing the transaction count from 5k to 20k is not a test of DAG growth over time. The conclusion that 'our method is proven to be able to tolerate the increasing complexity' is therefore not supported by the reported data.","section":"Section 4.3"}],"minor_comments":[{"comment":"The denominator Σ_{z:z→b} is undefined; the summation variable and the direction of the arrow should be specified (presumably over children of t).","section":"Algorithm 2, line 4"},{"comment":"The text says the update rule is 'as (1) shows', but the displayed equation is numbered (2).","section":"Section 3.3"},{"comment":"The definition of Chain appears twice on the same line; the second definition seems to be the complement of the chain, but the notation is not clear and should be clarified.","section":"Figure 4"},{"comment":"The TopOrder complexity is recorded as O(|1|); this should be O(1).","section":"Table 2"},{"comment":"The persistence step computes O−O' where O and O' are total orders; set difference of ordered lists is undefined, and the intended operation should be stated precisely.","section":"Algorithm 8"},{"comment":"The formula for ζ_k contains a negative mean (-qλh t) and appears to be a garbled version of the Conflux bound; it should be corrected and properly referenced.","section":"Eq. (1)"}],"recommendation":"reject","confidential_remarks":"The paper has a serious internal inconsistency in its core algorithm and an unsubstantiated correctness section; I am not convinced that a normal revision would resolve these without new results. The code repository is not pinned to a specific commit in the paper, making reproducibility hard to verify. I recommend rejection."},"author_rebuttal":null,"desk_editor":{"model":"deepseek-v4-flash","letter":"Short version: StreamNet combines a Conflux-style pivot chain with an IOTA-style MCMC reference tip and frames DAG maintenance as a streaming graph problem. That framing is genuine, and the authors did real systems work: they forked IRI, made the code public, and ran experiments over seven cluster topologies. The specific combination is new, and the streaming-graph-maintenance direction is worth taking seriously. The direct-signal gossip idea — hash first, then pull content — is plausible and testable.\n\nThe soft spots are load-bearing. The stress-test concern is correct. Algorithm 2 walks only Child(G,t), which by the paper's own Figure 4 means parent-tree children, and it loops while Score(G,t) != 0. Since Score(G,b) = |Later(G,b)| and Later includes b itself, every block has Score >= 1, so the loop never exits. Even if it exited, the walk could return a block that already has reference-edge children and is not a tip under the paper's definition. Algorithm 1 calls MCMC for every new block, so the claimed two-tip DAG construction is not actually specified.\n\nThe streaming optimization has a similar issue. Equation (2) sets a new block's topological score to min(TopScore(parent), TopScore(reference)) + 1. For a DAG you need max, not min, to respect both incoming edges. As written, the topological order can violate the reference edge.\n\nSection 2.7's safety claim is assertion, not proof. StreamNet attaches two edges per block and reverses the ordering direction, so the GHOST-style proof for Conflux does not automatically transfer. The confirmation bound is imported without adapting it to the new attachment rule. The experiments likewise lack baselines, error bars, and a comparison to Conflux or IOTA, so throughput of 20-55 TPS is an anecdote rather than an evaluation.\n\nBottom line: the paper has real effort and a sensible high-level direction, but the central algorithms are internally inconsistent and the security argument is unsupported. I would desk-reject in current form and invite a resubmission after fixing Algorithm 2, correcting the topological-order rule, and providing a real proof or at least a precise argument for why the two-tip rule preserves Conflux's safety.","headline":"A novel DAG consensus combination with a real implementation, but the central algorithm as written does not terminate and the correctness proof is an unproven inheritance; not ready for serious review.","tokens_in":13794,"tokens_out":5480,"would_cite":false,"duration_ms":59342,"reading_group":"maybe","serious_thinker":"no","would_accept_peer_review":false},"rs_alignment":null,"lean_confirmation":null,"pith_extraction":{"msc":[],"pacs":[],"model":"deepseek-v4-flash","headline":"StreamNet claims that a growing proof-of-work DAG can maintain a total order of blocks without a central authority, using two-tip attachment and streaming graph updates.","keywords":["StreamNet","DAG blockchain","total order","GHOST pivot chain","MCMC tip selection","streaming graph computing","gossip protocol","genesis forwarding"],"falsifier":"Build a small StreamNet testbed, let one miner add blocks whose MCMC reference edges always point into the losing sibling's subtree, and watch whether the pivot chain reorgs more often than the bound in equation (1) predicts; a decay failure or a post-snapshot reorg would refute the inherited-safety claim.","tokens_in":12880,"feed_emoji":"🔗","tokens_out":6753,"duration_ms":67199,"temperature":0.7,"pith_summary":"StreamNet is a proof-of-work DAG blockchain design that aims to keep transaction validation fast even as its block graph grows, and to do so without a central coordinator. The paper claims that attaching each new block to exactly two tips—one picked deterministically along a GHOST-style pivot chain, one picked by a Markov-chain random walk—allows every node to compute the same total order over all blocks. It then argues that the expensive graph properties behind that order can be maintained incrementally as the DAG streams in, instead of being recomputed from scratch each time. The reported experiments on small clusters of three to seven nodes show transaction throughput staying roughly flat as the number of transactions grows, which is what the streaming design predicts.","feed_headline":"StreamNet keeps DAG ordering fast as the ledger grows","feed_subtitle":"Two-tip attachment, streaming graph updates, and hash-first gossip aim to hold speed steady as the DAG grows.","key_machinery":"The key machinery is the two-tip attachment rule together with the epoch decomposition of the pivot chain. A new block's parent edge follows the pivot chain, and its reference edge follows an MCMC random walk; the pivot chain partitions the DAG into epochs $Past(G,b)-Past(G,P(b))$, and the ordering algorithm emits earlier epochs first, then topologically sorts the current epoch with hash tie-breaking. The streaming optimizations maintain the required graph properties incrementally: BFS score updates on new blocks, a dual-direction BFS with a covered set for epoch differences, an $O(1)$ topological-position update via $\\min(\\mathrm{TopScore}(parent),\\mathrm{TopScore}(reference))+1$, and a genesis-forwarding threshold that snapshots old history.","core_discovery":"StreamNet's central claim is that the total order of a growing DAG can be computed without a centralized authority, and maintained efficiently, by combining deterministic pivot-chain attachment with randomized reference attachment. Every new block gets one parent edge selected by following the pivot chain (the child with the largest subtree score, hashes breaking ties) and one reference edge selected by an MCMC random walk. The pivot chain divides the graph into epochs; recursively ordering past epochs and topologically sorting each epoch's new blocks yields a total order, with block hashes as tie-breakers. Streaming variants of the score, parent-score, epoch-difference, and topological-order computations turn the per-block cost of updating these structures from repeated full-graph traversals into incremental updates. A genesis-forwarding rule periodically freezes old, deeply confirmed history into a persisted snapshot order, and a hash-first gossip protocol separates block announcements from block bodies so that nodes request content on demand.","pith_inferences":["A testable extension would compare confirmation latency and reorg rates under an adversary that withholds reference edges: the MCMC reference edge changes the subtree shape on which the inherited GHOST-style confirmation bound is proven.","The choice of the MCMC scaling constant $\\alpha$ is likely to control how evenly reference edges spread across tips; in practice, calibrating it to network delay may matter as much as block generation rate, though the paper does not measure that trade-off.","The genesis-forwarding snapshot introduces a checkpoint; a formal argument that a persisted snapshot cannot later be contradicted would be needed, since the paper's correctness discussion does not cover the interaction between forwarding and reorgs."],"forward_implications":["If the central claim is right, a StreamNet node can keep validating new blocks at a stable rate as the DAG grows, because the expensive graph properties are updated incrementally rather than recomputed from scratch.","The absence of a coordinator means every node can derive the same total order from its local DAG view, with hash tie-breaking resolving orderings deterministically.","The hash-first gossip protocol should let block updates spread at per-node cost roughly independent of block size, since only hashes are broadcast and bodies are pulled on demand.","A periodic genesis forward turns old, approved history into a fixed chain, so applications see a stable prefix of the total order while the new DAG keeps growing."],"supporting_citations":[{"why":"supplies the pivot-chain definition, epoch ordering, and confirmation bound that StreamNet inherits for its parent-edge selection.","marker":"[1]"},{"why":"supplies the MCMC random-walk tip selection used for the reference edge.","marker":"[2]"},{"why":"provides the GHOST safety theorem and the confirmation probability bound quoted as equation (1).","marker":"[30]"},{"why":"introduces the streaming-graph idea of tracking structure without full traversals, which StreamNet adapts.","marker":"[39]"},{"why":"supplies a high-performance data structure for streaming graph updates, grounding the incremental-update approach.","marker":"[41]"},{"why":"provides the epidemic gossip algorithms that the direct-signal protocol modifies to broadcast hashes before block bodies.","marker":"[42]"},{"why":"is the open Java reference implementation on which the StreamNet prototype and experiments are built.","marker":"[45]"}],"fun_headline_variants":["StreamNet: streaming total order for DAGs","StreamNet orders DAGs without a central authority","StreamNet: pivot-chain + MCMC tips keep DAG order","StreamNet: DAG ordering at scale, no central control","StreamNet's streaming updates hold DAG total order"],"cache_read_input_tokens":3200,"weakest_assumption_plain":"The paper assumes the GHOST-style pivot-chain safety proof still holds after adding a second, MCMC-chosen reference edge to every block, because that extra edge changes the subtree structure the proof counts.","fun_headline_variants_meta":{"raw":{"variants":["StreamNet: streaming total order for DAGs","StreamNet orders DAGs without a central authority","StreamNet: pivot-chain + MCMC tips keep DAG order","StreamNet: DAG ordering at scale, no central control","StreamNet's streaming updates hold DAG total order"]},"model":"deepseek-v4-flash","effort":"low","cost_usd":0.000444,"raw_usage":{"total_tokens":2236,"prompt_tokens":927,"completion_tokens":1309,"prompt_tokens_details":{"cached_tokens":384},"prompt_cache_hit_tokens":384,"prompt_cache_miss_tokens":543,"completion_tokens_details":{"reasoning_tokens":1228}},"tokens_in":543,"tokens_out":1309,"duration_ms":12193,"temperature":1.0,"reasoning_tokens":1228,"cache_read_input_tokens":384,"cache_creation_input_tokens":0},"cache_creation_input_tokens":0},"created_at":"2026-08-14T12:45:37.755538+00:00","model_set":{"reader":"deepseek-v4-flash"},"falsifier":"Build a small StreamNet testbed, let one miner add blocks whose MCMC reference edges always point into the losing sibling's subtree, and watch whether the pivot chain reorgs more often than the bound in equation (1) predicts; a decay failure or a post-snapshot reorg would refute the inherited-safety claim.","supporting_citations":[{"cited_title":"The tangle","cited_arxiv_id":null,"evidence_quote":"supplies the MCMC random-walk tip selection used for the reference edge."},{"cited_title":"Secure high-rate transaction processing in bitcoin","cited_arxiv_id":null,"evidence_quote":"provides the GHOST safety theorem and the confirmation probability bound quoted as equation (1)."},{"cited_title":"Tracking structure of streaming social networks","cited_arxiv_id":null,"evidence_quote":"introduces the streaming-graph idea of tracking structure without full traversals, which StreamNet adapts."},{"cited_title":"Stinger: High per- formance data structure for streaming graphs","cited_arxiv_id":null,"evidence_quote":"supplies a high-performance data structure for streaming graph updates, grounding the incremental-update approach."},{"cited_title":"Epidemic algorithms for repli- cated database maintenance","cited_arxiv_id":null,"evidence_quote":"provides the epidemic gossip algorithms that the direct-signal protocol modifies to broadcast hashes before block bodies."},{"cited_title":"https://github.com/iotaledger/iri","cited_arxiv_id":null,"evidence_quote":"is the open Java reference implementation on which the StreamNet prototype and experiments are built."}],"review_version":1}