-
Notifications
You must be signed in to change notification settings - Fork 492
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
Clearing Expired Participation Keys #2738
Comments
This issue will be scheduled for the sprint starting on Aug 27 |
Could the protocol make them offline automatically? |
Absolutely and that's the second step in the issue. But auto-removal requires a more complex solution and we need something sooner than later so we broke it into two steps. |
Hey team! Please add your planning poker estimate with ZenHub @nicholasguoalgorand @tsachizehub @winder @algobolson |
Wild thought: make it a bounty to incentivize people. Take from the account being offlined and Sender gets |
if anyone can create this condition it sounds like potential for a "perverse incentive" if they're rewarded for taking accounts offline |
@barnjamin not a problem. Someone registers a valid participation key for round 100,000 to 300,000. I can't file the un-register txn until round 300,001. Preferrably they register a new key valid for another bunch of rounds sometime around round 280,000, but if they forget or have a tech glitch we need to clean them up. |
It seems like this becomes a form of MEV (Miner Extractable Value) for
better or worse. The block proposer for the first round that can take
someone offline would want to do that himself, rather than pack any txn
offered by a random account.
…On Fri, Aug 27, 2021 at 10:18 AM Brian Olson ***@***.***> wrote:
@barnjamin <https://github.com/barnjamin> not a problem. Someone
registers a valid participation key for round 100,000 to 300,000. I can't
file the un-register txn until round 300,001. Preferrably they register a
new key valid for 300,000-to-future sometime around round 280,000, but if
they forget or have a tech glitch we need to clean them up.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#2738 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AADL7T45GDAQRVRQHOFHMMTT66NC7ANCNFSM5CCF3I6A>
.
|
I may still be misunderstanding but when I register I can set the valid rounds to whatever I want right? If I choose a small range like 4 rounds, then submit a txn from another account to take the expired participating one offline and get enough of a reward it may be a profitable strategy. If there is a high minimum number of rounds or only the txn fee was covered it wouldn't be worth it to game |
## Summary Resolves #2738 Adds the following: - consensus.go: Adds the default MaxExpiredAccountsToProcess value for the new consensus protocol - block.go: Adds necessary block header entries - eval.go: Scans for expired accounts, modifies them to be offline and adds validation for this use case - eval_test.go: Basic unit tests - participationExpiration_test.go: Added e2e tests that verify that different consensus protocols behave differently ## Test Plan Unit test and e2e tests added
## Summary Resolves algorand#2738 Adds the following: - consensus.go: Adds the default MaxExpiredAccountsToProcess value for the new consensus protocol - block.go: Adds necessary block header entries - eval.go: Scans for expired accounts, modifies them to be offline and adds validation for this use case - eval_test.go: Basic unit tests - participationExpiration_test.go: Added e2e tests that verify that different consensus protocols behave differently ## Test Plan Unit test and e2e tests added
Problem
Currently, if an account marks itself online but the last round has passed, it counts towards the total online stake but the account can't vote. This is considered to be malicious behavior by the protocol and can undermine the protocol's security.
Solution
Design document - https://docs.google.com/document/d/1p5gKHxRpE8Snijyz6Zeo29MOd2WJLiyS6EBDCkFqdJw/edit
Dependencies
No dependencies.
Urgency
See problem
The text was updated successfully, but these errors were encountered: