Skip to content

Commit a2ec64c

Browse files
committed
Fixes according to review
1 parent e5590e5 commit a2ec64c

17 files changed

+34
-218
lines changed

status/1/client.md renamed to status/deprecated/1/client.md

Lines changed: 6 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
---
2-
slug: 1
3-
title: 1/CLIENT
2+
title: CLIENT
43
name: Client
54
status: draft
65
description: This specification describes how to write a Status client for communicating with other Status clients.
@@ -25,46 +24,6 @@ This document consists of two parts.
2524
The first outlines the specifications required to be a full Status client.
2625
The second provides a design rationale and answers some common questions.
2726

28-
## Table of Contents
29-
30-
- Abstract
31-
- Table of Contents
32-
- Introduction
33-
- Protocol layers
34-
- Protobuf
35-
- Components
36-
- P2P Overlay
37-
- Node discovery and roles
38-
- Bootstrapping
39-
- Discovery
40-
- Mobile nodes
41-
- Transport privacy and Whisper/Waku usage
42-
- Secure Transport
43-
- Data Sync
44-
- Payloads and clients
45-
- BIPs and EIPs Standards support
46-
- Security Considerations
47-
- Design Rationale
48-
- P2P Overlay
49-
- Why devp2p? Why not use libp2p?
50-
- What about other RLPx subprotocols like LES and Swarm?
51-
- Why do you use Whisper?
52-
- Why do you use Waku?
53-
- Why is PoW for Waku set so low?
54-
- Why do you not use Discovery v5 for node discovery?
55-
- I heard something about Mailservers being trusted somehow?
56-
- Data sync
57-
- Why is MVDS not used for public chats?
58-
- Footnotes
59-
- Appendix A: Security considerations
60-
- Scalability and UX
61-
- Privacy
62-
- Spam resistance
63-
- Censorship resistance
64-
- Acknowledgments
65-
- Changelog
66-
- Version 0.3
67-
6827
## Introduction
6928

7029
Implementing a Status client means implementing multiple layers.
@@ -146,9 +105,9 @@ for optimal peer count management.
146105

147106
A Mobile node is a Whisper and/or Waku node connecting to the network.
148107
Mobile nodes **MAY** relay messages.
149-
See 3/WHISPER-USAGE and 10/WAKU-USAGE for more details.
108+
See WHISPER-USAGE and WAKU-USAGE for more details.
150109

151-
For an offline inbox, see 4/WHISPER-MAILSERVER and 11/WAKU-MAILSERVER.
110+
For an offline inbox, see WHISPER-MAILSERVER and WAKU-MAILSERVER.
152111

153112
## Transport Privacy and Whisper/Waku Usage
154113

@@ -160,7 +119,7 @@ specific settings are required for communication with other Status nodes.
160119
To provide confidentiality, integrity, authentication,
161120
and forward secrecy, secure transport is implemented on top of Whisper/Waku.
162121
This applies to 1:1 and group chats, but not public chats.
163-
See 5/SECURE-TRANSPORT for more.
122+
See SECURE-TRANSPORT for more.
164123

165124
## Data Sync
166125

@@ -172,11 +131,11 @@ and encrypted if needed for secure chats before sending.
172131

173132
On top of secure transport, Status uses various data sync clients
174133
and payload formats for chat types.
175-
Refer to 6/PAYLOADS for details.
134+
Refer to PAYLOADS for details.
176135

177136
## BIPs and EIPs Standards Support
178137

179-
For EIPs and BIPs **SHOULD** supported by Status clients, see 8/EIPS.
138+
For EIPs and BIPs **SHOULD** supported by Status clients, see EIPS.
180139

181140
## Security Considerations
182141

status/10/waku-usage.md renamed to status/deprecated/10/waku-usage.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
---
2-
slug: 10
3-
title: 10/WAKU-USAGE
2+
title: WAKU-USAGE
43
name: Waku Usage
54
status: draft
65
description: Status uses Waku to provide privacy-preserving routing and messaging on top of devP2P.
@@ -47,9 +46,9 @@ and basic encryption properties that support asynchronous chat.
4746
| Batch Ack | 11 | Undocumented. Marked for Deprecation |
4847
| Message Response | 12 | WAKU-1 |
4948
| Status Update | 22 | WAKU-1 |
50-
| P2P Request Complete| 125 | 4/WAKU-MAILSERVER |
51-
| P2P Request | 126 | 4/WAKU-MAILSERVER, WAKU-1 |
52-
| P2P Messages | 127 | 4/WAKU-MAILSERVER, WAKU-1 |
49+
| P2P Request Complete| 125 | WAKU-MAILSERVER |
50+
| P2P Request | 126 | WAKU-MAILSERVER, WAKU-1 |
51+
| P2P Messages | 127 | WAKU-MAILSERVER, WAKU-1 |
5352

5453
## Waku Node Configuration
5554

@@ -115,7 +114,7 @@ The protocol requires keys (symmetric or asymmetric) for:
115114
- Encrypting & decrypting messages (symmetric or asymmetric key)
116115

117116
Keys are stored in memory and required at all times for message processing.
118-
PFS key management is described in 5/SECURE-TRANSPORT.
117+
PFS key management is described in SECURE-TRANSPORT.
119118

120119
## Contact Code Topic
121120

status/11/waku-mailserver.md renamed to status/deprecated/11/waku-mailserver.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
---
2-
slug: 11
3-
title: 11/WAKU-MAILSERVER
2+
title: WAKU-MAILSERVER
43
name: Waku Mailserver
54
status: draft
65
description: Waku Mailserver is a specification that allows messages to be stored permanently and to allow the stored messages to be delivered to requesting client nodes, regardless if the messages are not available in the network due to the message TTL expiring.

status/12/IPFS gateway for Sticker Pack.md renamed to status/deprecated/12/IPFS gateway for Sticker Pack.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
---
2-
slug: 12
3-
title: 12/IPFS-gateway-for-Sticker-Pack
2+
title: IPFS-gateway-for-Sticker-Pack
43
name: IPFS gateway for Sticker Pack
54
status: draft
65
description: This specification describes how Status uses the IPFS gateway to store stickers.

status/13/3rd-party.md renamed to status/deprecated/13/3rd-party.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
---
2-
slug: 13
3-
title: 13/3RD-PARTY
2+
title: 3RD-PARTY
43
name: 3rd party
54
status: draft
65
description: This specification discusses 3rd party APIs that Status relies on.

status/14/dapp browser API usage.md renamed to status/deprecated/14/dapp browser API usage.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
---
2-
slug: 14
3-
title: 14/Dapp browser API usage
2+
title: Dapp browser API usage
43
name: Dapp browser API usage
54
status: draft
65
description: This document describes requirements that an application must fulfill in order to provide a proper environment for Dapps running inside a browser.

status/15/notifications.md renamed to status/deprecated/15/notifications.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
---
2-
slug: 15
3-
title: 15/NOTIFICATIONS
2+
title: NOTIFICATIONS
43
name: Notifications
54
status: draft
65
description: A client should implement local notifications to offer notifications for any event in the app without the privacy cost and dependency on third party services.

status/16-2/Keycard Usage for Wallet and Chat Keys.md renamed to status/deprecated/16-2/Keycard Usage for Wallet and Chat Keys.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
---
2-
slug: 16-2
3-
title: 16-2/Keycard Usage for Wallet and Chat Keys
2+
title: Keycard Usage for Wallet and Chat Keys
43
name: Keycard Usage for Wallet and Chat Keys
54
status: draft
65
description: In this specification, we describe how Status communicates with Keycard to create, store and use multiaccount.

status/16/push-notification-server.md renamed to status/deprecated/16/push-notification-server.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
---
2-
slug: 16
3-
title: 16/PUSH-NOTIFICATION-SERVER
2+
title: PUSH-NOTIFICATION-SERVER
43
name: Push notification server
54
status: draft
65
description: Status provides a set of Push notification services that can be used to achieve this functionality.
@@ -9,7 +8,6 @@ contributors:
98
- Andrea Maria Piana <andreap@status.im>
109
---
1110

12-
1311
## Reason
1412

1513
Push notifications for iOS and some Android devices rely on centralized services

status/2/account.md renamed to status/deprecated/2/account.md

Lines changed: 1 addition & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
---
2-
slug: 2
3-
title: 2/ACCOUNT
2+
title: ACCOUNT
43
name: Account
54
status: draft
65
description: This specification explains what a Status account is, and how a node establishes trust.
@@ -16,41 +15,6 @@ contributors:
1615
This specification explains what a Status account is,
1716
and how a node establishes trust.
1817

19-
## Table of Contents
20-
21-
- Abstract
22-
- Table of Contents
23-
- Introduction
24-
- Initial Key Generation
25-
- Public/Private Keypairs
26-
- X3DH Prekey bundle creation
27-
- Account Broadcasting
28-
- X3DH Prekey bundles
29-
- Optional Account additions
30-
- ENS Username
31-
- Trust establishment
32-
- Terms Glossary
33-
- Contact Discovery
34-
- Public channels
35-
- Private 1:1 messages
36-
- Initial Key Exchange
37-
- Bundles
38-
- Contact Verification
39-
- Identicon
40-
- 3 word pseudonym / Whisper/Waku key fingerprint
41-
- ENS name
42-
- Public Key Serialization
43-
- Basic Serialization Example
44-
- Public Key “Compression” Rationale
45-
- Key Encoding
46-
- Public Key Types
47-
- De/Serialization Process Flow
48-
- Serialization Example
49-
- Deserialization Example
50-
- Security Considerations
51-
- Changelog
52-
- Version 0.3
53-
5418
## Introduction
5519

5620
The core concept of an account in Status is a set of cryptographic keypairs,

0 commit comments

Comments
 (0)