Merge pull request #320 from waku-org/signal-furps

Update Signal Network FURPS
This commit is contained in:
fryorcraken 2025-07-02 15:29:33 +10:00 committed by GitHub
commit a7069716b4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 12 additions and 6 deletions

View File

@ -2,11 +2,13 @@
## Functionality
1. Establishes a direct connection between two peers using Waku as a signaling layer
1. Establish direct connection to remote peer using their public key as identifier.
## Usability
1. Developers have access to a simple API: single entry `connect` function and event-based inbound handling.
1. Developers can implement their own application-level discovery method.
2. Only remote peer's public key is needed to initiate connection.
3. Hook is provided for developer to filter inbound connection requests.
## Reliability
@ -17,8 +19,9 @@
1. Developers can use this protocol in web application, imported from npmjs.com.
2. Developers can use this protocol to initiate WebRTC connections.
3. Only 1:1 direct connections are supported.
## + (Privacy, Anonymity, Deployments)
1. Signaling payloads are end-to-end encrypted.
1. Network observers cannot retrieve node connection details; forward secrecy is **not** included.
2. STUN and TURN servers may be required for WebRTC usage.

View File

@ -143,17 +143,20 @@ See deliverables.
**FURPS**:
- F1. Establishes a direct connection between two peers using Waku as a signaling layer
- F1. Establish direct connection to remote peer using their public key as identifier.
- U1. Developers have access to a simple API: single entry `connect` function and event-based inbound handling.
- U1. Developers can implement their own application-level discovery method.
- U2. Only remote peer's public key is needed to initiate connection.
- U3. Hook is provided for developer to filter inbound connection requests.
- R1. End-to-end reliability is implemented for the signaling conversation.
- R2. No provided reliability for established connections, left to the developer (e.g. keep alive).
- S1. Developers can use this protocol in web application, imported from npmjs.com.
- S2. Developers can use this protocol to initiate WebRTC connections.
- S3. Only 1:1 direct connections are supported.
- +1. Signaling payloads are end-to-end encrypted.
- +1. Network observers cannot retrieve node connection details; forward secrecy is **not** included.
- +2. STUN and TURN servers may be required for WebRTC usage.
**Checklist**: