-
Notifications
You must be signed in to change notification settings - Fork 308
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] PersonaAutobiography v1.0.1.1 #194
Comments
Are we going to consider the case where one persona corresponds to multiple accounts/identifiers on a network? I mean, with the strict URL-like identifier encoding, adding a update: the new consensus is to use
|
Its feasibility remains uncertain, but I do wish to have it possible in data level for now. |
I'm sorry but where will we use this? |
@Jack-Works This is designed for persona backup with mnemonic words, where metadata needs a storage other than the sequence of mnemonic words. |
We're not saving mnemonic words currently. Should we do this? Does it safe enough to do? |
For mnemonic words: better generate some encrypted file protected by a
simple password?
…On Mon, Nov 25, 2019 at 10:59 Jack Works ***@***.***> wrote:
@Jack-Works <https://github.com/Jack-Works> This is designed for persona
backup with mnemonic words, where metadata needs a storage other than the
sequence of mnemonic words.
We're not saving mnemonic words currently. Should we do this? Does it safe
enough to do?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#194?email_source=notifications&email_token=ABTAVTKRGRDR3RPSCSYHF5LQVM5QBA5CNFSM4IYGB522YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFA6OVA#issuecomment-557967188>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABTAVTJCSB7XL7INP7CHCW3QVM5QBANCNFSM4IYGB52Q>
.
|
We should. Safety remains open for discussion. Maybe @yisiliu has ideas to share on this topic. |
Requiring a password on persona creation is not a good idea. We may introduce "Upgrade Persona Safety" feature in a later version. Device honesty is beyond our concern at this stage; we must assume that all devices are safe enough. |
Update: Now the autobiography may optionally include persona private key or mnemonic words. This can be used as a text-based full backup of a persona, like the "Base64" option in #369. |
Update: With this RFC ratified, optical transfer over QR will be possible, and it could remain. |
Updated: According to discussions in #407, password is now a mandatory field. |
Update: RFC #225 has been ratified. |
TO: @Jack-Works You may want to introduce the latest design in RFC #223 here. Feel free to update the structure design in the RFC document content. |
I will mark this as Ratified if there is no further discussion before today 12:00 UTC. |
Objection. This format is too verbose. Why prefer (By the way capitalized field name make it somewhat like the classic XML format) |
I believe that verbosity is better than trivialization. We have a lot of JSON-based payloads. Preventing trivialization is more important than reducing verbosity. RFC #225 has been ratified already. Everyone has been granted sufficient time to review. |
I'm @Jack-Works @neruthes If you have time take a look of SOLID (and many w3c related) persona designs you might find them helpful. This is an issue under long debating.
|
A format that so verbose is not necessary. A shorter version {
"meta": {
"version": 1,
"type": "file_type",
"maskbookVersion": "1.8.0",
"timestamp": 1569374955715
},
"datatype": [
{
"field1": "value1"
}
]
} |
👍
…On Tue, Dec 10, 2019 at 10:59 Jack Works ***@***.***> wrote:
A format that so verbose is not necessary.
A shorter version
{
"meta": {
"version": 1,
"type": "file_type",
"maskbookVersion": "1.8.0",
"timestamp": 1569374955715
},
"datatype": [
{
"field1": "value1"
}
]
}
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#194?email_source=notifications&email_token=ABTAVTOFBAQ5CDW472LBBQLQX4AX3A5CNFSM4IYGB522YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGMJYEQ#issuecomment-563649554>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABTAVTNOM4GQLMTHWLXGLGDQX4AX3ANCNFSM4IYGB52Q>
.
|
Feel free to introduce an alternative to #225. But be hurry. |
I have drafted a cleaner alternative. And we can even change between proposals (before we ship it to user) |
Draft based on current database structure. interface BackupJSONFileVersion2 {
_meta_: {
version: 2
type: 'maskbook-backup'
maskbookVersion: string // e.g. "1.8.0"
createdAt: number // Unix timestamp
}
personas: Array<{
identifier: string // PersonaIdentifier.toText()
mnemonic?: {
word: string
parameter: { path: string; withPassword: boolean }
}
publicKey: JsonWebKey
privateKey?: JsonWebKey
localKey?: JsonWebKey
nickname?: string
linkedProfiles: Record</** ProfileIdentifier.toText() */ string, LinkedProfileDetails>
createdAt: number // Unix timestamp
updatedAt: number // Unix timestamp
}>
profiles: Array<{
identifier: string // ProfileIdentifier.toText()
nickname?: string
localKey?: JsonWebKey
linkedPersona?: string // PersonaIdentifier.toText()
createdAt: number // Unix timestamp
updatedAt: number // Unix timestamp
}>
userGroups: Array<{
groupName: string
identifier: string // GroupIdentifier.toText()
members: string[] // Array<ProfileIdentifier.toText()>
banned?: string[] // Array<ProfileIdentifier.toText()>
}>
posts: Array<{
postBy: string // ProfileIdentifier.toText()
identifier: string // PostIVIdentifier.toText()
postCryptoKey?: JsonWebKey
recipients: Record</** ProfileIdentifier.toText() */ string, RecipientDetail>
recipientGroups: string[] // Array<GroupIdentifier.toText()>
foundAt: number // Unix timestamp
}>
} |
I am closing all my RFCs since Meta/Article-3: RFC Peer Review Convention has been abolished. I assume that everyone agrees that this is not worth discussing for now. Some discussions may be restarted, if necessary, after Meta/Bill-4: DSD Peer Review Convention is ratified. In the meantime, if there is any question with documentation and workflow, please consult @yisiliu. Thanks for everyone who has engaged in the discussions so long. |
Metadata
Abstract
PersonaAutobiography is designed to provide a universal description format for every person, which should cover all scenarios and be compatible with all transportation methods.
Scenarios include persona backup, database backup, and persona export.
Transportation methods include QR, Base64 text, and JSON File.
Background
Payload Structure
Generic
Since there is no private key in this type,
PersonaPrivateKey
field should benull
.Including Private Key
Example
Over QR code
The text was updated successfully, but these errors were encountered: