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

Should the JWT StatusList encoded 1-bit bytearray map to W3C StatusList 2021 bitstring? #68

Open
paulbastian opened this issue Oct 19, 2023 · 7 comments
Labels

Comments

@paulbastian
Copy link
Contributor

This came up twice now, so I think it makes sense to open this issue.

The StatusList2021 "counts" entries from right to left.

As our goal is to support multi-bit support for status types and bits are usually "counted" from right to left, we envision this more of a byte array, therefore counting indices and bits from right to left.

Therefore, the 1-bit strings do not match. Is this a problem? What are the consequences?

@brentzundel
Copy link

The status list under development in the W3C VCWG has evolved significantly since StatusList2021 was adopted. It now matches even more closely the work happening here.

I believe it would be incredibly valuable for the underlying status bytestrings in each approach to be identical.

I have also opened an issue in the related W3C repository to track this concern.

@bumblefudge
Copy link

as in, keep this issue open and remember to check for newest draft on the other side before shipping?

@dlongley
Copy link

dlongley commented Nov 9, 2023

The StatusList2021 "counts" entries from right to left.

As our goal is to support multi-bit support for status types and bits are usually "counted" from right to left, we envision this more of a byte array, therefore counting indices and bits from right to left.

I might be misreading this. But I believe "entries" are counted from left to right, not right to left:

https://www.w3.org/TR/vc-status-list/#bitstring-encoding

This approach was chosen after some discussion and data collection around implementations, some of this can be seen in this PR or issues linked to it: w3c/vc-bitstring-status-list#45

@paulbastian
Copy link
Contributor Author

Thanks for the reference.

My initial read on this issue seems to confirm our choice that a byte array seems like a good approach to describe the content, because it is less ambiguous?

@dlongley
Copy link

dlongley commented Nov 9, 2023

My initial read on this issue seems to confirm our choice that a byte array seems like a good approach to describe the content, because it is less ambiguous?

In terms of ambiguity, we've found that there are lots of ways people can get confused here. So plenty of text, descriptions, and pictures -- all internally consistent with one another -- are helpful. I don't think simply saying "byte array" (or "byte sequence" for that matter) instead of "bitstring" (or whatever else) is sufficient to alleviate misunderstanding -- and I'd even say the name choice won't move the needle very much.

@paulbastian
Copy link
Contributor Author

Thats true, I was only stating my opinion and we should probably get more feedback on this.

@paulbastian
Copy link
Contributor Author

Editors Call:

  • we still believe to achieve our design goal of implementation easiness and simplicity, an approach using byte array instead of bitarray is better
  • changes now would break many libraries for both standards
  • so there is probably no solution to this
  • pending close

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants