Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat!: add sidechain eviction proof transaction #6702

Merged
merged 1 commit into from
Dec 9, 2024

Conversation

sdbondi
Copy link
Member

@sdbondi sdbondi commented Nov 26, 2024

Description

sidechain eviction proof transaction
validations for eviction proof
only single validator node registration permitted

Motivation and Context

How Has This Been Tested?

What process can a PR reviewer use to test or verify this change?

Breaking Changes

  • None
  • Requires data directory on base node to be deleted
  • Requires hard fork
  • Other - Please specify

@sdbondi sdbondi force-pushed the core-validator-evict branch from d4c5d5a to 2821268 Compare November 26, 2024 12:25
Copy link

github-actions bot commented Nov 26, 2024

Test Results (CI)

    3 files    132 suites   39m 21s ⏱️
1 351 tests 1 351 ✅ 0 💤 0 ❌
4 051 runs  4 051 ✅ 0 💤 0 ❌

Results for commit 25ca763.

♻️ This comment has been updated with latest results.

Copy link

github-actions bot commented Nov 26, 2024

Test Results (Integration tests)

36 tests   36 ✅  14m 57s ⏱️
11 suites   0 💤
 2 files     0 ❌

Results for commit 25ca763.

♻️ This comment has been updated with latest results.

@sdbondi sdbondi force-pushed the core-validator-evict branch 2 times, most recently from fe794be to 680f4f6 Compare November 27, 2024 05:38
@sdbondi sdbondi force-pushed the core-validator-evict branch from 5317412 to 6269f44 Compare December 5, 2024 09:54
@sdbondi sdbondi marked this pull request as ready for review December 5, 2024 11:33
@sdbondi sdbondi requested a review from a team as a code owner December 5, 2024 11:33
@sdbondi sdbondi force-pushed the core-validator-evict branch 2 times, most recently from e1000f4 to 7255118 Compare December 5, 2024 11:41
@sdbondi sdbondi force-pushed the core-validator-evict branch from 7255118 to 25ca763 Compare December 5, 2024 11:57
@sdbondi sdbondi merged commit 817bacb into tari-project:feature-dan2 Dec 9, 2024
18 of 19 checks passed
@sdbondi sdbondi deleted the core-validator-evict branch December 9, 2024 05:33
sdbondi added a commit to tari-project/tari-dan that referenced this pull request Dec 11, 2024
Description
---
feat!: submit eviction proof for nodes that miss many proposals
various bug fixes
cucumber that tests end-to-end eviction 
watcher submits the eviction transaction
fixes for epoch manager to allow exits
removed suspending and resuming nodes
exit consensus and sync if receiving a QC for a future epoch

Motivation and Context
---
If a node goes offline, consensus will run much more slowly due to
having to wait for leader failure each round.

This PR implements the eviction command and generation of an eviction
proof that can be submitted on L1. Once the epoch is reached where the
eviction applies, the validator is removed from the committee. Requires
tari-project/tari#6702

Suspending and resuming nodes adds complexity and some bugs were
observed. Since evicted nodes are already immediately skipped in rounds
by other validator nodes before they are evicted, the value of
suspending nodes is limited and it was decided that it was not worth the
added complexity.

How Has This Been Tested?
---
New unit tests and cucumber, manually

What process can a PR reviewer use to test or verify this change?
---
1. Run a swarm,
2.  run a watcher and let it register
3. mine 10 blocks to allow the watcher vn to start consensus
4. stop a node in swarm
5. wait for eviction proof to be submitted by the watcher
6. mine 10 blocks, observe that the stopped node is no longer part of
the committee

Breaking Changes
---

- [ ] None
- [x] Requires data directory to be deleted
- [ ] Other - Please specify

BREAKING CHANGE: incompatible global and state database changes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant