-
Notifications
You must be signed in to change notification settings - Fork 1k
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
rebased old BLS rework. For discussion purposes. #1233
Conversation
Rebased work from Justin.
Rebased work of Justin.
Rebased work of Justin.
```python | ||
|
||
def bls_verify(pubkey: BLSPubkey, self_signed_object: Container, domain: BLSDomain) -> bool: | ||
return bls.bls_verify(pubkey, domain + signed_root(self_signed_object), self_signed_object.signature) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we go this way (which I'm really not sold on!! I think there's a lot of value in reducing the depth of the abstraction tower that readers have to waddle through, and the verify(pub, msg, sig)
format has a lot going for it given it's simple and familiar, and also symmetry with bls_verify_multiple
is valuable), can we at least call it bls_verify_signed_container
? Would make it clearer to readers what's going on imo.
I suggest we stick with current interface and go ahead with the misc cleanups (e.g. add |
@JustinDrake You can go ahead with the misc. cleanups in the helper cleanup PR. As expressed in the closed issue, I generally think the primary part of this PR should not be considered for spec-freeze. So also dislike labeling this as "spec-freeze", for just a Instead I want to keep the discussion alive to some time after freeze, where there is less time pressure, and we can find some sweet spot (not necessarily with self-signed objects in interface, but possible) in separation of BLS and spec. |
Unlabeling "spec freeze", in favor of #1246 which implements Domain and DomainType, but leaves interface as is. A simple and clean solution for freeze. We can experiment more with this PR later, or not, see what the cons/pros are here. |
I'd say close this PR and revisit when we merge in the BLS standardisation post-freeze. |
Honestly, the BLS interface as-is is ok*. But if we still want to separate out application layer from the inner BLS layer, we may want to consider something alike to this PR; a rebased version of the initial work by @JustinDrake
I propose we discuss if we move forward with it, making it a post spec-freeze non-breaking change, i.e. fully backwards compatible for signatures during testnet. And keep this apart from the BLS spec-update itself, as a presentation thing.
*: ok, test-vectors will adopt the spec status to alleviate the typing inconsistency highlighted in #964