-
Notifications
You must be signed in to change notification settings - Fork 309
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
[RFC] Maskbook Post Binary Payload Format v1 #329
Comments
It is possible that @guanbinrui may want to employ this format for #316. |
do we realy need to make a binary format by ourself? |
+1. Better not do this now or start this early.
…On Fri, Nov 15, 2019 at 22:14 Jack Works ***@***.***> wrote:
do we realy need to make a binary format by ourself?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#329?email_source=notifications&email_token=ABTAVTMQDOLMRB5SQQ3ELGTQT2VCVA5CNFSM4JFW6USKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEEFRIVI#issuecomment-554374229>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABTAVTKEJIC62IFASXIUEJLQT2VCVANCNFSM4JFW6USA>
.
|
Trivialization can be harmful. Now on Twitter we have the #198 format, and on Facebook we have the original payload. Headers, encoding methods, and separators all differ. If we adopt a binary version, we will only need to implement network-specific interfaces, instead of network-specific payloads. |
Update: This RFC should draw to conclusion on 2019-12-13. |
Love to hear opinions from @Jack-Works . But pls don't prioritize this for now. Remember #410 is much more important for our growth. Prioritize that RFC pls |
There are many binary JSON format like http://bsonspec.org/ and it will be easier to encode/decode by format like bson |
Without a new payload format, Red Packet feature will become a giant historic burden. |
I proposed using JSON-based format in the past and the feedbacks were pure negation. We may change to Base64-encoded BSON under #225. |
bson is good enough |
I will start updating this to a BSON-based format today. |
We can send our JSON format to bson library and it becomes binary! 🧙♂️ |
Metadata
Abstract
Maskbook Post Bitstream Payload Format is designed to provide a compact method to convey post payloads over size-sensitive transportation infrastructures, especially image steganography.
Structure
The structure of a post payload consists of 11 major parts:
31 AB 24 6E 8A 24 FC 49 DC AF 2A 6D 79 DF 8F A2 CB 7F
, which will becomeMaskbook/Encrypted+Post/
after Base64 encoding0x0000
0x00
or0x01
0x7C7C
)Sections
Blob Positions
This part consists of 5 numbers (UInt16), which respectively indicate the length of the sections since Cipher Message.
This is designed to optimize for using
Blob.prototype.slice
to select the respective parts without reading through the whole blob.PostIV
// TODO
Cipher Message
// TODO
Self-Recipient Key Hint
// TODO
List of Receiving Groups
// TODO
Extension Data Public
This is a serialized JSON object. Reserved for further definition.
Extension Data Private
This is an AES-encrypted blob of a serialized JSON object. Reserved for further definition.
Checksum
The SHA2-256 hash of all bytes afore.
The text was updated successfully, but these errors were encountered: