From c9b591f2d3816792295c61ad65c1029af16479b7 Mon Sep 17 00:00:00 2001 From: Michael Sutton Date: Wed, 27 Jan 2021 17:09:20 +0200 Subject: [PATCH] Final reindex algorithm (#1430) * Mine JSON * [Reindex tests] add test_params and validate_mining flag to test_consensus * Rename file and extend tests * Ignore local test datasets * Use spaces over tabs * Reindex algorithm - full algorithm, initial commit, some tests fail * Reindex algorithm - a few critical fixes * Reindex algorithm - move reindex struct and all related operations to new file * Reindex algorithm - added a validateIntervals method and modified tests to use it (instead of exact comparisons) * Reindex algorithm - modified reindexIntervals to receive the new child as argument and fixed an important related bug * Reindex attack tests - move logic to helper function and add stretch test * Reindex algorithm - variable names and some comments * Reindex algorithm - minor changes * Reindex algorithm - minor changes 2 * Reindex algorithm - extended stretch test * Reindex algorithm - small fix to validate function * Reindex tests - move tests and add DAG files * go format fixes * TestParams doc comment * Reindex tests - exact comparisons are not needed * Update to version 0.8.6 * Remove TestParams and use AddUTXOInvalidHeader instead * Use gzipeed test files * This unintended change somehow slipped in through branch merges * Rename test * Move interval increase/decrease methods to reachability interval file * Addressing a bunch of minor review comments * Addressed a few more minor review comments * Make code of offsetSiblingsBefore and offsetSiblingsAfter symmetric * Optimize reindex logic in cases where reorg occurs + reorg test * Do not change reindex root too fast (on reorg) * Some comments * A few more comments * Addressing review comments * Remove TestNoAttackAlternateReorg and assert chain attack * Minor Co-authored-by: Elichai Turkel Co-authored-by: Mike Zak Co-authored-by: Ori Newman --- .../interface_processes_reachabilitytree.go | 2 +- .../consensus/model/testapi/test_consensus.go | 2 + .../testapi/test_reachability_manager.go | 7 +- .../dagtopologymanager/dagtopologymanager.go | 2 +- .../processes/reachabilitymanager/interval.go | 77 ++ .../ordered_tree_node_set.go | 18 - .../reachability_external_test.go | 69 +- .../reachability_stretch_test.go | 258 ++++ .../reachabilitymanager/reachability_test.go | 27 +- .../reachabilitymanager/reindex_context.go | 804 ++++++++++++ .../processes/reachabilitymanager/stage.go | 2 +- .../test_reachabilitymanager.go | 9 + .../processes/reachabilitymanager/tree.go | 1134 +++++------------ domain/consensus/test_consensus.go | 60 +- ...blocks--2^12-delay-factor--1-k--18.json.gz | Bin 0 -> 30748 bytes ...blocks--2^13-delay-factor--1-k--18.json.gz | Bin 0 -> 61782 bytes ...blocks--2^14-delay-factor--1-k--18.json.gz | Bin 0 -> 122825 bytes ...blocks--2^12-delay-factor--1-k--18.json.gz | Bin 0 -> 31591 bytes ...blocks--2^13-delay-factor--1-k--18.json.gz | Bin 0 -> 62748 bytes ...blocks--2^14-delay-factor--1-k--18.json.gz | Bin 0 -> 125302 bytes 20 files changed, 1576 insertions(+), 895 deletions(-) create mode 100644 domain/consensus/processes/reachabilitymanager/reachability_stretch_test.go create mode 100644 domain/consensus/processes/reachabilitymanager/reindex_context.go create mode 100644 domain/consensus/testdata/reachability/attack-dag-blocks--2^12-delay-factor--1-k--18.json.gz create mode 100644 domain/consensus/testdata/reachability/attack-dag-blocks--2^13-delay-factor--1-k--18.json.gz create mode 100644 domain/consensus/testdata/reachability/attack-dag-blocks--2^14-delay-factor--1-k--18.json.gz create mode 100644 domain/consensus/testdata/reachability/noattack-dag-blocks--2^12-delay-factor--1-k--18.json.gz create mode 100644 domain/consensus/testdata/reachability/noattack-dag-blocks--2^13-delay-factor--1-k--18.json.gz create mode 100644 domain/consensus/testdata/reachability/noattack-dag-blocks--2^14-delay-factor--1-k--18.json.gz diff --git a/domain/consensus/model/interface_processes_reachabilitytree.go b/domain/consensus/model/interface_processes_reachabilitytree.go index e2bbbd7fc..3692f008e 100644 --- a/domain/consensus/model/interface_processes_reachabilitytree.go +++ b/domain/consensus/model/interface_processes_reachabilitytree.go @@ -9,5 +9,5 @@ type ReachabilityManager interface { IsReachabilityTreeAncestorOf(blockHashA *externalapi.DomainHash, blockHashB *externalapi.DomainHash) (bool, error) IsDAGAncestorOf(blockHashA *externalapi.DomainHash, blockHashB *externalapi.DomainHash) (bool, error) UpdateReindexRoot(selectedTip *externalapi.DomainHash) error - FindAncestorOfThisAmongChildrenOfOther(this, other *externalapi.DomainHash) (*externalapi.DomainHash, error) + FindNextAncestor(descendant, ancestor *externalapi.DomainHash) (*externalapi.DomainHash, error) } diff --git a/domain/consensus/model/testapi/test_consensus.go b/domain/consensus/model/testapi/test_consensus.go index 5e7c5e726..ba2bfd1c4 100644 --- a/domain/consensus/model/testapi/test_consensus.go +++ b/domain/consensus/model/testapi/test_consensus.go @@ -5,6 +5,7 @@ import ( "github.com/kaspanet/kaspad/domain/consensus/model/externalapi" "github.com/kaspanet/kaspad/domain/dagconfig" "github.com/kaspanet/kaspad/infrastructure/db/database" + "io" ) // TestConsensus wraps the Consensus interface with some methods that are needed by tests only @@ -32,6 +33,7 @@ type TestConsensus interface { AddUTXOInvalidBlock(parentHashes []*externalapi.DomainHash) (*externalapi.DomainHash, *externalapi.BlockInsertionResult, error) + MineJSON(r io.Reader) (tips []*externalapi.DomainHash, err error) DiscardAllStores() AcceptanceDataStore() model.AcceptanceDataStore diff --git a/domain/consensus/model/testapi/test_reachability_manager.go b/domain/consensus/model/testapi/test_reachability_manager.go index 324315772..5eb56c5c3 100644 --- a/domain/consensus/model/testapi/test_reachability_manager.go +++ b/domain/consensus/model/testapi/test_reachability_manager.go @@ -1,6 +1,9 @@ package testapi -import "github.com/kaspanet/kaspad/domain/consensus/model" +import ( + "github.com/kaspanet/kaspad/domain/consensus/model" + "github.com/kaspanet/kaspad/domain/consensus/model/externalapi" +) // TestReachabilityManager adds to the main ReachabilityManager methods required by tests type TestReachabilityManager interface { @@ -8,4 +11,6 @@ type TestReachabilityManager interface { SetReachabilityReindexWindow(reindexWindow uint64) SetReachabilityReindexSlack(reindexSlack uint64) ReachabilityReindexSlack() uint64 + ValidateIntervals(root *externalapi.DomainHash) error + GetAllNodes(root *externalapi.DomainHash) ([]*externalapi.DomainHash, error) } diff --git a/domain/consensus/processes/dagtopologymanager/dagtopologymanager.go b/domain/consensus/processes/dagtopologymanager/dagtopologymanager.go index e5c69cd6c..73d45ff59 100644 --- a/domain/consensus/processes/dagtopologymanager/dagtopologymanager.go +++ b/domain/consensus/processes/dagtopologymanager/dagtopologymanager.go @@ -195,5 +195,5 @@ func (dtm *dagTopologyManager) ChildInSelectedParentChainOf( blockHash, specifiedHighHash) } - return dtm.reachabilityManager.FindAncestorOfThisAmongChildrenOfOther(highHash, blockHash) + return dtm.reachabilityManager.FindNextAncestor(highHash, blockHash) } diff --git a/domain/consensus/processes/reachabilitymanager/interval.go b/domain/consensus/processes/reachabilitymanager/interval.go index 177b32327..b50a1cb6b 100644 --- a/domain/consensus/processes/reachabilitymanager/interval.go +++ b/domain/consensus/processes/reachabilitymanager/interval.go @@ -16,6 +16,54 @@ func intervalSize(ri *model.ReachabilityInterval) uint64 { return ri.End - ri.Start + 1 } +// intervalIncrease returns a ReachabilityInterval with offset added to start and end +func intervalIncrease(ri *model.ReachabilityInterval, offset uint64) *model.ReachabilityInterval { + return &model.ReachabilityInterval{ + Start: ri.Start + offset, + End: ri.End + offset, + } +} + +// intervalDecrease returns a ReachabilityInterval with offset subtracted from start and end +func intervalDecrease(ri *model.ReachabilityInterval, offset uint64) *model.ReachabilityInterval { + return &model.ReachabilityInterval{ + Start: ri.Start - offset, + End: ri.End - offset, + } +} + +// intervalIncreaseStart returns a ReachabilityInterval with offset added to start +func intervalIncreaseStart(ri *model.ReachabilityInterval, offset uint64) *model.ReachabilityInterval { + return &model.ReachabilityInterval{ + Start: ri.Start + offset, + End: ri.End, + } +} + +// intervalDecreaseStart returns a ReachabilityInterval with offset reduced from start +func intervalDecreaseStart(ri *model.ReachabilityInterval, offset uint64) *model.ReachabilityInterval { + return &model.ReachabilityInterval{ + Start: ri.Start - offset, + End: ri.End, + } +} + +// intervalIncreaseEnd returns a ReachabilityInterval with offset added to end +func intervalIncreaseEnd(ri *model.ReachabilityInterval, offset uint64) *model.ReachabilityInterval { + return &model.ReachabilityInterval{ + Start: ri.Start, + End: ri.End + offset, + } +} + +// intervalDecreaseEnd returns a ReachabilityInterval with offset subtracted from end +func intervalDecreaseEnd(ri *model.ReachabilityInterval, offset uint64) *model.ReachabilityInterval { + return &model.ReachabilityInterval{ + Start: ri.Start, + End: ri.End - offset, + } +} + // intervalSplitInHalf splits this interval by a fraction of 0.5. // See splitFraction for further details. func intervalSplitInHalf(ri *model.ReachabilityInterval) ( @@ -111,6 +159,35 @@ func intervalSplitWithExponentialBias(ri *model.ReachabilityInterval, sizes []ui return intervalSplitExact(ri, biasedSizes) } +// exponentialFractions returns a fraction of each size in sizes +// as follows: +// fraction[i] = 2^size[i] / sum_j(2^size[j]) +// In the code below the above equation is divided by 2^max(size) +// to avoid exploding numbers. Note that in 1 / 2^(max(size)-size[i]) +// we divide 1 by potentially a very large number, which will +// result in loss of float precision. This is not a problem - all +// numbers close to 0 bear effectively the same weight. +func exponentialFractions(sizes []uint64) []float64 { + maxSize := uint64(0) + for _, size := range sizes { + if size > maxSize { + maxSize = size + } + } + fractions := make([]float64, len(sizes)) + for i, size := range sizes { + fractions[i] = 1 / math.Pow(2, float64(maxSize-size)) + } + fractionsSum := float64(0) + for _, fraction := range fractions { + fractionsSum += fraction + } + for i, fraction := range fractions { + fractions[i] = fraction / fractionsSum + } + return fractions +} + // intervalContains returns true if ri contains other. func intervalContains(ri *model.ReachabilityInterval, other *model.ReachabilityInterval) bool { return ri.Start <= other.Start && other.End <= ri.End diff --git a/domain/consensus/processes/reachabilitymanager/ordered_tree_node_set.go b/domain/consensus/processes/reachabilitymanager/ordered_tree_node_set.go index 84f06fe09..29c4a8dfa 100644 --- a/domain/consensus/processes/reachabilitymanager/ordered_tree_node_set.go +++ b/domain/consensus/processes/reachabilitymanager/ordered_tree_node_set.go @@ -1,7 +1,6 @@ package reachabilitymanager import ( - "github.com/kaspanet/kaspad/domain/consensus/model" "github.com/kaspanet/kaspad/domain/consensus/model/externalapi" ) @@ -58,20 +57,3 @@ func (rt *reachabilityManager) findAncestorIndexOfNode(tns orderedTreeNodeSet, n } return low - 1, true, nil } - -func (rt *reachabilityManager) propagateIntervals(tns orderedTreeNodeSet, intervals []*model.ReachabilityInterval, - subtreeSizeMaps []map[externalapi.DomainHash]uint64) error { - - for i, node := range tns { - err := rt.stageInterval(node, intervals[i]) - if err != nil { - return err - } - subtreeSizeMap := subtreeSizeMaps[i] - err = rt.propagateInterval(node, subtreeSizeMap) - if err != nil { - return err - } - } - return nil -} diff --git a/domain/consensus/processes/reachabilitymanager/reachability_external_test.go b/domain/consensus/processes/reachabilitymanager/reachability_external_test.go index ad8519179..bc2f26ce4 100644 --- a/domain/consensus/processes/reachabilitymanager/reachability_external_test.go +++ b/domain/consensus/processes/reachabilitymanager/reachability_external_test.go @@ -1,6 +1,7 @@ package reachabilitymanager_test import ( + "math" "testing" "github.com/kaspanet/kaspad/domain/consensus" @@ -57,10 +58,20 @@ func TestAddChildThatPointsDirectlyToTheSelectedParentChainBelowReindexRoot(t *t t.Fatalf("reindex root is expected to change") } - // Add another block over genesis - _, _, err = tc.AddBlock([]*externalapi.DomainHash{params.GenesisHash}, nil, nil) + // Add enough blocks over genesis to test also the case where the first + // level (genesis in this case) runs out of slack + slackSize := tc.ReachabilityManager().ReachabilityReindexSlack() + blocksToAdd := uint64(math.Log2(float64(slackSize))) + 2 + for i := uint64(0); i < blocksToAdd; i++ { + _, _, err = tc.AddBlock([]*externalapi.DomainHash{params.GenesisHash}, nil, nil) + if err != nil { + t.Fatalf("AddBlock: %+v", err) + } + } + + err = tc.ReachabilityManager().ValidateIntervals(params.GenesisHash) if err != nil { - t.Fatalf("AddBlock: %+v", err) + t.Fatal(err) } }) } @@ -152,6 +163,11 @@ func TestUpdateReindexRoot(t *testing.T) { t.Fatalf("got unexpected chain1RootBlock interval. Want: %d, got: %d", intervalSize(chain1RootBlock), expectedChain1RootIntervalSize) } + + err = tc.ReachabilityManager().ValidateIntervals(params.GenesisHash) + if err != nil { + t.Fatal(err) + } }) } @@ -224,27 +240,16 @@ func TestReindexIntervalsEarlierThanReindexRoot(t *testing.T) { t.Fatalf("rightBlock interval not tight after reindex") } - // Get the current interval for centerBlock. Its interval should be: - // genesisInterval - 1 - leftInterval - leftSlack - rightInterval - rightSlack - expectedCenterInterval := intervalSize(params.GenesisHash) - 1 - - intervalSize(leftBlock) - tc.ReachabilityManager().ReachabilityReindexSlack() - - intervalSize(rightBlock) - tc.ReachabilityManager().ReachabilityReindexSlack() - if intervalSize(centerBlock) != expectedCenterInterval { - t.Fatalf("unexpected centerBlock interval. Want: %d, got: %d", - expectedCenterInterval, intervalSize(centerBlock)) + err = tc.ReachabilityManager().ValidateIntervals(params.GenesisHash) + if err != nil { + t.Fatal(err) } // Add a chain of reachabilityReindexWindow - 1 blocks above leftBlock. // Each addition will trigger a low-than-reindex-root reindex. We // expect the centerInterval to shrink by 1 each time, but its child // to remain unaffected - centerData, err := tc.ReachabilityDataStore().ReachabilityData(tc.DatabaseContext(), centerBlock) - if err != nil { - t.Fatalf("ReachabilityData: %s", err) - } - treeChildOfCenterBlock := centerData.Children()[0] - treeChildOfCenterBlockOriginalIntervalSize := intervalSize(treeChildOfCenterBlock) leftTipHash := leftBlock for i := uint64(0); i < reachabilityReindexWindow-1; i++ { var err error @@ -253,14 +258,9 @@ func TestReindexIntervalsEarlierThanReindexRoot(t *testing.T) { t.Fatalf("AddBlock: %+v", err) } - expectedCenterInterval-- - if intervalSize(centerBlock) != expectedCenterInterval { - t.Fatalf("unexpected centerBlock interval. Want: %d, got: %d", - expectedCenterInterval, intervalSize(centerBlock)) - } - - if intervalSize(treeChildOfCenterBlock) != treeChildOfCenterBlockOriginalIntervalSize { - t.Fatalf("the interval of centerBlock's child unexpectedly changed") + err = tc.ReachabilityManager().ValidateIntervals(params.GenesisHash) + if err != nil { + t.Fatal(err) } } @@ -276,15 +276,15 @@ func TestReindexIntervalsEarlierThanReindexRoot(t *testing.T) { t.Fatalf("AddBlock: %+v", err) } - expectedCenterInterval-- - if intervalSize(centerBlock) != expectedCenterInterval { - t.Fatalf("unexpected centerBlock interval. Want: %d, got: %d", - expectedCenterInterval, intervalSize(centerBlock)) + err = tc.ReachabilityManager().ValidateIntervals(params.GenesisHash) + if err != nil { + t.Fatal(err) } + } - if intervalSize(treeChildOfCenterBlock) != treeChildOfCenterBlockOriginalIntervalSize { - t.Fatalf("the interval of centerBlock's child unexpectedly changed") - } + err = tc.ReachabilityManager().ValidateIntervals(params.GenesisHash) + if err != nil { + t.Fatal(err) } }) } @@ -324,5 +324,10 @@ func TestTipsAfterReindexIntervalsEarlierThanReindexRoot(t *testing.T) { if err != nil { t.Fatalf("AddBlock: %+v", err) } + + err = tc.ReachabilityManager().ValidateIntervals(params.GenesisHash) + if err != nil { + t.Fatal(err) + } }) } diff --git a/domain/consensus/processes/reachabilitymanager/reachability_stretch_test.go b/domain/consensus/processes/reachabilitymanager/reachability_stretch_test.go new file mode 100644 index 000000000..48592bcf3 --- /dev/null +++ b/domain/consensus/processes/reachabilitymanager/reachability_stretch_test.go @@ -0,0 +1,258 @@ +package reachabilitymanager_test + +import ( + "compress/gzip" + "fmt" + "github.com/kaspanet/kaspad/domain/consensus" + "github.com/kaspanet/kaspad/domain/consensus/model/externalapi" + "github.com/kaspanet/kaspad/domain/consensus/model/testapi" + "github.com/kaspanet/kaspad/domain/dagconfig" + "github.com/kaspanet/kaspad/infrastructure/logger" + "github.com/pkg/errors" + "math" + "math/rand" + "os" + "testing" +) + +// Test configuration +const ( + numBlocksExponent = 12 + logLevel = "warn" +) + +func initializeTest(t *testing.T, testName string) (tc testapi.TestConsensus, teardown func(keepDataDir bool)) { + t.Parallel() + logger.SetLogLevels(logLevel) + params := dagconfig.SimnetParams + params.SkipProofOfWork = true + tc, teardown, err := consensus.NewFactory().NewTestConsensus(¶ms, false, testName) + if err != nil { + t.Fatalf("Error setting up consensus: %+v", err) + } + return tc, teardown +} + +func buildJsonDAG(t *testing.T, tc testapi.TestConsensus, attackJson bool) (tips []*externalapi.DomainHash) { + filePrefix := "noattack" + if attackJson { + filePrefix = "attack" + } + fileName := fmt.Sprintf( + "../../testdata/reachability/%s-dag-blocks--2^%d-delay-factor--1-k--18.json.gz", + filePrefix, numBlocksExponent) + + f, err := os.Open(fileName) + if err != nil { + t.Fatal(err) + } + defer f.Close() + + gzipReader, err := gzip.NewReader(f) + if err != nil { + t.Fatal(err) + } + defer gzipReader.Close() + + tips, err = tc.MineJSON(gzipReader) + if err != nil { + t.Fatal(err) + } + + err = tc.ReachabilityManager().ValidateIntervals(tc.DAGParams().GenesisHash) + if err != nil { + t.Fatal(err) + } + + return tips +} + +func addArbitraryBlocks(t *testing.T, tc testapi.TestConsensus) { + // After loading json, add arbitrary blocks all over the DAG to stretch + // reindex logic, and validate intervals post each addition + + blocks, err := tc.ReachabilityManager().GetAllNodes(tc.DAGParams().GenesisHash) + if err != nil { + t.Fatal(err) + } + + numChainsToAdd := len(blocks) / 2 // Multiply the size of the DAG with arbitrary blocks + maxBlocksInChain := 20 + validationFreq := int(math.Max(1, float64(numChainsToAdd/100))) + + randSource := rand.New(rand.NewSource(33233)) + + for i := 0; i < numChainsToAdd; i++ { + randomIndex := randSource.Intn(len(blocks)) + randomParent := blocks[randomIndex] + newBlock, _, err := tc.AddUTXOInvalidHeader([]*externalapi.DomainHash{randomParent}) + if err != nil { + t.Fatal(err) + } + blocks = append(blocks, newBlock) + // Add a random-length chain every few blocks + if randSource.Intn(8) == 0 { + numBlocksInChain := randSource.Intn(maxBlocksInChain) + chainBlock := newBlock + for j := 0; j < numBlocksInChain; j++ { + chainBlock, _, err = tc.AddUTXOInvalidHeader([]*externalapi.DomainHash{chainBlock}) + if err != nil { + t.Fatal(err) + } + blocks = append(blocks, chainBlock) + } + } + // Normally, validate intervals for new chain only + validationRoot := newBlock + // However every 'validation frequency' blocks validate intervals for entire DAG + if i%validationFreq == 0 || i == numChainsToAdd-1 { + validationRoot = tc.DAGParams().GenesisHash + } + err = tc.ReachabilityManager().ValidateIntervals(validationRoot) + if err != nil { + t.Fatal(err) + } + } +} + +func addAlternatingReorgBlocks(t *testing.T, tc testapi.TestConsensus, tips []*externalapi.DomainHash) { + // Create alternating reorgs to test the cases where + // reindex root is out of current header selected tip chain + + reindexRoot, err := tc.ReachabilityDataStore().ReachabilityReindexRoot(tc.DatabaseContext()) + if err != nil { + t.Fatal(err) + } + + // Try finding two tips; one which has reindex root on it's chain (chainTip), and one which + // does not (reorgTip). The latter is expected to exist in json attack files. + var chainTip, reorgTip *externalapi.DomainHash + for _, block := range tips { + isRootAncestorOfTip, err := tc.ReachabilityManager().IsReachabilityTreeAncestorOf(reindexRoot, block) + if err != nil { + t.Fatal(err) + } + if isRootAncestorOfTip { + chainTip = block + } else { + reorgTip = block + } + } + + if reorgTip == nil { + t.Fatal(errors.Errorf("DAG from jsom file is expected to contain a tip " + + "disagreeing with reindex root chain")) + } + + if chainTip == nil { + t.Fatal(errors.Errorf("reindex root is not on any header tip chain, this is unexpected behavior")) + } + + chainTipGHOSTDAGData, err := tc.GHOSTDAGDataStore().Get(tc.DatabaseContext(), chainTip) + if err != nil { + t.Fatal(err) + } + + reorgTipGHOSTDAGData, err := tc.GHOSTDAGDataStore().Get(tc.DatabaseContext(), reorgTip) + if err != nil { + t.Fatal(err) + } + + // Get both chains close to each other (we care about blue score and not + // blue work because we have SkipProofOfWork=true) + if chainTipGHOSTDAGData.BlueScore() > reorgTipGHOSTDAGData.BlueScore() { + blueScoreDiff := int(chainTipGHOSTDAGData.BlueScore() - reorgTipGHOSTDAGData.BlueScore()) + for i := 0; i < blueScoreDiff+5; i++ { + reorgTip, _, err = tc.AddUTXOInvalidHeader([]*externalapi.DomainHash{reorgTip}) + if err != nil { + t.Fatal(err) + } + } + } else { + blueScoreDiff := int(reorgTipGHOSTDAGData.BlueScore() - chainTipGHOSTDAGData.BlueScore()) + for i := 0; i < blueScoreDiff+5; i++ { + chainTip, _, err = tc.AddUTXOInvalidHeader([]*externalapi.DomainHash{chainTip}) + if err != nil { + t.Fatal(err) + } + } + } + + err = tc.ReachabilityManager().ValidateIntervals(tc.DAGParams().GenesisHash) + if err != nil { + t.Fatal(err) + } + + // Alternate between the chains 200 times + for i := 0; i < 200; i++ { + if i%2 == 0 { + for j := 0; j < 10; j++ { + chainTip, _, err = tc.AddUTXOInvalidHeader([]*externalapi.DomainHash{chainTip}) + if err != nil { + t.Fatal(err) + } + } + } else { + for j := 0; j < 10; j++ { + reorgTip, _, err = tc.AddUTXOInvalidHeader([]*externalapi.DomainHash{reorgTip}) + if err != nil { + t.Fatal(err) + } + } + } + + err = tc.ReachabilityManager().ValidateIntervals(tc.DAGParams().GenesisHash) + if err != nil { + t.Fatal(err) + } + } + + // Since current logic switches reindex root chain with reindex slack threshold - at last make the switch happen + for i := 0; i < int(tc.ReachabilityManager().ReachabilityReindexSlack())+10; i++ { + reorgTip, _, err = tc.AddUTXOInvalidHeader([]*externalapi.DomainHash{reorgTip}) + if err != nil { + t.Fatal(err) + } + } + + err = tc.ReachabilityManager().ValidateIntervals(tc.DAGParams().GenesisHash) + if err != nil { + t.Fatal(err) + } +} + +func TestNoAttack(t *testing.T) { + tc, teardown := initializeTest(t, "TestNoAttack") + defer teardown(false) + buildJsonDAG(t, tc, false) +} + +func TestAttack(t *testing.T) { + tc, teardown := initializeTest(t, "TestAttack") + defer teardown(false) + buildJsonDAG(t, tc, true) +} + +func TestNoAttackFuzzy(t *testing.T) { + tc, teardown := initializeTest(t, "TestNoAttackFuzzy") + defer teardown(false) + tc.ReachabilityManager().SetReachabilityReindexSlack(10) + buildJsonDAG(t, tc, false) + addArbitraryBlocks(t, tc) +} + +func TestAttackFuzzy(t *testing.T) { + tc, teardown := initializeTest(t, "TestAttackFuzzy") + defer teardown(false) + tc.ReachabilityManager().SetReachabilityReindexSlack(10) + buildJsonDAG(t, tc, true) + addArbitraryBlocks(t, tc) +} + +func TestAttackAlternateReorg(t *testing.T) { + tc, teardown := initializeTest(t, "TestAttackAlternateReorg") + defer teardown(false) + tc.ReachabilityManager().SetReachabilityReindexSlack(256) + tips := buildJsonDAG(t, tc, true) + addAlternatingReorgBlocks(t, tc, tips) +} diff --git a/domain/consensus/processes/reachabilitymanager/reachability_test.go b/domain/consensus/processes/reachabilitymanager/reachability_test.go index 3a873ec27..4e9403201 100644 --- a/domain/consensus/processes/reachabilitymanager/reachability_test.go +++ b/domain/consensus/processes/reachabilitymanager/reachability_test.go @@ -246,6 +246,11 @@ func TestAddChild(t *testing.T) { } } + err = manager.validateIntervals(root) + if err != nil { + t.Fatal(err) + } + // Scenario 2: test addChild where all nodes are direct descendants of root // root -> a, b, c... // Create the root node of a new reachability tree @@ -306,6 +311,11 @@ func TestAddChild(t *testing.T) { t.Fatalf("TestAddChild: childNode is not a descendant of root") } } + + err = manager.validateIntervals(root) + if err != nil { + t.Fatal(err) + } } func TestReachabilityTreeNodeIsAncestorOf(t *testing.T) { @@ -334,6 +344,11 @@ func TestReachabilityTreeNodeIsAncestorOf(t *testing.T) { if !helper.isReachabilityTreeAncestorOf(root, root) { t.Fatalf("TestReachabilityTreeNodeIsAncestorOf: root is expected to be an ancestor of root") } + + err := manager.validateIntervals(root) + if err != nil { + t.Fatal(err) + } } func TestIntervalContains(t *testing.T) { @@ -978,19 +993,19 @@ func TestReachabilityTreeNodeString(t *testing.T) { treeNodeB2 := helper.newNodeWithInterval(newReachabilityInterval(150, 199)) treeNodeC := helper.newNodeWithInterval(newReachabilityInterval(100, 149)) - err := helper.addChildAndStage(treeNodeA, treeNodeB1) + err := helper.stageAddChild(treeNodeA, treeNodeB1) if err != nil { - t.Fatalf("addChildAndStage: %s", err) + t.Fatalf("stageAddChild: %s", err) } - err = helper.addChildAndStage(treeNodeA, treeNodeB2) + err = helper.stageAddChild(treeNodeA, treeNodeB2) if err != nil { - t.Fatalf("addChildAndStage: %s", err) + t.Fatalf("stageAddChild: %s", err) } - err = helper.addChildAndStage(treeNodeB2, treeNodeC) + err = helper.stageAddChild(treeNodeB2, treeNodeC) if err != nil { - t.Fatalf("addChildAndStage: %s", err) + t.Fatalf("stageAddChild: %s", err) } str, err := manager.String(treeNodeA) diff --git a/domain/consensus/processes/reachabilitymanager/reindex_context.go b/domain/consensus/processes/reachabilitymanager/reindex_context.go new file mode 100644 index 000000000..d20c00525 --- /dev/null +++ b/domain/consensus/processes/reachabilitymanager/reindex_context.go @@ -0,0 +1,804 @@ +package reachabilitymanager + +import ( + "github.com/kaspanet/kaspad/domain/consensus/model" + "github.com/kaspanet/kaspad/domain/consensus/model/externalapi" + "github.com/pkg/errors" +) + +var ( + // defaultReindexWindow is the default target window size for reachability + // reindexes. Note that this is not a constant for testing purposes. + defaultReindexWindow uint64 = 200 + + // defaultReindexSlack is default the slack interval given to reachability + // tree nodes not in the selected parent chain. Note that this is not + // a constant for testing purposes. + defaultReindexSlack uint64 = 1 << 12 +) + +// reindexContext is a struct used during reindex operations. It represents a temporary context +// for caching subtree information during the *current* reindex operation only +type reindexContext struct { + manager *reachabilityManager + subTreeSizesCache map[externalapi.DomainHash]uint64 +} + +// newReindexContext creates a new empty reindex context +func newReindexContext(rt *reachabilityManager) reindexContext { + return reindexContext{ + manager: rt, + subTreeSizesCache: make(map[externalapi.DomainHash]uint64), + } +} + +/* + +Core (BFS) algorithms used during reindexing + +*/ + +// countSubtrees counts the size of each subtree under this node, +// and populates the provided subTreeSizeMap with the results. +// It is equivalent to the following recursive implementation: +// +// func (rt *reachabilityManager) countSubtrees(node *model.ReachabilityTreeNode) uint64 { +// subtreeSize := uint64(0) +// for _, child := range node.children { +// subtreeSize += child.countSubtrees() +// } +// return subtreeSize + 1 +// } +// +// However, we are expecting (linearly) deep trees, and so a +// recursive stack-based approach is inefficient and will hit +// recursion limits. Instead, the same logic was implemented +// using a (queue-based) BFS method. At a high level, the +// algorithm uses BFS for reaching all leaves and pushes +// intermediate updates from leaves via parent chains until all +// size information is gathered at the root of the operation +// (i.e. at node). +func (rc *reindexContext) countSubtrees(node *externalapi.DomainHash) error { + + if _, ok := rc.subTreeSizesCache[*node]; ok { + return nil + } + + queue := []*externalapi.DomainHash{node} + calculatedChildrenCount := make(map[externalapi.DomainHash]uint64) + for len(queue) > 0 { + var current *externalapi.DomainHash + current, queue = queue[0], queue[1:] + children, err := rc.manager.children(current) + if err != nil { + return err + } + + if len(children) == 0 { + // We reached a leaf + rc.subTreeSizesCache[*current] = 1 + } else if _, ok := rc.subTreeSizesCache[*current]; !ok { + // We haven't yet calculated the subtree size of + // the current node. Add all its children to the + // queue + queue = append(queue, children...) + continue + } + + // We reached a leaf or a pre-calculated subtree. + // Push information up + for !current.Equal(node) { + current, err = rc.manager.parent(current) + if err != nil { + return err + } + + // If the current is now nil, it means that the previous + // `current` was the genesis block -- the only block that + // does not have parents + if current == nil { + break + } + + calculatedChildrenCount[*current]++ + + children, err := rc.manager.children(current) + if err != nil { + return err + } + + if calculatedChildrenCount[*current] != uint64(len(children)) { + // Not all subtrees of the current node are ready + break + } + // All children of `current` have calculated their subtree size. + // Sum them all together and add 1 to get the sub tree size of + // `current`. + childSubtreeSizeSum := uint64(0) + for _, child := range children { + childSubtreeSizeSum += rc.subTreeSizesCache[*child] + } + rc.subTreeSizesCache[*current] = childSubtreeSizeSum + 1 + } + } + + return nil +} + +// propagateInterval propagates the new interval using a BFS traversal. +// Subtree intervals are recursively allocated according to subtree sizes and +// the allocation rule in splitWithExponentialBias. +func (rc *reindexContext) propagateInterval(node *externalapi.DomainHash) error { + + // Make sure subtrees are counted before propagating + err := rc.countSubtrees(node) + if err != nil { + return err + } + + queue := []*externalapi.DomainHash{node} + for len(queue) > 0 { + var current *externalapi.DomainHash + current, queue = queue[0], queue[1:] + + children, err := rc.manager.children(current) + if err != nil { + return err + } + + if len(children) > 0 { + sizes := make([]uint64, len(children)) + for i, child := range children { + sizes[i] = rc.subTreeSizesCache[*child] + } + + interval, err := rc.manager.intervalRangeForChildAllocation(current) + if err != nil { + return err + } + + intervals, err := intervalSplitWithExponentialBias(interval, sizes) + if err != nil { + return err + } + + for i, child := range children { + childInterval := intervals[i] + err = rc.manager.stageInterval(child, childInterval) + if err != nil { + return err + } + queue = append(queue, child) + } + } + } + return nil +} + +/* + +Functions for handling reindex triggered by adding child block + +*/ + +// reindexIntervals traverses the reachability subtree that's +// defined by the new child node and reallocates reachability interval space +// such that another reindexing is unlikely to occur shortly +// thereafter. It does this by traversing down the reachability +// tree until it finds a node with a subtree size that's greater than +// its interval size. See propagateInterval for further details. +func (rc *reindexContext) reindexIntervals(newChild, reindexRoot *externalapi.DomainHash) error { + current := newChild + // Search for the first ancestor with sufficient interval space + for { + currentInterval, err := rc.manager.interval(current) + if err != nil { + return err + } + + currentIntervalSize := intervalSize(currentInterval) + + err = rc.countSubtrees(current) + if err != nil { + return err + } + + currentSubtreeSize := rc.subTreeSizesCache[*current] + + // Current has sufficient space, break and propagate + if currentIntervalSize >= currentSubtreeSize { + break + } + + parent, err := rc.manager.parent(current) + if err != nil { + return err + } + + if parent == nil { + // If we ended up here it means that there are more + // than 2^64 blocks, which shouldn't ever happen. + return errors.Errorf("missing tree " + + "parent during reindexing. Theoretically, this " + + "should only ever happen if there are more " + + "than 2^64 blocks in the DAG.") + } + + if current.Equal(reindexRoot) { + // Reindex root is expected to hold enough capacity as long as there are less + // than ~2^52 blocks in the DAG, which should never happen in our lifetimes + // even if block rate per second is above 100. The calculation follows from the allocation of + // 2^12 (which equals 2^64/2^52) for slack per chain block below the reindex root. + return errors.Errorf("unexpected behavior: reindex root %s is out of capacity"+ + "during reindexing. Theoretically, this "+ + "should only ever happen if there are more "+ + "than ~2^52 blocks in the DAG.", reindexRoot.String()) + } + + isParentStrictAncestorOfRoot, err := rc.manager.isStrictAncestorOf(parent, reindexRoot) + if err != nil { + return err + } + + if isParentStrictAncestorOfRoot { + // In this case parent is guaranteed to have sufficient interval space, + // however we avoid reindexing the entire subtree above parent + // (which includes root and thus majority of blocks mined since) + // and use slacks along the chain up from parent to reindex root. + // Notes: + // 1. we set requiredAllocation=currentSubtreeSize in order to double the + // current interval capacity + // 2. it might be the case that current is the `newChild` itself + return rc.reindexIntervalsEarlierThanRoot(current, reindexRoot, parent, currentSubtreeSize) + } + + current = parent + } + + // Propagate the interval to the subtree + return rc.propagateInterval(current) +} + +// reindexIntervalsEarlierThanRoot implements the reindex algorithm for the case where the +// new child node is not in reindex root's subtree. The function is expected to allocate +// `requiredAllocation` to be added to interval of `allocationNode`. `commonAncestor` is +// expected to be a direct parent of `allocationNode` and an ancestor of `reindexRoot`. +func (rc *reindexContext) reindexIntervalsEarlierThanRoot( + allocationNode, reindexRoot, commonAncestor *externalapi.DomainHash, requiredAllocation uint64) error { + + // The chosen child is: + // a. A reachability tree child of `commonAncestor` + // b. A reachability tree ancestor of `reindexRoot` or `reindexRoot` itself + chosenChild, err := rc.manager.FindNextAncestor(reindexRoot, commonAncestor) + if err != nil { + return err + } + + nodeInterval, err := rc.manager.interval(allocationNode) + if err != nil { + return err + } + + chosenInterval, err := rc.manager.interval(chosenChild) + if err != nil { + return err + } + + if nodeInterval.Start < chosenInterval.Start { + // allocationNode is in the subtree before the chosen child + return rc.reclaimIntervalBefore(allocationNode, commonAncestor, chosenChild, reindexRoot, requiredAllocation) + } + + // allocationNode is in the subtree after the chosen child + return rc.reclaimIntervalAfter(allocationNode, commonAncestor, chosenChild, reindexRoot, requiredAllocation) +} + +func (rc *reindexContext) reclaimIntervalBefore( + allocationNode, commonAncestor, chosenChild, reindexRoot *externalapi.DomainHash, requiredAllocation uint64) error { + + var slackSum uint64 = 0 + var pathLen uint64 = 0 + var pathSlackAlloc uint64 = 0 + + var err error + current := chosenChild + + // Walk up the chain from common ancestor's chosen child towards reindex root + for { + if current.Equal(reindexRoot) { + // Reached reindex root. In this case, since we reached (the unlimited) root, + // we also re-allocate new slack for the chain we just traversed + + previousInterval, err := rc.manager.interval(current) + if err != nil { + return err + } + + offset := requiredAllocation + rc.manager.reindexSlack*pathLen - slackSum + err = rc.manager.stageInterval(current, intervalIncreaseStart(previousInterval, offset)) + if err != nil { + return err + } + + err = rc.propagateInterval(current) + if err != nil { + return err + } + + err = rc.offsetSiblingsBefore(allocationNode, current, offset) + if err != nil { + return err + } + + // Set the slack for each chain block to be reserved below during the chain walk-down + pathSlackAlloc = rc.manager.reindexSlack + break + } + + slackBeforeCurrent, err := rc.manager.remainingSlackBefore(current) + if err != nil { + return err + } + slackSum += slackBeforeCurrent + + if slackSum >= requiredAllocation { + previousInterval, err := rc.manager.interval(current) + if err != nil { + return err + } + + // Set offset to be just enough to satisfy required allocation + offset := slackBeforeCurrent - (slackSum - requiredAllocation) + + err = rc.manager.stageInterval(current, intervalIncreaseStart(previousInterval, offset)) + if err != nil { + return err + } + + err = rc.offsetSiblingsBefore(allocationNode, current, offset) + if err != nil { + return err + } + + break + } + + current, err = rc.manager.FindNextAncestor(reindexRoot, current) + if err != nil { + return err + } + + pathLen++ + } + + // Go back down the reachability tree towards the common ancestor. + // On every hop we reindex the reachability subtree before the + // current node with an interval that is smaller. + // This is to make room for the required allocation. + for { + current, err = rc.manager.parent(current) + if err != nil { + return err + } + + if current.Equal(commonAncestor) { + break + } + + originalInterval, err := rc.manager.interval(current) + if err != nil { + return err + } + + slackBeforeCurrent, err := rc.manager.remainingSlackBefore(current) + if err != nil { + return err + } + + offset := slackBeforeCurrent - pathSlackAlloc + err = rc.manager.stageInterval(current, intervalIncreaseStart(originalInterval, offset)) + if err != nil { + return err + } + + err = rc.offsetSiblingsBefore(allocationNode, current, offset) + if err != nil { + return err + } + } + + return nil +} + +func (rc *reindexContext) offsetSiblingsBefore(allocationNode, current *externalapi.DomainHash, offset uint64) error { + + parent, err := rc.manager.parent(current) + if err != nil { + return err + } + + siblingsBefore, _, err := rc.manager.splitChildren(parent, current) + if err != nil { + return err + } + + // Iterate over the slice in reverse order in order to break if reaching `allocationNode` + for i := len(siblingsBefore) - 1; i >= 0; i-- { + sibling := siblingsBefore[i] + if sibling.Equal(allocationNode) { + // We reached our final destination, allocate `offset` to `allocationNode` by increasing end and break + previousInterval, err := rc.manager.interval(allocationNode) + if err != nil { + return err + } + + err = rc.manager.stageInterval(allocationNode, intervalIncreaseEnd(previousInterval, offset)) + if err != nil { + return err + } + + err = rc.propagateInterval(allocationNode) + if err != nil { + return err + } + + break + } + + previousInterval, err := rc.manager.interval(sibling) + if err != nil { + return err + } + + err = rc.manager.stageInterval(sibling, intervalIncrease(previousInterval, offset)) + if err != nil { + return err + } + + err = rc.propagateInterval(sibling) + if err != nil { + return err + } + } + + return nil +} + +func (rc *reindexContext) reclaimIntervalAfter( + allocationNode, commonAncestor, chosenChild, reindexRoot *externalapi.DomainHash, requiredAllocation uint64) error { + + var slackSum uint64 = 0 + var pathLen uint64 = 0 + var pathSlackAlloc uint64 = 0 + + var err error + current := chosenChild + + // Walk up the chain from common ancestor's chosen child towards reindex root + for { + if current.Equal(reindexRoot) { + // Reached reindex root. In this case, since we reached (the unlimited) root, + // we also re-allocate new slack for the chain we just traversed + + previousInterval, err := rc.manager.interval(current) + if err != nil { + return err + } + + offset := requiredAllocation + rc.manager.reindexSlack*pathLen - slackSum + err = rc.manager.stageInterval(current, intervalDecreaseEnd(previousInterval, offset)) + if err != nil { + return err + } + + err = rc.propagateInterval(current) + if err != nil { + return err + } + + err = rc.offsetSiblingsAfter(allocationNode, current, offset) + if err != nil { + return err + } + + // Set the slack for each chain block to be reserved below during the chain walk-down + pathSlackAlloc = rc.manager.reindexSlack + break + } + + slackAfterCurrent, err := rc.manager.remainingSlackAfter(current) + if err != nil { + return err + } + slackSum += slackAfterCurrent + + if slackSum >= requiredAllocation { + previousInterval, err := rc.manager.interval(current) + if err != nil { + return err + } + + // Set offset to be just enough to satisfy required allocation + offset := slackAfterCurrent - (slackSum - requiredAllocation) + + err = rc.manager.stageInterval(current, intervalDecreaseEnd(previousInterval, offset)) + if err != nil { + return err + } + + err = rc.offsetSiblingsAfter(allocationNode, current, offset) + if err != nil { + return err + } + + break + } + + current, err = rc.manager.FindNextAncestor(reindexRoot, current) + if err != nil { + return err + } + + pathLen++ + } + + // Go back down the reachability tree towards the common ancestor. + // On every hop we reindex the reachability subtree before the + // current node with an interval that is smaller. + // This is to make room for the required allocation. + for { + current, err = rc.manager.parent(current) + if err != nil { + return err + } + + if current.Equal(commonAncestor) { + break + } + + originalInterval, err := rc.manager.interval(current) + if err != nil { + return err + } + + slackAfterCurrent, err := rc.manager.remainingSlackAfter(current) + if err != nil { + return err + } + + offset := slackAfterCurrent - pathSlackAlloc + err = rc.manager.stageInterval(current, intervalDecreaseEnd(originalInterval, offset)) + if err != nil { + return err + } + + err = rc.offsetSiblingsAfter(allocationNode, current, offset) + if err != nil { + return err + } + } + + return nil +} + +func (rc *reindexContext) offsetSiblingsAfter(allocationNode, current *externalapi.DomainHash, offset uint64) error { + + parent, err := rc.manager.parent(current) + if err != nil { + return err + } + + _, siblingsAfter, err := rc.manager.splitChildren(parent, current) + if err != nil { + return err + } + + for _, sibling := range siblingsAfter { + if sibling.Equal(allocationNode) { + // We reached our final destination, allocate `offset` to `allocationNode` by decreasing start and break + previousInterval, err := rc.manager.interval(allocationNode) + if err != nil { + return err + } + + err = rc.manager.stageInterval(allocationNode, intervalDecreaseStart(previousInterval, offset)) + if err != nil { + return err + } + + err = rc.propagateInterval(allocationNode) + if err != nil { + return err + } + + break + } + + previousInterval, err := rc.manager.interval(sibling) + if err != nil { + return err + } + + err = rc.manager.stageInterval(sibling, intervalDecrease(previousInterval, offset)) + if err != nil { + return err + } + + err = rc.propagateInterval(sibling) + if err != nil { + return err + } + } + + return nil +} + +/* + +Functions for handling reindex triggered by moving reindex root + +*/ + +func (rc *reindexContext) concentrateInterval(reindexRoot, chosenChild *externalapi.DomainHash, isFinalReindexRoot bool) error { + siblingsBeforeChosen, siblingsAfterChosen, err := rc.manager.splitChildren(reindexRoot, chosenChild) + if err != nil { + return err + } + + siblingsBeforeSizesSum, err := rc.tightenIntervalsBefore(reindexRoot, siblingsBeforeChosen) + if err != nil { + return err + } + + siblingsAfterSizesSum, err := rc.tightenIntervalsAfter(reindexRoot, siblingsAfterChosen) + if err != nil { + return err + } + + err = rc.expandIntervalToChosen( + reindexRoot, chosenChild, siblingsBeforeSizesSum, siblingsAfterSizesSum, isFinalReindexRoot) + if err != nil { + return err + } + + return nil +} + +func (rc *reindexContext) tightenIntervalsBefore( + reindexRoot *externalapi.DomainHash, siblingsBeforeChosen []*externalapi.DomainHash) (sizesSum uint64, err error) { + + siblingSubtreeSizes, sizesSum := rc.countChildrenSubtrees(siblingsBeforeChosen) + + rootInterval, err := rc.manager.interval(reindexRoot) + if err != nil { + return 0, err + } + + intervalBeforeChosen := newReachabilityInterval( + rootInterval.Start+rc.manager.reindexSlack, + rootInterval.Start+rc.manager.reindexSlack+sizesSum-1, + ) + + err = rc.propagateChildrenIntervals(intervalBeforeChosen, siblingsBeforeChosen, siblingSubtreeSizes) + if err != nil { + return 0, err + } + + return sizesSum, nil +} + +func (rc *reindexContext) tightenIntervalsAfter( + reindexRoot *externalapi.DomainHash, siblingsAfterChosen []*externalapi.DomainHash) (sizesSum uint64, err error) { + + siblingSubtreeSizes, sizesSum := rc.countChildrenSubtrees(siblingsAfterChosen) + + rootInterval, err := rc.manager.interval(reindexRoot) + if err != nil { + return 0, err + } + + intervalAfterChosen := newReachabilityInterval( + rootInterval.End-rc.manager.reindexSlack-sizesSum, + rootInterval.End-rc.manager.reindexSlack-1, + ) + + err = rc.propagateChildrenIntervals(intervalAfterChosen, siblingsAfterChosen, siblingSubtreeSizes) + if err != nil { + return 0, err + } + + return sizesSum, nil +} + +func (rc *reindexContext) expandIntervalToChosen( + reindexRoot, chosenChild *externalapi.DomainHash, sizesSumBefore, sizesSumAfter uint64, isFinalReindexRoot bool) error { + + rootInterval, err := rc.manager.interval(reindexRoot) + if err != nil { + return err + } + + newChosenInterval := newReachabilityInterval( + rootInterval.Start+sizesSumBefore+rc.manager.reindexSlack, + rootInterval.End-sizesSumAfter-rc.manager.reindexSlack-1, + ) + + currentChosenInterval, err := rc.manager.interval(chosenChild) + if err != nil { + return err + } + + // Propagate interval only if chosenChild is the final reindex root + if isFinalReindexRoot && !intervalContains(newChosenInterval, currentChosenInterval) { + // New interval doesn't contain the previous one, propagation is required + + // We assign slack on both sides as an optimization. Were we to + // assign a tight interval, the next time the reindex root moves we + // would need to propagate intervals again. That is to say, when we + // do allocate slack, next time + // expandIntervalToChosen is called (next time the + // reindex root moves), newChosenInterval is likely to + // contain currentChosenInterval. + err := rc.manager.stageInterval(chosenChild, newReachabilityInterval( + newChosenInterval.Start+rc.manager.reindexSlack, + newChosenInterval.End-rc.manager.reindexSlack, + )) + if err != nil { + return err + } + + err = rc.propagateInterval(chosenChild) + if err != nil { + return err + } + } + + err = rc.manager.stageInterval(chosenChild, newChosenInterval) + if err != nil { + return err + } + + return nil +} + +func (rc *reindexContext) countChildrenSubtrees(children []*externalapi.DomainHash) ( + sizes []uint64, sum uint64) { + + sizes = make([]uint64, len(children)) + sum = 0 + for i, node := range children { + err := rc.countSubtrees(node) + if err != nil { + return nil, 0 + } + + subtreeSize := rc.subTreeSizesCache[*node] + sizes[i] = subtreeSize + sum += subtreeSize + } + return sizes, sum +} + +func (rc *reindexContext) propagateChildrenIntervals( + interval *model.ReachabilityInterval, children []*externalapi.DomainHash, sizes []uint64) error { + + childIntervals, err := intervalSplitExact(interval, sizes) + if err != nil { + return err + } + + for i, child := range children { + childInterval := childIntervals[i] + err := rc.manager.stageInterval(child, childInterval) + if err != nil { + return err + } + + err = rc.propagateInterval(child) + if err != nil { + return err + } + } + + return nil +} diff --git a/domain/consensus/processes/reachabilitymanager/stage.go b/domain/consensus/processes/reachabilitymanager/stage.go index fb58a9b4e..a4e8d7d7a 100644 --- a/domain/consensus/processes/reachabilitymanager/stage.go +++ b/domain/consensus/processes/reachabilitymanager/stage.go @@ -25,7 +25,7 @@ func (rt *reachabilityManager) stageReindexRoot(blockHash *externalapi.DomainHas rt.reachabilityDataStore.StageReachabilityReindexRoot(blockHash) } -func (rt *reachabilityManager) addChildAndStage(node, child *externalapi.DomainHash) error { +func (rt *reachabilityManager) stageAddChild(node, child *externalapi.DomainHash) error { nodeData, err := rt.reachabilityDataForInsertion(node) if err != nil { return err diff --git a/domain/consensus/processes/reachabilitymanager/test_reachabilitymanager.go b/domain/consensus/processes/reachabilitymanager/test_reachabilitymanager.go index 89ede14e0..7824abf82 100644 --- a/domain/consensus/processes/reachabilitymanager/test_reachabilitymanager.go +++ b/domain/consensus/processes/reachabilitymanager/test_reachabilitymanager.go @@ -2,6 +2,7 @@ package reachabilitymanager import ( "github.com/kaspanet/kaspad/domain/consensus/model" + "github.com/kaspanet/kaspad/domain/consensus/model/externalapi" "github.com/kaspanet/kaspad/domain/consensus/model/testapi" ) @@ -21,6 +22,14 @@ func (t *testReachabilityManager) SetReachabilityReindexWindow(reindexWindow uin t.reachabilityManager.reindexWindow = reindexWindow } +func (t *testReachabilityManager) ValidateIntervals(root *externalapi.DomainHash) error { + return t.reachabilityManager.validateIntervals(root) +} + +func (t *testReachabilityManager) GetAllNodes(root *externalapi.DomainHash) ([]*externalapi.DomainHash, error) { + return t.reachabilityManager.getAllNodes(root) +} + // NewTestReachabilityManager creates an instance of a TestReachabilityManager func NewTestReachabilityManager(manager model.ReachabilityManager) testapi.TestReachabilityManager { return &testReachabilityManager{reachabilityManager: manager.(*reachabilityManager)} diff --git a/domain/consensus/processes/reachabilitymanager/tree.go b/domain/consensus/processes/reachabilitymanager/tree.go index 540f1770a..e328f88f6 100644 --- a/domain/consensus/processes/reachabilitymanager/tree.go +++ b/domain/consensus/processes/reachabilitymanager/tree.go @@ -13,52 +13,6 @@ import ( "github.com/pkg/errors" ) -var ( - // defaultReindexWindow is the default target window size for reachability - // reindexes. Note that this is not a constant for testing purposes. - defaultReindexWindow uint64 = 200 - - // defaultReindexSlack is default the slack interval given to reachability - // tree nodes not in the selected parent chain. Note that this is not - // a constant for testing purposes. - defaultReindexSlack uint64 = 1 << 12 - - // slackReachabilityIntervalForReclaiming is the slack interval to - // reclaim during reachability reindexes earlier than the reindex root. - // See reclaimIntervalBeforeChosenChild for further details. Note that - // this is not a constant for testing purposes. - slackReachabilityIntervalForReclaiming uint64 = 1 -) - -// exponentialFractions returns a fraction of each size in sizes -// as follows: -// fraction[i] = 2^size[i] / sum_j(2^size[j]) -// In the code below the above equation is divided by 2^max(size) -// to avoid exploding numbers. Note that in 1 / 2^(max(size)-size[i]) -// we divide 1 by potentially a very large number, which will -// result in loss of float precision. This is not a problem - all -// numbers close to 0 bear effectively the same weight. -func exponentialFractions(sizes []uint64) []float64 { - maxSize := uint64(0) - for _, size := range sizes { - if size > maxSize { - maxSize = size - } - } - fractions := make([]float64, len(sizes)) - for i, size := range sizes { - fractions[i] = 1 / math.Pow(2, float64(maxSize-size)) - } - fractionsSum := float64(0) - for _, fraction := range fractions { - fractionsSum += fraction - } - for i, fraction := range fractions { - fractions[i] = fraction / fractionsSum - } - return fractions -} - func newReachabilityTreeData() model.ReachabilityData { // Please see the comment above model.ReachabilityTreeNode to understand why // we use these initial values. @@ -69,8 +23,14 @@ func newReachabilityTreeData() model.ReachabilityData { return data } -func (rt *reachabilityManager) intervalRangeForChildAllocation(hash *externalapi.DomainHash) (*model.ReachabilityInterval, error) { - interval, err := rt.interval(hash) +/* + +Interval helper functions + +*/ + +func (rt *reachabilityManager) intervalRangeForChildAllocation(node *externalapi.DomainHash) (*model.ReachabilityInterval, error) { + interval, err := rt.interval(node) if err != nil { return nil, err } @@ -81,7 +41,7 @@ func (rt *reachabilityManager) intervalRangeForChildAllocation(hash *externalapi } func (rt *reachabilityManager) remainingIntervalBefore(node *externalapi.DomainHash) (*model.ReachabilityInterval, error) { - childRange, err := rt.intervalRangeForChildAllocation(node) + childrenRange, err := rt.intervalRangeForChildAllocation(node) if err != nil { return nil, err } @@ -92,7 +52,7 @@ func (rt *reachabilityManager) remainingIntervalBefore(node *externalapi.DomainH } if len(children) == 0 { - return childRange, nil + return childrenRange, nil } firstChildInterval, err := rt.interval(children[0]) @@ -100,11 +60,11 @@ func (rt *reachabilityManager) remainingIntervalBefore(node *externalapi.DomainH return nil, err } - return newReachabilityInterval(childRange.Start, firstChildInterval.Start-1), nil + return newReachabilityInterval(childrenRange.Start, firstChildInterval.Start-1), nil } func (rt *reachabilityManager) remainingIntervalAfter(node *externalapi.DomainHash) (*model.ReachabilityInterval, error) { - childRange, err := rt.intervalRangeForChildAllocation(node) + childrenRange, err := rt.intervalRangeForChildAllocation(node) if err != nil { return nil, err } @@ -115,7 +75,7 @@ func (rt *reachabilityManager) remainingIntervalAfter(node *externalapi.DomainHa } if len(children) == 0 { - return childRange, nil + return childrenRange, nil } lastChildInterval, err := rt.interval(children[len(children)-1]) @@ -123,7 +83,25 @@ func (rt *reachabilityManager) remainingIntervalAfter(node *externalapi.DomainHa return nil, err } - return newReachabilityInterval(lastChildInterval.End+1, childRange.End), nil + return newReachabilityInterval(lastChildInterval.End+1, childrenRange.End), nil +} + +func (rt *reachabilityManager) remainingSlackBefore(node *externalapi.DomainHash) (uint64, error) { + interval, err := rt.remainingIntervalBefore(node) + if err != nil { + return 0, err + } + + return intervalSize(interval), nil +} + +func (rt *reachabilityManager) remainingSlackAfter(node *externalapi.DomainHash) (uint64, error) { + interval, err := rt.remainingIntervalAfter(node) + if err != nil { + return 0, err + } + + return intervalSize(interval), nil } func (rt *reachabilityManager) hasSlackIntervalBefore(node *externalapi.DomainHash) (bool, error) { @@ -144,549 +122,11 @@ func (rt *reachabilityManager) hasSlackIntervalAfter(node *externalapi.DomainHas return intervalSize(interval) > 0, nil } -// addChild adds child to this tree node. If this node has no -// remaining interval to allocate, a reindexing is triggered. -// This method returns a list of model.ReachabilityTreeNodes modified -// by it. -func (rt *reachabilityManager) addChild(node, child, reindexRoot *externalapi.DomainHash) error { - remaining, err := rt.remainingIntervalAfter(node) - if err != nil { - return err - } +/* - // Set the parent-child relationship - err = rt.addChildAndStage(node, child) - if err != nil { - return err - } +ReachabilityManager API functions - err = rt.stageParent(child, node) - if err != nil { - return err - } - - // Temporarily set the child's interval to be empty, at - // the start of node's remaining interval. This is done - // so that child-of-node checks (e.g. - // FindAncestorOfThisAmongChildrenOfOther) will not fail for node. - err = rt.stageInterval(child, newReachabilityInterval(remaining.Start, remaining.Start-1)) - if err != nil { - return err - } - - // Handle node not being a descendant of the reindex root. - // Note that we check node here instead of child because - // at this point we don't yet know child's interval. - isReindexRootAncestorOfNode, err := rt.IsReachabilityTreeAncestorOf(reindexRoot, node) - if err != nil { - return err - } - - if !isReindexRootAncestorOfNode { - reindexStartTime := time.Now() - err := rt.reindexIntervalsEarlierThanReindexRoot(node, reindexRoot) - if err != nil { - return err - } - reindexTimeElapsed := time.Since(reindexStartTime) - log.Debugf("Reachability reindex triggered for "+ - "block %s. This block is not a child of the current "+ - "reindex root %s. Took %dms.", - node, reindexRoot, reindexTimeElapsed.Milliseconds()) - return nil - } - - // No allocation space left -- reindex - if intervalSize(remaining) == 0 { - reindexStartTime := time.Now() - err := rt.reindexIntervals(node) - if err != nil { - return err - } - reindexTimeElapsed := time.Since(reindexStartTime) - log.Debugf("Reachability reindex triggered for "+ - "block %s. Took %dms.", - node, reindexTimeElapsed.Milliseconds()) - return nil - } - - // Allocate from the remaining space - allocated, _, err := intervalSplitInHalf(remaining) - if err != nil { - return err - } - - return rt.stageInterval(child, allocated) -} - -// reindexIntervals traverses the reachability subtree that's -// defined by this node and reallocates reachability interval space -// such that another reindexing is unlikely to occur shortly -// thereafter. It does this by traversing down the reachability -// tree until it finds a node with a subreeSize that's greater than -// its interval size. See propagateInterval for further details. -// This method returns a list of model.ReachabilityTreeNodes modified by it. -func (rt *reachabilityManager) reindexIntervals(node *externalapi.DomainHash) error { - current := node - - // Initial interval and subtree sizes - currentInterval, err := rt.interval(node) - if err != nil { - return err - } - - size := intervalSize(currentInterval) - subTreeSizeMap := make(map[externalapi.DomainHash]uint64) - err = rt.countSubtrees(current, subTreeSizeMap) - if err != nil { - return err - } - - currentSubtreeSize := subTreeSizeMap[*current] - - // Find the first ancestor that has sufficient interval space - for size < currentSubtreeSize { - currentParent, err := rt.parent(current) - if err != nil { - return err - } - - if currentParent == nil { - // If we ended up here it means that there are more - // than 2^64 blocks, which shouldn't ever happen. - return errors.Errorf("missing tree " + - "parent during reindexing. Theoretically, this " + - "should only ever happen if there are more " + - "than 2^64 blocks in the DAG.") - } - current = currentParent - currentInterval, err := rt.interval(current) - if err != nil { - return err - } - - size = intervalSize(currentInterval) - err = rt.countSubtrees(current, subTreeSizeMap) - if err != nil { - return err - } - - currentSubtreeSize = subTreeSizeMap[*current] - } - - // Propagate the interval to the subtree - return rt.propagateInterval(current, subTreeSizeMap) -} - -// countSubtrees counts the size of each subtree under this node, -// and populates the provided subTreeSizeMap with the results. -// It is equivalent to the following recursive implementation: -// -// func (rt *reachabilityManager) countSubtrees(node *model.ReachabilityTreeNode) uint64 { -// subtreeSize := uint64(0) -// for _, child := range node.children { -// subtreeSize += child.countSubtrees() -// } -// return subtreeSize + 1 -// } -// -// However, we are expecting (linearly) deep trees, and so a -// recursive stack-based approach is inefficient and will hit -// recursion limits. Instead, the same logic was implemented -// using a (queue-based) BFS method. At a high level, the -// algorithm uses BFS for reaching all leaves and pushes -// intermediate updates from leaves via parent chains until all -// size information is gathered at the root of the operation -// (i.e. at node). -func (rt *reachabilityManager) countSubtrees(node *externalapi.DomainHash, subTreeSizeMap map[externalapi.DomainHash]uint64) error { - queue := []*externalapi.DomainHash{node} - calculatedChildrenCount := make(map[externalapi.DomainHash]uint64) - for len(queue) > 0 { - var current *externalapi.DomainHash - current, queue = queue[0], queue[1:] - currentChildren, err := rt.children(current) - if err != nil { - return err - } - - if len(currentChildren) == 0 { - // We reached a leaf - subTreeSizeMap[*current] = 1 - } else if _, ok := subTreeSizeMap[*current]; !ok { - // We haven't yet calculated the subtree size of - // the current node. Add all its children to the - // queue - queue = append(queue, currentChildren...) - continue - } - - // We reached a leaf or a pre-calculated subtree. - // Push information up - for !current.Equal(node) { - current, err = rt.parent(current) - if err != nil { - return err - } - - // If the current is now nil, it means that the previous - // `current` was the genesis block -- the only block that - // does not have parents - if current == nil { - break - } - - calculatedChildrenCount[*current]++ - - currentChildren, err := rt.children(current) - if err != nil { - return err - } - - if calculatedChildrenCount[*current] != uint64(len(currentChildren)) { - // Not all subtrees of the current node are ready - break - } - // All children of `current` have calculated their subtree size. - // Sum them all together and add 1 to get the sub tree size of - // `current`. - childSubtreeSizeSum := uint64(0) - for _, child := range currentChildren { - childSubtreeSizeSum += subTreeSizeMap[*child] - } - subTreeSizeMap[*current] = childSubtreeSizeSum + 1 - } - } - - return nil -} - -// propagateInterval propagates the new interval using a BFS traversal. -// Subtree intervals are recursively allocated according to subtree sizes and -// the allocation rule in splitWithExponentialBias. This method returns -// a list of model.ReachabilityTreeNodes modified by it. -func (rt *reachabilityManager) propagateInterval(node *externalapi.DomainHash, subTreeSizeMap map[externalapi.DomainHash]uint64) error { - - queue := []*externalapi.DomainHash{node} - for len(queue) > 0 { - var current *externalapi.DomainHash - current, queue = queue[0], queue[1:] - - currentChildren, err := rt.children(current) - if err != nil { - return err - } - - if len(currentChildren) > 0 { - sizes := make([]uint64, len(currentChildren)) - for i, child := range currentChildren { - sizes[i] = subTreeSizeMap[*child] - } - - interval, err := rt.intervalRangeForChildAllocation(current) - if err != nil { - return err - } - - intervals, err := intervalSplitWithExponentialBias(interval, sizes) - if err != nil { - return err - } - for i, child := range currentChildren { - childInterval := intervals[i] - err = rt.stageInterval(child, childInterval) - if err != nil { - return err - } - queue = append(queue, child) - } - } - } - return nil -} - -func (rt *reachabilityManager) reindexIntervalsEarlierThanReindexRoot(node, - reindexRoot *externalapi.DomainHash) error { - - // Find the common ancestor for both node and the reindex root - commonAncestor, err := rt.findCommonAncestorWithReindexRoot(node, reindexRoot) - if err != nil { - return err - } - - // The chosen child is: - // a. A reachability tree child of `commonAncestor` - // b. A reachability tree ancestor of `reindexRoot` - commonAncestorChosenChild, err := rt.FindAncestorOfThisAmongChildrenOfOther(reindexRoot, commonAncestor) - if err != nil { - return err - } - - nodeInterval, err := rt.interval(node) - if err != nil { - return err - } - - commonAncestorChosenChildInterval, err := rt.interval(commonAncestorChosenChild) - if err != nil { - return err - } - - if nodeInterval.End < commonAncestorChosenChildInterval.Start { - // node is in the subtree before the chosen child - return rt.reclaimIntervalBeforeChosenChild(node, commonAncestor, - commonAncestorChosenChild, reindexRoot) - } - - // node is either: - // * in the subtree after the chosen child - // * the common ancestor - // In both cases we reclaim from the "after" subtree. In the - // latter case this is arbitrary - return rt.reclaimIntervalAfterChosenChild(node, commonAncestor, - commonAncestorChosenChild, reindexRoot) -} - -func (rt *reachabilityManager) reclaimIntervalBeforeChosenChild(rtn, commonAncestor, commonAncestorChosenChild, - reindexRoot *externalapi.DomainHash) error { - - current := commonAncestorChosenChild - - commonAncestorChosenChildHasSlackIntervalBefore, err := rt.hasSlackIntervalBefore(commonAncestorChosenChild) - if err != nil { - return err - } - - if !commonAncestorChosenChildHasSlackIntervalBefore { - // The common ancestor ran out of slack before its chosen child. - // Climb up the reachability tree toward the reindex root until - // we find a node that has enough slack. - for { - currentHasSlackIntervalBefore, err := rt.hasSlackIntervalBefore(current) - if err != nil { - return err - } - - if currentHasSlackIntervalBefore || current.Equal(reindexRoot) { - break - } - - current, err = rt.FindAncestorOfThisAmongChildrenOfOther(reindexRoot, current) - if err != nil { - return err - } - } - - if current.Equal(reindexRoot) { - // "Deallocate" an interval of slackReachabilityIntervalForReclaiming - // from this node. This is the interval that we'll use for the new - // node. - originalInterval, err := rt.interval(current) - if err != nil { - return err - } - - err = rt.stageInterval(current, newReachabilityInterval( - originalInterval.Start+slackReachabilityIntervalForReclaiming, - originalInterval.End, - )) - if err != nil { - return err - } - - err = rt.countSubtreesAndPropagateInterval(current) - if err != nil { - return err - } - - err = rt.stageInterval(current, originalInterval) - if err != nil { - return err - } - } - } - - // Go down the reachability tree towards the common ancestor. - // On every hop we reindex the reachability subtree before the - // current node with an interval that is smaller by - // slackReachabilityIntervalForReclaiming. This is to make room - // for the new node. - for !current.Equal(commonAncestor) { - currentInterval, err := rt.interval(current) - if err != nil { - return err - } - - err = rt.stageInterval(current, newReachabilityInterval( - currentInterval.Start+slackReachabilityIntervalForReclaiming, - currentInterval.End, - )) - if err != nil { - return err - } - - currentParent, err := rt.parent(current) - if err != nil { - return err - } - - err = rt.reindexIntervalsBeforeNode(currentParent, current) - if err != nil { - return err - } - current, err = rt.parent(current) - if err != nil { - return err - } - } - - return nil -} - -// reindexIntervalsBeforeNode applies a tight interval to the reachability -// subtree before `node`. Note that `node` itself is unaffected. -func (rt *reachabilityManager) reindexIntervalsBeforeNode(rtn, node *externalapi.DomainHash) error { - - childrenBeforeNode, _, err := rt.splitChildrenAroundChild(rtn, node) - if err != nil { - return err - } - - childrenBeforeNodeSizes, childrenBeforeNodeSubtreeSizeMaps, childrenBeforeNodeSizesSum := - rt.calcReachabilityTreeNodeSizes(childrenBeforeNode) - - // Apply a tight interval - nodeInterval, err := rt.interval(node) - if err != nil { - return err - } - - newIntervalEnd := nodeInterval.Start - 1 - newInterval := newReachabilityInterval(newIntervalEnd-childrenBeforeNodeSizesSum+1, newIntervalEnd) - intervals, err := intervalSplitExact(newInterval, childrenBeforeNodeSizes) - if err != nil { - return err - } - return rt.propagateIntervals(childrenBeforeNode, intervals, childrenBeforeNodeSubtreeSizeMaps) -} - -func (rt *reachabilityManager) reclaimIntervalAfterChosenChild(node, commonAncestor, commonAncestorChosenChild, - reindexRoot *externalapi.DomainHash) error { - - current := commonAncestorChosenChild - commonAncestorChosenChildHasSlackIntervalAfter, err := rt.hasSlackIntervalAfter(commonAncestorChosenChild) - if err != nil { - return err - } - - if !commonAncestorChosenChildHasSlackIntervalAfter { - // The common ancestor ran out of slack after its chosen child. - // Climb up the reachability tree toward the reindex root until - // we find a node that has enough slack. - for { - currentHasSlackIntervalAfter, err := rt.hasSlackIntervalAfter(commonAncestorChosenChild) - if err != nil { - return err - } - - if currentHasSlackIntervalAfter || current.Equal(reindexRoot) { - break - } - - current, err = rt.FindAncestorOfThisAmongChildrenOfOther(reindexRoot, current) - if err != nil { - return err - } - } - - if current.Equal(reindexRoot) { - // "Deallocate" an interval of slackReachabilityIntervalForReclaiming - // from this node. This is the interval that we'll use for the new - // node. - originalInterval, err := rt.interval(current) - if err != nil { - return err - } - - err = rt.stageInterval(current, newReachabilityInterval( - originalInterval.Start, - originalInterval.End-slackReachabilityIntervalForReclaiming, - )) - if err != nil { - return err - } - - err = rt.countSubtreesAndPropagateInterval(current) - if err != nil { - return err - } - - err = rt.stageInterval(current, originalInterval) - if err != nil { - return err - } - } - } - - // Go down the reachability tree towards the common ancestor. - // On every hop we reindex the reachability subtree after the - // current node with an interval that is smaller by - // slackReachabilityIntervalForReclaiming. This is to make room - // for the new node. - for !current.Equal(commonAncestor) { - currentInterval, err := rt.interval(current) - if err != nil { - return err - } - - err = rt.stageInterval(current, newReachabilityInterval( - currentInterval.Start, - currentInterval.End-slackReachabilityIntervalForReclaiming, - )) - if err != nil { - return err - } - - currentParent, err := rt.parent(current) - if err != nil { - return err - } - - err = rt.reindexIntervalsAfterNode(currentParent, current) - if err != nil { - return err - } - current = currentParent - } - - return nil -} - -// reindexIntervalsAfterNode applies a tight interval to the reachability -// subtree after `node`. Note that `node` itself is unaffected. -func (rt *reachabilityManager) reindexIntervalsAfterNode(rtn, node *externalapi.DomainHash) error { - - _, childrenAfterNode, err := rt.splitChildrenAroundChild(rtn, node) - if err != nil { - return err - } - - childrenAfterNodeSizes, childrenAfterNodeSubtreeSizeMaps, childrenAfterNodeSizesSum := - rt.calcReachabilityTreeNodeSizes(childrenAfterNode) - - // Apply a tight interval - nodeInterval, err := rt.interval(node) - if err != nil { - return err - } - - newIntervalStart := nodeInterval.End + 1 - newInterval := newReachabilityInterval(newIntervalStart, newIntervalStart+childrenAfterNodeSizesSum-1) - intervals, err := intervalSplitExact(newInterval, childrenAfterNodeSizes) - if err != nil { - return err - } - return rt.propagateIntervals(childrenAfterNode, intervals, childrenAfterNodeSubtreeSizeMaps) -} +*/ // IsReachabilityTreeAncestorOf checks if this node is a reachability tree ancestor // of the other node. Note that we use the graph theory convention @@ -705,28 +145,20 @@ func (rt *reachabilityManager) IsReachabilityTreeAncestorOf(node, other *externa return intervalContains(nodeInterval, otherInterval), nil } -// findCommonAncestorWithReindexRoot finds the most recent reachability -// tree ancestor common to both node and the given reindex root. Note -// that we assume that almost always the chain between the reindex root -// and the common ancestor is longer than the chain between node and the -// common ancestor. -func (rt *reachabilityManager) findCommonAncestorWithReindexRoot(node, reindexRoot *externalapi.DomainHash) (*externalapi.DomainHash, error) { - currentThis := node - for { - isAncestorOf, err := rt.IsReachabilityTreeAncestorOf(currentThis, reindexRoot) - if err != nil { - return nil, err - } - - if isAncestorOf { - return currentThis, nil - } - - currentThis, err = rt.parent(currentThis) - if err != nil { - return nil, err - } +// FindNextAncestor finds the reachability tree child +// of 'ancestor' which is also an ancestor of 'descendant'. +func (rt *reachabilityManager) FindNextAncestor(descendant, ancestor *externalapi.DomainHash) (*externalapi.DomainHash, error) { + childrenOfAncestor, err := rt.children(ancestor) + if err != nil { + return nil, err } + + nextAncestor, ok := rt.findAncestorOfNode(childrenOfAncestor, descendant) + if !ok { + return nil, errors.Errorf("ancestor is not an ancestor of descendant") + } + + return nextAncestor, nil } // String returns a string representation of a reachability tree node @@ -742,17 +174,17 @@ func (rt *reachabilityManager) String(node *externalapi.DomainHash) (string, err for len(queue) > 0 { var current *externalapi.DomainHash current, queue = queue[0], queue[1:] - currentChildren, err := rt.children(current) + children, err := rt.children(current) if err != nil { return "", err } - if len(currentChildren) == 0 { + if len(children) == 0 { continue } line := "" - for _, child := range currentChildren { + for _, child := range children { childInterval, err := rt.interval(child) if err != nil { return "", err @@ -766,290 +198,324 @@ func (rt *reachabilityManager) String(node *externalapi.DomainHash) (string, err return strings.Join(lines, "\n"), nil } -func (rt *reachabilityManager) updateReindexRoot(newTreeNode *externalapi.DomainHash) error { +/* - nextReindexRoot, err := rt.reindexRoot() - if err != nil { - return err +Tree helper functions + +*/ + +func (rt *reachabilityManager) isStrictAncestorOf(node, other *externalapi.DomainHash) (bool, error) { + if node.Equal(other) { + return false, nil } + return rt.IsReachabilityTreeAncestorOf(node, other) +} +// findCommonAncestor finds the most recent reachability +// tree ancestor common to both node and the given reindex root. Note +// that we assume that almost always the chain between the reindex root +// and the common ancestor is longer than the chain between node and the +// common ancestor. +func (rt *reachabilityManager) findCommonAncestor(node, root *externalapi.DomainHash) (*externalapi.DomainHash, error) { + current := node for { - candidateReindexRoot, found, err := rt.maybeMoveReindexRoot(nextReindexRoot, newTreeNode) + isAncestorOf, err := rt.IsReachabilityTreeAncestorOf(current, root) if err != nil { - return err + return nil, err } - if !found { - break + + if isAncestorOf { + return current, nil } - nextReindexRoot = candidateReindexRoot - } - rt.stageReindexRoot(nextReindexRoot) - return nil -} - -func (rt *reachabilityManager) maybeMoveReindexRoot(reindexRoot, newTreeNode *externalapi.DomainHash) ( - newReindexRoot *externalapi.DomainHash, found bool, err error) { - - isAncestorOf, err := rt.IsReachabilityTreeAncestorOf(reindexRoot, newTreeNode) - if err != nil { - return nil, false, err - } - if !isAncestorOf { - commonAncestor, err := rt.findCommonAncestorWithReindexRoot(newTreeNode, reindexRoot) + current, err = rt.parent(current) if err != nil { - return nil, false, err + return nil, err } - - return commonAncestor, true, nil } - - reindexRootChosenChild, err := rt.FindAncestorOfThisAmongChildrenOfOther(newTreeNode, reindexRoot) - if err != nil { - return nil, false, err - } - - newTreeNodeGHOSTDAGData, err := rt.ghostdagDataStore.Get(rt.databaseContext, newTreeNode) - if err != nil { - return nil, false, err - } - - reindexRootChosenChildGHOSTDAGData, err := rt.ghostdagDataStore.Get(rt.databaseContext, reindexRootChosenChild) - if err != nil { - return nil, false, err - } - - if newTreeNodeGHOSTDAGData.BlueScore()-reindexRootChosenChildGHOSTDAGData.BlueScore() < rt.reindexWindow { - return nil, false, nil - } - - err = rt.concentrateIntervalAroundReindexRootChosenChild(reindexRoot, reindexRootChosenChild) - if err != nil { - return nil, false, err - } - - return reindexRootChosenChild, true, nil } -// FindAncestorOfThisAmongChildrenOfOther finds the reachability tree child -// of node that is the ancestor of node. -func (rt *reachabilityManager) FindAncestorOfThisAmongChildrenOfOther(this, other *externalapi.DomainHash) (*externalapi.DomainHash, error) { - otherChildren, err := rt.children(other) - if err != nil { - return nil, err - } +// splitChildren splits `node` children into two slices: the nodes that are before +// `pivot` and the nodes that are after. +func (rt *reachabilityManager) splitChildren(node, pivot *externalapi.DomainHash) ( + nodesBeforePivot, nodesAfterPivot []*externalapi.DomainHash, err error) { - ancestor, ok := rt.findAncestorOfNode(otherChildren, this) - if !ok { - return nil, errors.Errorf("node is not an ancestor of this") - } - - return ancestor, nil -} - -func (rt *reachabilityManager) concentrateIntervalAroundReindexRootChosenChild(reindexRoot, - reindexRootChosenChild *externalapi.DomainHash) error { - - reindexRootChildNodesBeforeChosen, reindexRootChildNodesAfterChosen, err := - rt.splitChildrenAroundChild(reindexRoot, reindexRootChosenChild) - if err != nil { - return err - } - - reindexRootChildNodesBeforeChosenSizesSum, err := - rt.tightenIntervalsBeforeReindexRootChosenChild(reindexRoot, reindexRootChildNodesBeforeChosen) - if err != nil { - return err - } - - reindexRootChildNodesAfterChosenSizesSum, err := - rt.tightenIntervalsAfterReindexRootChosenChild(reindexRoot, reindexRootChildNodesAfterChosen) - if err != nil { - return err - } - - err = rt.expandIntervalInReindexRootChosenChild(reindexRoot, reindexRootChosenChild, - reindexRootChildNodesBeforeChosenSizesSum, reindexRootChildNodesAfterChosenSizesSum) - if err != nil { - return err - } - - return nil -} - -// splitChildrenAroundChild splits `node` into two slices: the nodes that are before -// `child` and the nodes that are after. -func (rt *reachabilityManager) splitChildrenAroundChild(node, child *externalapi.DomainHash) ( - nodesBeforeChild, nodesAfterChild []*externalapi.DomainHash, err error) { - - nodeChildren, err := rt.children(node) + children, err := rt.children(node) if err != nil { return nil, nil, err } - for i, candidateChild := range nodeChildren { - if candidateChild.Equal(child) { - return nodeChildren[:i], nodeChildren[i+1:], nil + for i, child := range children { + if child.Equal(pivot) { + return children[:i], children[i+1:], nil } } - return nil, nil, errors.Errorf("child not a child of node") + return nil, nil, errors.Errorf("pivot not a pivot of node") } -func (rt *reachabilityManager) tightenIntervalsBeforeReindexRootChosenChild( - reindexRoot *externalapi.DomainHash, - reindexRootChildNodesBeforeChosen []*externalapi.DomainHash) (reindexRootChildNodesBeforeChosenSizesSum uint64, - err error) { +/* - reindexRootChildNodesBeforeChosenSizes, reindexRootChildNodesBeforeChosenSubtreeSizeMaps, reindexRootChildNodesBeforeChosenSizesSum := - rt.calcReachabilityTreeNodeSizes(reindexRootChildNodesBeforeChosen) +Internal reachabilityManager API - reindexRootInterval, err := rt.interval(reindexRoot) - if err != nil { - return 0, err - } +*/ - intervalBeforeReindexRootStart := newReachabilityInterval( - reindexRootInterval.Start+rt.reindexSlack, - reindexRootInterval.Start+rt.reindexSlack+reindexRootChildNodesBeforeChosenSizesSum-1, - ) - - err = rt.propagateChildIntervals(intervalBeforeReindexRootStart, reindexRootChildNodesBeforeChosen, - reindexRootChildNodesBeforeChosenSizes, reindexRootChildNodesBeforeChosenSubtreeSizeMaps) - if err != nil { - return 0, err - } - return reindexRootChildNodesBeforeChosenSizesSum, nil -} - -func (rt *reachabilityManager) tightenIntervalsAfterReindexRootChosenChild( - reindexRoot *externalapi.DomainHash, - reindexRootChildNodesAfterChosen []*externalapi.DomainHash) (reindexRootChildNodesAfterChosenSizesSum uint64, - err error) { - - reindexRootChildNodesAfterChosenSizes, reindexRootChildNodesAfterChosenSubtreeSizeMaps, - reindexRootChildNodesAfterChosenSizesSum := - rt.calcReachabilityTreeNodeSizes(reindexRootChildNodesAfterChosen) - - reindexRootInterval, err := rt.interval(reindexRoot) - if err != nil { - return 0, err - } - - intervalAfterReindexRootEnd := newReachabilityInterval( - reindexRootInterval.End-rt.reindexSlack-reindexRootChildNodesAfterChosenSizesSum, - reindexRootInterval.End-rt.reindexSlack-1, - ) - - err = rt.propagateChildIntervals(intervalAfterReindexRootEnd, reindexRootChildNodesAfterChosen, - reindexRootChildNodesAfterChosenSizes, reindexRootChildNodesAfterChosenSubtreeSizeMaps) - if err != nil { - return 0, err - } - return reindexRootChildNodesAfterChosenSizesSum, nil -} - -func (rt *reachabilityManager) expandIntervalInReindexRootChosenChild(reindexRoot, - reindexRootChosenChild *externalapi.DomainHash, reindexRootChildNodesBeforeChosenSizesSum uint64, - reindexRootChildNodesAfterChosenSizesSum uint64) error { - - reindexRootInterval, err := rt.interval(reindexRoot) +// addChild adds child to this tree node. If this node has no +// remaining interval to allocate, a reindexing is triggered. When a reindexing +// is triggered, the reindex root point is used within the +// reindex algorithm's logic +func (rt *reachabilityManager) addChild(node, child, reindexRoot *externalapi.DomainHash) error { + remaining, err := rt.remainingIntervalAfter(node) if err != nil { return err } - newReindexRootChildInterval := newReachabilityInterval( - reindexRootInterval.Start+reindexRootChildNodesBeforeChosenSizesSum+rt.reindexSlack, - reindexRootInterval.End-reindexRootChildNodesAfterChosenSizesSum-rt.reindexSlack-1, - ) - - reindexRootChosenChildInterval, err := rt.interval(reindexRootChosenChild) + // Set the parent-child relationship + err = rt.stageAddChild(node, child) if err != nil { return err } - if !intervalContains(newReindexRootChildInterval, reindexRootChosenChildInterval) { - // New interval doesn't contain the previous one, propagation is required + err = rt.stageParent(child, node) + if err != nil { + return err + } - // We assign slack on both sides as an optimization. Were we to - // assign a tight interval, the next time the reindex root moves we - // would need to propagate intervals again. That is to say, When we - // DO allocate slack, next time - // expandIntervalInReindexRootChosenChild is called (next time the - // reindex root moves), newReindexRootChildInterval is likely to - // contain reindexRootChosenChild.Interval. - err := rt.stageInterval(reindexRootChosenChild, newReachabilityInterval( - newReindexRootChildInterval.Start+rt.reindexSlack, - newReindexRootChildInterval.End-rt.reindexSlack, - )) + // No allocation space left at parent -- reindex + if intervalSize(remaining) == 0 { + + // Initially set the child's interval to the empty remaining interval. + // This is done since in some cases, the underlying algorithm will + // allocate space around this point and call intervalIncreaseEnd or + // intervalDecreaseStart making for intervalSize > 0 + err = rt.stageInterval(child, remaining) if err != nil { return err } - err = rt.countSubtreesAndPropagateInterval(reindexRootChosenChild) + rc := newReindexContext(rt) + + reindexStartTime := time.Now() + err := rc.reindexIntervals(child, reindexRoot) if err != nil { return err } + + reindexTimeElapsed := time.Since(reindexStartTime) + log.Debugf("Reachability reindex triggered for "+ + "block %s. Took %dms.", + node, reindexTimeElapsed.Milliseconds()) + + return nil } - err = rt.stageInterval(reindexRootChosenChild, newReindexRootChildInterval) + // Allocate from the remaining space + allocated, _, err := intervalSplitInHalf(remaining) if err != nil { return err } + + return rt.stageInterval(child, allocated) +} + +func (rt *reachabilityManager) updateReindexRoot(selectedTip *externalapi.DomainHash) error { + + currentReindexRoot, err := rt.reindexRoot() + if err != nil { + return err + } + + // First, find the new root + reindexRootAncestor, newReindexRoot, err := rt.findNextReindexRoot(currentReindexRoot, selectedTip) + if err != nil { + return err + } + + // No update to root, return + if currentReindexRoot.Equal(newReindexRoot) { + return nil + } + + rc := newReindexContext(rt) + + // Iterate from reindexRootAncestor towards newReindexRoot + for { + chosenChild, err := rt.FindNextAncestor(selectedTip, reindexRootAncestor) + if err != nil { + return err + } + + isFinalReindexRoot := chosenChild.Equal(newReindexRoot) + + // Concentrate interval from current ancestor to it's chosen child + err = rc.concentrateInterval(reindexRootAncestor, chosenChild, isFinalReindexRoot) + if err != nil { + return err + } + + if isFinalReindexRoot { + break + } + + reindexRootAncestor = chosenChild + } + + // Update reindex root data store + rt.stageReindexRoot(newReindexRoot) return nil } -func (rt *reachabilityManager) countSubtreesAndPropagateInterval(node *externalapi.DomainHash) error { - subtreeSizeMap := make(map[externalapi.DomainHash]uint64) - err := rt.countSubtrees(node, subtreeSizeMap) +// findNextReindexRoot finds the new reindex root based on the current one and the new selected tip. +// The function also returns the common ancestor between the current and new reindex roots (possibly current root itself). +// This ancestor should be used as a starting point for concentrating the interval towards the new root. +func (rt *reachabilityManager) findNextReindexRoot(currentReindexRoot, selectedTip *externalapi.DomainHash) ( + reindexRootAncestor, newReindexRoot *externalapi.DomainHash, err error) { + + reindexRootAncestor = currentReindexRoot + newReindexRoot = currentReindexRoot + + selectedTipGHOSTDAGData, err := rt.ghostdagDataStore.Get(rt.databaseContext, selectedTip) if err != nil { - return err + return nil, nil, err } - return rt.propagateInterval(node, subtreeSizeMap) -} + isCurrentAncestorOfTip, err := rt.IsReachabilityTreeAncestorOf(currentReindexRoot, selectedTip) + if err != nil { + return nil, nil, err + } -func (rt *reachabilityManager) calcReachabilityTreeNodeSizes(treeNodes []*externalapi.DomainHash) ( - sizes []uint64, subtreeSizeMaps []map[externalapi.DomainHash]uint64, sum uint64) { - - sizes = make([]uint64, len(treeNodes)) - subtreeSizeMaps = make([]map[externalapi.DomainHash]uint64, len(treeNodes)) - sum = 0 - for i, node := range treeNodes { - subtreeSizeMap := make(map[externalapi.DomainHash]uint64) - err := rt.countSubtrees(node, subtreeSizeMap) + // Test if current root is ancestor of selected tip - if not, this is a reorg case + if !isCurrentAncestorOfTip { + currentRootGHOSTDAGData, err := rt.ghostdagDataStore.Get(rt.databaseContext, currentReindexRoot) if err != nil { - return nil, nil, 0 + return nil, nil, err } - subtreeSize := subtreeSizeMap[*node] - sizes[i] = subtreeSize - subtreeSizeMaps[i] = subtreeSizeMap - sum += subtreeSize + // We have reindex root out of selected tip chain, however we switch chains only after a sufficient + // threshold of reindexSlack score in order to address possible alternating reorg attacks. + // The reindexSlack constant is used as an heuristic for a large enough constant on the one hand, but + // one which will not harm performance on the other hand - given the available slack at the chain split point + if selectedTipGHOSTDAGData.BlueScore()-currentRootGHOSTDAGData.BlueScore() < rt.reindexSlack { + // Return current - this indicates no change + return currentReindexRoot, currentReindexRoot, nil + } + + // The common ancestor is where we should start concentrating the interval from + commonAncestor, err := rt.findCommonAncestor(selectedTip, currentReindexRoot) + if err != nil { + return nil, nil, err + } + + reindexRootAncestor = commonAncestor + newReindexRoot = commonAncestor } - return sizes, subtreeSizeMaps, sum + + // Iterate from ancestor towards selected tip until passing the reindexWindow threshold, + // for finding the new reindex root + for { + chosenChild, err := rt.FindNextAncestor(selectedTip, newReindexRoot) + if err != nil { + return nil, nil, err + } + + chosenChildGHOSTDAGData, err := rt.ghostdagDataStore.Get(rt.databaseContext, chosenChild) + if err != nil { + return nil, nil, err + } + + if selectedTipGHOSTDAGData.BlueScore()-chosenChildGHOSTDAGData.BlueScore() < rt.reindexWindow { + break + } + + newReindexRoot = chosenChild + } + + return reindexRootAncestor, newReindexRoot, nil } -func (rt *reachabilityManager) propagateChildIntervals(interval *model.ReachabilityInterval, - childNodes []*externalapi.DomainHash, sizes []uint64, subtreeSizeMaps []map[externalapi.DomainHash]uint64) error { +/* - childIntervalSizes, err := intervalSplitExact(interval, sizes) - if err != nil { - return err - } +Test helper functions - for i, child := range childNodes { - childInterval := childIntervalSizes[i] - err := rt.stageInterval(child, childInterval) +*/ + +// Helper function (for testing purposes) to validate that all tree intervals +// under a specified subtree root are allocated correctly and as expected +func (rt *reachabilityManager) validateIntervals(root *externalapi.DomainHash) error { + queue := []*externalapi.DomainHash{root} + for len(queue) > 0 { + var current *externalapi.DomainHash + current, queue = queue[0], queue[1:] + + children, err := rt.children(current) if err != nil { return err } - childSubtreeSizeMap := subtreeSizeMaps[i] - err = rt.propagateInterval(child, childSubtreeSizeMap) + if len(children) > 0 { + queue = append(queue, children...) + } + + currentInterval, err := rt.interval(current) if err != nil { return err } + + if currentInterval.Start > currentInterval.End { + err := errors.Errorf("Interval allocation is empty") + return err + } + + for i, child := range children { + childInterval, err := rt.interval(child) + if err != nil { + return err + } + + if i > 0 { + siblingInterval, err := rt.interval(children[i-1]) + if err != nil { + return err + } + + if siblingInterval.End+1 != childInterval.Start { + err := errors.Errorf("Child intervals are expected be right after each other") + return err + } + } + + if childInterval.Start < currentInterval.Start { + err := errors.Errorf("Child interval to the left of parent") + return err + } + + if childInterval.End >= currentInterval.End { + err := errors.Errorf("Child interval to the right of parent") + return err + } + } } return nil } + +// Helper function (for testing purposes) to get all nodes under a specified subtree root +func (rt *reachabilityManager) getAllNodes(root *externalapi.DomainHash) ([]*externalapi.DomainHash, error) { + queue := []*externalapi.DomainHash{root} + nodes := []*externalapi.DomainHash{root} + for len(queue) > 0 { + var current *externalapi.DomainHash + current, queue = queue[0], queue[1:] + + children, err := rt.children(current) + if err != nil { + return nil, err + } + + if len(children) > 0 { + queue = append(queue, children...) + nodes = append(nodes, children...) + } + } + + return nodes, nil +} diff --git a/domain/consensus/test_consensus.go b/domain/consensus/test_consensus.go index 35e490f0c..48f93166c 100644 --- a/domain/consensus/test_consensus.go +++ b/domain/consensus/test_consensus.go @@ -1,12 +1,15 @@ package consensus import ( + "encoding/json" "github.com/kaspanet/kaspad/domain/consensus/model" "github.com/kaspanet/kaspad/domain/consensus/model/externalapi" "github.com/kaspanet/kaspad/domain/consensus/model/testapi" "github.com/kaspanet/kaspad/domain/consensus/utils/consensushashing" "github.com/kaspanet/kaspad/domain/dagconfig" "github.com/kaspanet/kaspad/infrastructure/db/database" + "github.com/pkg/errors" + "io" ) type testConsensus struct { @@ -103,8 +106,63 @@ func (tc *testConsensus) AddUTXOInvalidBlock(parentHashes []*externalapi.DomainH return consensushashing.BlockHash(block), blockInsertionResult, nil } -func (tc *testConsensus) BuildUTXOInvalidBlock(parentHashes []*externalapi.DomainHash) (*externalapi.DomainBlock, error) { +func (tc *testConsensus) MineJSON(r io.Reader) (tips []*externalapi.DomainHash, err error) { + // jsonBlock is a json representation of a block in mine format + type jsonBlock struct { + ID string `json:"id"` + Parents []string `json:"parents"` + } + tipSet := map[externalapi.DomainHash]*externalapi.DomainHash{} + tipSet[*tc.dagParams.GenesisHash] = tc.dagParams.GenesisHash + + parentsMap := make(map[string]*externalapi.DomainHash) + parentsMap["0"] = tc.dagParams.GenesisHash + + decoder := json.NewDecoder(r) + // read open bracket + _, err = decoder.Token() + if err != nil { + return nil, err + } + // while the array contains values + for decoder.More() { + var block jsonBlock + // decode an array value (Message) + err := decoder.Decode(&block) + if err != nil { + return nil, err + } + if block.ID == "0" { + continue + } + parentHashes := make([]*externalapi.DomainHash, len(block.Parents)) + var ok bool + for i, parentID := range block.Parents { + parentHashes[i], ok = parentsMap[parentID] + if !ok { + return nil, errors.Errorf("Couldn't find blockID: %s", parentID) + } + delete(tipSet, *parentHashes[i]) + } + blockHash, _, err := tc.AddUTXOInvalidHeader(parentHashes) + if err != nil { + return nil, err + } + parentsMap[block.ID] = blockHash + tipSet[*blockHash] = blockHash + } + + tips = make([]*externalapi.DomainHash, len(tipSet)) + i := 0 + for _, v := range tipSet { + tips[i] = v + i++ + } + return tips, nil +} + +func (tc *testConsensus) BuildUTXOInvalidBlock(parentHashes []*externalapi.DomainHash) (*externalapi.DomainBlock, error) { // Require write lock because BuildBlockWithParents stages temporary data tc.lock.Lock() defer tc.lock.Unlock() diff --git a/domain/consensus/testdata/reachability/attack-dag-blocks--2^12-delay-factor--1-k--18.json.gz b/domain/consensus/testdata/reachability/attack-dag-blocks--2^12-delay-factor--1-k--18.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..b26317f72a17645a2046dbc2b6b12c5660017271 GIT binary patch literal 30748 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 iwqY^N^3*@LrM$tFmS5Aye{}s4pHz)0y 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�frQ78G6FyV5`In?=<<`tVWzB2y-uYxeTN!mLa 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≶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 literal 0 HcmV?d00001 diff --git a/domain/consensus/testdata/reachability/attack-dag-blocks--2^14-delay-factor--1-k--18.json.gz b/domain/consensus/testdata/reachability/attack-dag-blocks--2^14-delay-factor--1-k--18.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..1ed8b6727f3acad3294040163334d389f86a40a0 GIT binary patch literal 122825 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
  • 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⪚6=XB!9Kn5F3VG{IlJ!&HQ$?<- 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 N(TbJ%YsOM+{|9+wF%JL$ literal 0 HcmV?d00001 diff --git a/domain/consensus/testdata/reachability/noattack-dag-blocks--2^12-delay-factor--1-k--18.json.gz b/domain/consensus/testdata/reachability/noattack-dag-blocks--2^12-delay-factor--1-k--18.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..47362ca268565b79b48e9b7c21b378922035f78c GIT binary patch literal 31591 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 h5w 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 z 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 YCa>F>6>cv1Y%VqGHq1J=ny88V9~6eQzyJUM literal 0 HcmV?d00001