Closed Tibo-lg closed 3 years ago
Also removed the requirement for NFC standardization of UTF8 as it does not seem strictly necessary since we are not hashing strings anymore. If anybody can think of a reason that we should keep it please comment.
This still is needed for things like the eventid
and for enum outcomes. We hash the entire event_tlv
when signing the announcement so these need to be standardized.
This still is needed for things like the eventid and for enum outcomes. We hash the entire event_tlv when signing the announcement so these need to be standardized.
Good point. Though thinking about it a bit more, I'm actually not sure why we are using canonical encoding in the first place. Looking at it more closely, it seems that it is useful when trying to compare or search strings, which is not what we are doing. The only reason we would need it is if the codes would somehow be automatically changed based on implementations if they were not canonical, but AFAICT it is not the case.
So can someone give a good reason for using it in the first place? Then at least I could add it as a rational to the document.
So can someone give a good reason for using it in the first place? Then at least I could add it as a rational to the document.
Imo there should at least be one standard so people know how to correctly interpret these bytes to display to the user.
Imo there should at least be one standard so people know how to correctly interpret these bytes to display to the user.
So that's the job of utf8. From my understanding, what NFC or NFD provide is a guarantee that two strings that "display" the same will have the same encoding, and it seems to be mainly useful for comparing or searching strings. But for our context I can't really figure out what is the benefit.
Also removed the requirement for NFC standardization of UTF8 as it does not seem strictly necessary since we are not hashing strings anymore. If anybody can think of a reason that we should keep it please comment.
This still is needed for things like the
eventid
and for enum outcomes. We hash the entireevent_tlv
when signing the announcement so these need to be standardized.
Why does this mean it needs to be standardized in the case of event ids and enum outcomes?
Imo there should at least be one standard so people know how to correctly interpret these bytes to display to the user.
They are just strings so why can't they be displayed to the user normalized or not?
From my understanding, what NFC or NFD provide is a guarantee that two strings that "display" the same will have the same encoding, and it seems to be mainly useful for comparing or searching strings. But for our context I can't really figure out what is the benefit.
I misunderstood what normalization meant, if it doesn't change the actual serialization then it would be fine to exclude and leave it up to the implementation
Update the signature scheme to use @llfourn proposal
Also removed the requirement for NFC standardization of UTF8 as it does not seem strictly necessary since we are not hashing strings anymore. If anybody can think of a reason that we should keep it please comment.