diem / diem/bcs

The Relationship Between Canonical and Signature in BCS

Open
#12 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
88
Forks
25
PR merge metrics
No merged PRs in 30d

Description

I am really confused about Why must the serialized object for signing be canonical.
The process of signing involves the sender's object being serialized into a byte array, which is then signed. The data transmitted is just byte data, and when the receiver verifies the signature, they simply retrieve the same byte data and perform signature verification. It seems like there is no connection to canonical at all during this process.
So, what is the actual impact of canonical on signature verification ?
I look forward to your response. Thank you!

Contributor guide

Open the contributing guide

Research direction

The issue names no files, tests, or entry points. Begin by reading the BCS serialization and signing documentation to explain why canonical serialization matters and how differing serialized bytes affect verification. Done means providing a clear, technically grounded answer to the relationship between canonical encoding and signatures.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.