Skip to content

Latest commit

 

History

History
62 lines (42 loc) · 5.22 KB

ovip-0009.md

File metadata and controls

62 lines (42 loc) · 5.22 KB
OVIP: 9
Title: 6 Layers of OpenVASP
Author: Felix Laufenberg <[email protected]>
Discussions-To: https://community.openvasp.org/#narrow/stream/21-protocol-.2F.20ovip
Status: Accepted
Type: Standard
Created: 2020-05-25

Abstract

The author of this OVIP describes the layers which make up the OpenVASP protocol. The key idea is that the layer model does not change, but protocols for single layers are replaced to adapt to changing requirements. The purpose of this OVIP is not to define protocols for the different layers but to provide an overview of existing layers and principles of the design.

Specification

1. Layer Model Principles

The advantage of a layered model is the modularity that it provides. By decoupling components of the protocol as much as possible we create flexibility of swapping out or adding any component with a lower cost. Any layer should make as little assumptions about its underlying layer as possible. More importantly, no layer must make any assumptions about the layers above it.

2. Overview of Layers

Layer Interface Name Purpose Reference Current Implementation
6 Application State machine and interpretation of messages. Whitepaper Travel Rule
5 Business Session Provides context to a set of messages. ovip-0007 VASP Session
4 Authentication VASP authentication & authorization. ovip-0003 VASP Dictionary
3 Transport Message reliability. ovip-0010 Whisper Session
2 Addressing Means of addressing receiver. ovip-0003 VASP Index
1 Messaging Means of sending a message. Whitepaper Whisper

3. Description of Layers

Messaging Layer Abstraction of how message are transported from A to B. For detailed description refer to Section 3 of the original Whitepaper.

Addressing Layer Abstraction of how to refer to the intended receiver of a message and method of exchanges public keys used for encryption on higher Layers. Check section 4.3 of the original Whitepaper and ovip-0002.

Transport Layer Provides abstractions and guarantees around messages. Comparable to TCP/UDP in the internet stack. Should ensure message reliability and encryption. For our current implementation refer to ovip-0010.

Authentication Layer Creates a reliable link between a VASP Identifier (Identifier, ovip-0002) and a VASP (legal entity). Ovip for VASP Dictionary to follow.

Business Session Layer Responsible for creating a session between to VASPs, not only on a technical but also on a business level. This provides context to a set of messages and ensures authenticity and auditability of all messages send within one session. For more details refer to Sections 6.2 and 6.3 of the original Whitepaper which has been refined by ovip-0007.

Application Layer Responsible for handling application level state transitions and defining corresponding messages. Comparable to the Application Layer of the internet stack. Our sole initial application will be the implementation of the travel rule as described in Sections 6.4-6.8 of the original Whitepaper.

4. Motivation

We desire to provide a framework for clearer communication and provide a basis for reasoning about protocol changes. This should encourage discussions to be made on specific parts of the protocol.

5. Backwards Compatibility

There are no protocol changes described in this OVIP. It merely provides a framework of reasoning about already existing and future proposals.

Whisper/Waku Comment

This OVIP is only superseded by OVIP-0016 in terms of terminology. All consequences of this ovip hold true by replacing the word "Whisper" with the word "Waku".