2/MVDS: Simplify

This commit is contained in:
Oskar Thoren 2021-03-29 16:18:18 +08:00
parent 79fc37551d
commit 2c22fa799c
No known key found for this signature in database
GPG Key ID: B2ECCFD3BC2EF77E
1 changed files with 7 additions and 35 deletions

View File

@ -1,31 +1,13 @@
---
title: Minimum Viable Data Synchronization
version: 1.0.0
status: Stable
authors: Oskar Thorén <oskar@status.im>, Dean Eigenmann <dean@status.im>
redirect_from:
- /mvds.html
slug: 2
title: 2/MVDS
name: Minimum Viable Data Synchronization
status: stable
editor: Oskar Thorén <oskar@status.im>
contributors:
- Dean Eigenmann <dean@status.im>
---
## Table of Contents
1. [Abstract](#abstract)
2. [Definitions](#definitions)
3. [Wire Protocol](#wire-protocol)
1. [Secure Transport](#secure-transport)
2. [Payloads](#payloads)
4. [Synchronization](#synchronization)
1. [State](#state)
2. [Flow](#flow)
3. [Retransmission](#retransmission)
5. [Formal Specification](#formal-specification)
6. [Changelog](#changelog)
7. [Acknowledgments](#acknowledgments)
8. [Copyright](#copyright)
9. [Footnotes](#footnotes)
## Abstract
In this specification, we describe a minimum viable protocol for data synchronization inspired by the Bramble Synchronization Protocol[^1]. This protocol is designed to ensure reliable messaging between peers across an unreliable peer-to-peer (P2P) network where they may be unreachable or unresponsive.
We present a reference implementation[^2] including a simulation to demonstrate its performance.
@ -151,16 +133,6 @@ The record of the type `Type` SHOULD be retransmitted every time `Send Epoch` is
MVDS has been formally specified using TLA+: <https://github.com/vacp2p/formalities/tree/master/MVDS>.
## Changelog
| Version | Comment |
| :----------------------------------------------------------------------------------------------------------------------------: | -------------------------------------------------------------------------------- |
| [1.0.0](https://github.com/vacp2p/specs/commit/bc7e75ebb2e45d2cbf6ab27352c113e666df37c8) | marked stable as it is in use. |
| [0.6.0](https://github.com/vacp2p/specs/commit/b6335947e09502ec399954002d983a709065a342#diff-a6dbd535bfcb545a64b1c95f6dc8f9f1) | Breaking change to update protocol buffer and field changes. |
| [0.5.2](https://github.com/vacp2p/specs/blob/0adddcdb8d7e71240c2df30d4ba40e49b4275011/mvds.md) | Breaking change to update protocol buffer and field changes. |
| [0.5.1](https://github.com/status-im/bigbrother-specs/blob/20e2659447dcb5123a105526eb26816307c3780c/data_sync/mvds.md) | Documentation updates: clarifications on spec, RFC-2119 and message identifiers. |
| [0.5.0](https://github.com/status-im/bigbrother-specs/blob/6d3d0771b46941791eabe9263f80cbaeaf3d1148/data_sync/mvds.md) | Initial Release |
## Acknowledgments
- Preston van Loon
- Greg Markou