-
Notifications
You must be signed in to change notification settings - Fork 175
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
Reduce max length of signature in vote message #110
Comments
@djrtwo Would it be better to add this enforcement in validate_signature()? |
The type declaration should handle the enforcement. I was thinking we just make the type declaration the following anywhere we are referencing the sig which is a number of places at this point (including sig: bytes <= MAX_SIGNATURE_LENGTH = ... |
Issue Status: 1. Open 2. Started 3. Submitted 4. Done This issue now has a funding of 200.0 DAI (200.0 USD @ $1.0/DAI) attached to it.
|
Issue Status: 1. Open 2. Started 3. Submitted 4. Done Work has been started. These users each claimed they can complete the work by 7 months, 2 weeks ago. 1) mkeen has started work. Learn more on the Gitcoin Issue Details page. |
@djrtwo Your proposed solution is syntactically elegant, but from what I can see, it's going to require an enhancement to Vyper. Vyper's For the purposes of decoding incoming data, Vyper's casper/casper/contracts/simple_casper.v.py Line 491 in dcf4caf
The above doesn't expose any way to let Vyper's To summarize, due to the current implementation of casper/casper/contracts/simple_casper.v.py Lines 486 to 496 in dcf4caf
I've looked into making some enhancements to the Vyper Requesting a suggestion on how I should proceed. |
Thanks for the deep dive! I was unaware. We might decide to truncate or something, but I am going to discuss with the formal verification team that is working with us. Leaving this open for now until we decide on a move forward. |
@mkeen Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!
Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days |
I am still working on this. Submitted a proposal to make this possible with a change to Vyper. |
@mkeen Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!
Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days |
@djrtwo Can I get a 10 day snooze on this? RLPList is undergoing heavy changes RN. |
Cool I just saw that the VIP got approved. Congrats! |
Thanks! |
Hi @mkeen just checking in, is this one still pending? Hope you are doing well 🙂 |
This is blocked by the implementation of a VIP vyperlang/vyper#818 It appears to be in their "final countdown" before beta. So I expect it to be finished in the relative short term |
@mkeen Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!
Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days |
Issue Status: 1. Open 2. Started 3. Submitted 4. Done @mkeen due to inactivity, we have escalated this issue to Gitcoin's moderation team. Let us know if you believe this has been done in error!
Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days |
Hi @vs77bb yes still pending! But I am keeping an eye on it. |
Awesome. Thanks for the feedback! |
Hi there everyone. Is this issue still blocked due to your dependencies? Thanks! |
@kuhnchris The repo is deprecated. No commits since Jun 2018. |
Well, there are still 200$ in DAI stashed in the bounty from Greg. If this repository is deprecated he should cancel the bounty so he can at least get his funds back. We'll try to mail him, thanks for the info! Thanks! |
The repo isn't deprecated as far as I know. It would be nice to at least partially claim the bounty, since I did a bunch of analysis and spec'ed out a fix upstream. Just a thought :) |
@djrtwo @hrishikeshio your calls. cc @vs77bb |
@djrtwo @hrishikeshio @vs77bb LMK. I think it's only fair. |
Its deprecated according to https://github.com/ethereum/casper/blob/master/README.md. |
Yikes. |
Issue Status: 1. Open 2. Started 3. Submitted 4. Done Work for 200.0 DAI (200.0 USD @ $1.0/DAI) has been submitted by: @gdipri01 please take a look at the submitted work:
|
Issue
Vote messages must be less that or equal 1024 bytes, defined by the type in the
vote
method signature. When parsing the signature of the vote from the vote message, we currently only enforce that the signature too is less than or equal to 1024 bytes.casper/casper/contracts/simple_casper.v.py
Line 402 in d5aed93
Due to the variable amount of bytes required to encode the other elements in the list, there is a range on the maximum length of a signature depending on the epoch or even the
validator_index
. To enforce more strict requirements, we propose restrictingsig
to length less than or equal to 934 bytes. This number assumes the other elements of the vote message take their maximal length to encode.1024 bytes available
3 to encode the whole list
17 worst case to encode an int128
33 to encode the bytes32 hash
3 to encode the signature bytes
1024 - 3 - 17*3 - 33 - 3 == 934 bytes max for signature
Sanity checked with the following python code
Note, the
logout
message has fewer elements so the signature could theoretically be larger than934
for this action, but to reduce complexity, 934 should be used forlogout
messages as well.Proposed Implementation
<= MAX_SIGNATURE_LENGTH
invote
,slash
, andlogout
The text was updated successfully, but these errors were encountered: