tables des matières update (doc)
This commit is contained in:
parent
634105d245
commit
fcc8d0db15
@ -1,7 +1,7 @@
|
||||
<!-- vscode-markdown-toc -->
|
||||
* 1. [Worfklows](#Worfklows)
|
||||
* 2. [Transverse](#Transverse)
|
||||
* 3. [3.3. Diagrammes d'architecture](#Diagrammesdarchitecture)
|
||||
* 3. [Diagrammes d'architecture](#Diagrammesdarchitecture)
|
||||
* 4. [Todo](#Todo)
|
||||
|
||||
<!-- vscode-markdown-toc-config
|
||||
@ -29,7 +29,7 @@
|
||||
* **Maintenance, environnement de déploiement**: [Specs-Deployment.md]
|
||||
* **References**: [Specs-References.md](Specs-References.md)
|
||||
|
||||
## 3. <a name='Diagrammesdarchitecture'></a>3.3. Diagrammes d'architecture
|
||||
## 3. <a name='Diagrammesdarchitecture'></a>Diagrammes d'architecture
|
||||
|
||||
* **Diagramme d'architecture montrant les composants principaux du système de login.**
|
||||
[SheatSheet 4NK](https://cryptpad.fr/diagram/#/2/diagram/view/3UG+7ccutUvJlwJ1-bR40RhgOA+rb5eEmw42wtkN19A)
|
||||
|
@ -4,43 +4,43 @@
|
||||
* 3. [3. Documents de référence](#Documentsderfrence)
|
||||
* 4. [## 4. Variable `SharedPeerList` du SDK (Wasm)](#4.VariableSharedPeerListduSDKWasm)
|
||||
* 5. [5. Structure du stockage en cache](#Structuredustockageencache)
|
||||
* 5.1. [5.1. Relais](#Relais)
|
||||
* 5.2. [5.2. Process](#Process)
|
||||
* 5.3. [5.3. Liste des hashs des messages reçus](#Listedeshashsdesmessagesreus)
|
||||
* 5.4. [5.4. Liste des sockets ouverts](#Listedessocketsouverts)
|
||||
* 5.1. [5.1. Relais](#Relais)
|
||||
* 5.2. [5.2. Process](#Process)
|
||||
* 5.3. [5.3. Liste des hashs des messages reçus](#Listedeshashsdesmessagesreus)
|
||||
* 5.4. [5.4. Liste des sockets ouverts](#Listedessocketsouverts)
|
||||
* 6. [6. Caractéristiques générales des messages de type `Message` et de type `MessageConnect`](#CaractristiquesgnralesdesmessagesdetypeMessageetdetypeMessageConnect)
|
||||
* 6.1. [6.1. SharedPeerList](#SharedPeerList)
|
||||
* 6.2. [6.2. SharedProcessList](#SharedProcessList)
|
||||
* 6.3. [6.3. Taille des données](#Tailledesdonnes)
|
||||
* 6.4. [6.4. Preuve de travail](#Preuvedetravail)
|
||||
* 6.5. [6.5. Adresse SP de faucet](#AdresseSPdefaucet)
|
||||
* 6.1. [6.1. SharedPeerList](#SharedPeerList)
|
||||
* 6.2. [6.2. SharedProcessList](#SharedProcessList)
|
||||
* 6.3. [6.3. Taille des données](#Tailledesdonnes)
|
||||
* 6.4. [6.4. Preuve de travail](#Preuvedetravail)
|
||||
* 6.5. [6.5. Adresse SP de faucet](#AdresseSPdefaucet)
|
||||
* 7. [7. Traitements par les clients](#Traitementsparlesclients)
|
||||
* 7.1. [7.1. Connexion d'un client à sa liste relais via les messages de type `MessageConnect`](#ConnexiondunclientsalisterelaisvialesmessagesdetypeMessageConnect)
|
||||
* 7.1.1. [7.1.1. Récupération et choix des relais](#Rcuprationetchoixdesrelais)
|
||||
* 7.1.2. [7.1.2. Envoi du message de type `MessageConnect` à chaque relais](#EnvoidumessagedetypeMessageConnectchaquerelais)
|
||||
* 7.2. [7.2. Envoi de `RequestPcd` sur les relais via les messages de type `Message`](#EnvoideRequestPcdsurlesrelaisvialesmessagesdetypeMessage)
|
||||
* 7.3. [7.3. Envoi de `RequestPrd` sur les relais via les messages de type `Message`](#EnvoideRequestPrdsurlesrelaisvialesmessagesdetypeMessage)
|
||||
* 7.4. [7.4. Traitement des messages de type `Message` par les clients](#TraitementdesmessagesdetypeMessageparlesclients)
|
||||
* 7.1. [7.1. Connexion d'un client à sa liste relais via les messages de type `MessageConnect`](#ConnexiondunclientsalisterelaisvialesmessagesdetypeMessageConnect)
|
||||
* 7.1.1. [7.1.1. Récupération et choix des relais](#Rcuprationetchoixdesrelais)
|
||||
* 7.1.2. [7.1.2. Envoi du message de type `MessageConnect` à chaque relais](#EnvoidumessagedetypeMessageConnectchaquerelais)
|
||||
* 7.2. [7.2. Envoi de `RequestPcd` sur les relais via les messages de type `Message`](#EnvoideRequestPcdsurlesrelaisvialesmessagesdetypeMessage)
|
||||
* 7.3. [7.3. Envoi de `RequestPrd` sur les relais via les messages de type `Message`](#EnvoideRequestPrdsurlesrelaisvialesmessagesdetypeMessage)
|
||||
* 7.4. [7.4. Traitement des messages de type `Message` par les clients](#TraitementdesmessagesdetypeMessageparlesclients)
|
||||
* 8. [8. Traitements par les relais](#Traitementsparlesrelais)
|
||||
* 8.1. [8.1. Traitement des messages de type `MessageConnect` par les relais](#TraitementdesmessagesdetypeMessageConnectparlesrelais)
|
||||
* 8.2. [8.2. Connexion au réseau de relais via les messages de type `MessageConnect` par les relais](#ConnexionaurseauderelaisvialesmessagesdetypeMessageConnectparlesrelais)
|
||||
* 8.1. [8.1. Traitement des messages de type `MessageConnect` par les relais](#TraitementdesmessagesdetypeMessageConnectparlesrelais)
|
||||
* 8.2. [8.2. Connexion au réseau de relais via les messages de type `MessageConnect` par les relais](#ConnexionaurseauderelaisvialesmessagesdetypeMessageConnectparlesrelais)
|
||||
* 9. [9. 9. Traitement des messages de type `Message` par les relais](#TraitementdesmessagesdetypeMessageparlesrelais)
|
||||
* 9.1. [9.1. Broadcast des messages de type `Message` vers les relais](#BroadcastdesmessagesdetypeMessageverslesrelais)
|
||||
* 9.2. [9.2. Broadcast des messages de type `Message` vers les clients connectés](#BroadcastdesmessagesdetypeMessageverslesclientsconnects)
|
||||
* 9.1. [9.1. Broadcast des messages de type `Message` vers les relais](#BroadcastdesmessagesdetypeMessageverslesrelais)
|
||||
* 9.2. [9.2. Broadcast des messages de type `Message` vers les clients connectés](#BroadcastdesmessagesdetypeMessageverslesclientsconnects)
|
||||
* 10. [10. Connexions aux réseaux de noeuds de bitcoin de réseaux side chain ou mainnet](#Connexionsauxrseauxdenoeudsdebitcoinderseauxsidechainoumainnet)
|
||||
* 10.1. [10.1. Protocole de Découverte des Pairs](#ProtocoledeDcouvertedesPairs)
|
||||
* 10.2. [10.2. Protocole de Transmission des Transactions](#ProtocoledeTransmissiondesTransactions)
|
||||
* 10.3. [10.3. Protocole de Partage des Blocs](#ProtocoledePartagedesBlocs)
|
||||
* 10.4. [10.4. Validation et relais](#Validationetrelais)
|
||||
* 10.5. [10.5. Gestion des Forks](#GestiondesForks)
|
||||
* 10.6. [10.6. Connexion au réseau de nœuds de side chain](#Connexionaurseaudenudsdesidechain)
|
||||
* 10.6.1. [10.6.1. Clients](#Clients)
|
||||
* 10.6.2. [10.6.2. Relais](#Relais-1)
|
||||
* 10.7. [10.7. Connexion au réseau de nœuds de layer 1](#Connexionaurseaudenudsdelayer1)
|
||||
* 10.8. [10.8. Horodatage et ancrage des `RequestPrd` via les transactions Silent Payment (SP)](#HorodatageetancragedesRequestPrdvialestransactionsSilentPaymentSP)
|
||||
* 10.1. [10.1. Protocole de Découverte des Pairs](#ProtocoledeDcouvertedesPairs)
|
||||
* 10.2. [10.2. Protocole de Transmission des Transactions](#ProtocoledeTransmissiondesTransactions)
|
||||
* 10.3. [10.3. Protocole de Partage des Blocs](#ProtocoledePartagedesBlocs)
|
||||
* 10.4. [10.4. Validation et relais](#Validationetrelais)
|
||||
* 10.5. [10.5. Gestion des Forks](#GestiondesForks)
|
||||
* 10.6. [10.6. Connexion au réseau de nœuds de side chain](#Connexionaurseaudenudsdesidechain)
|
||||
* 10.6.1. [10.6.1. Clients](#Clients)
|
||||
* 10.6.2. [10.6.2. Relais](#Relais-1)
|
||||
* 10.7. [10.7. Connexion au réseau de nœuds de layer 1](#Connexionaurseaudenudsdelayer1)
|
||||
* 10.8. [10.8. Horodatage et ancrage des `RequestPrd` via les transactions Silent Payment (SP)](#HorodatageetancragedesRequestPrdvialestransactionsSilentPaymentSP)
|
||||
* 11. [## 11. Transactions mainnet Bitcoin](#11.TransactionsmainnetBitcoin)
|
||||
* 11.1. [11.1. Horodatage et ancrage des blocs de la side chain sur Bitcoin](#HorodatageetancragedesblocsdelasidechainsurBitcoin)
|
||||
* 11.2. [11.2. Remboursement des frais d'horodatage et ancrage des blocs de la side chain sur Bitcoin](#RemboursementdesfraisdhorodatageetancragedesblocsdelasidechainsurBitcoin)
|
||||
* 11.1. [11.1. Horodatage et ancrage des blocs de la side chain sur Bitcoin](#HorodatageetancragedesblocsdelasidechainsurBitcoin)
|
||||
* 11.2. [11.2. Remboursement des frais d'horodatage et ancrage des blocs de la side chain sur Bitcoin](#RemboursementdesfraisdhorodatageetancragedesblocsdelasidechainsurBitcoin)
|
||||
* 12. [Exemples de Code](#ExemplesdeCode)
|
||||
* 13. [Todo](#Todo)
|
||||
|
||||
|
@ -3,37 +3,36 @@
|
||||
* 2. [Portée](#Porte)
|
||||
* 3. [3. Documents de référence](#Documentsderfrence)
|
||||
* 4. [Commun aux `RequestPcd` et RequestPrd](#CommunauxRequestPcdetRequestPrd)
|
||||
* 4.1. [Création et envoi](#Crationetenvoi)
|
||||
* 4.2. [Réception](#Rception)
|
||||
* 4.1. [Création et envoi](#Crationetenvoi)
|
||||
* 4.2. [Réception](#Rception)
|
||||
* 5. [Fonction des RequestPcd](#FonctiondesRequestPcd)
|
||||
* 5.1. [Création et envoi](#Crationetenvoi-1)
|
||||
* 5.2. [Réception](#Rception-1)
|
||||
* 5.1. [Création et envoi](#Crationetenvoi-1)
|
||||
* 5.2. [Réception](#Rception-1)
|
||||
* 6. [Fonction des RequestPrd](#FonctiondesRequestPrd)
|
||||
* 6.1. [Fonctionnalités optionnelles](#Fonctionnalitsoptionnelles)
|
||||
* 6.2. [Fonction des`transaction SP` associées aux RequestPrd](#FonctiondestransactionssilentpaymentSPassociesauxRequestPrd)
|
||||
* 6.3. [Création et envoi](#Crationetenvoi-1)
|
||||
* 6.4. [Réception](#Rception-1)
|
||||
* 6.1. [Fonctionnalités optionnelles](#Fonctionnalitsoptionnelles)
|
||||
* 6.2. [Création et envoi](#Crationetenvoi-1)
|
||||
* 6.3. [Réception](#Rception-1)
|
||||
* 7. [RequestPrdList - Demande de Listes ( RequestPcd)](#RequestPrdList-DemandedeListesRequestPcd)
|
||||
* 7.1. [Création et envoi](#Crationetenvoi-1)
|
||||
* 7.2. [Réception](#Rception-1)
|
||||
* 7.1. [Création et envoi](#Crationetenvoi-1)
|
||||
* 7.2. [Réception](#Rception-1)
|
||||
* 8. [RequestPrdMessage - Envoi de Messages](#RequestPrdMessage-EnvoideMessages)
|
||||
* 8.1. [Création et envoi](#Crationetenvoi-1)
|
||||
* 8.2. [Réception](#Rception-1)
|
||||
* 8.1. [Création et envoi](#Crationetenvoi-1)
|
||||
* 8.2. [Réception](#Rception-1)
|
||||
* 9. [RequestPrdUpdate - Mises à Jour de RequestPcd](#RequestPrdUpdate-MisesJourdeRequestPcd)
|
||||
* 9.1. [Création et envoi](#Crationetenvoi-1)
|
||||
* 9.2. [Réception](#Rception-1)
|
||||
* 9.1. [Création et envoi](#Crationetenvoi-1)
|
||||
* 9.2. [Réception](#Rception-1)
|
||||
* 10. [RequestPrdConfirm - Confirmation de Réception](#RequestPrdConfirm-ConfirmationdeRception)
|
||||
* 10.1. [Création et envoi](#Crationetenvoi-1)
|
||||
* 10.2. [Réception](#Rception-1)
|
||||
* 10.1. [Création et envoi](#Crationetenvoi-1)
|
||||
* 10.2. [Réception](#Rception-1)
|
||||
* 11. [RequestPrdResponse - Répondre à une Demande](#RequestPrdResponse-RpondreuneDemande)
|
||||
* 11.1. [Création et envoi](#Crationetenvoi-1)
|
||||
* 11.2. [Réception](#Rception-1)
|
||||
* 11.1. [Création et envoi](#Crationetenvoi-1)
|
||||
* 11.2. [Réception](#Rception-1)
|
||||
* 12. [RequestPrdKeyHelloBakcup](#RequestPrdKeyHelloBakcup)
|
||||
* 12.1. [Création et envoi](#Crationetenvoi-1)
|
||||
* 12.2. [Réception](#Rception-1)
|
||||
* 12.1. [Création et envoi](#Crationetenvoi-1)
|
||||
* 12.2. [Réception](#Rception-1)
|
||||
* 13. [RequestPrdKeyHello - Échange de Clés et d'Identités](#RequestPrdKeyHello-changedeClsetdIdentits)
|
||||
* 13.1. [Création et envoi](#Crationetenvoi-1)
|
||||
* 13.2. [Réception](#Rception-1)
|
||||
* 13.1. [Création et envoi](#Crationetenvoi-1)
|
||||
* 13.2. [Réception](#Rception-1)
|
||||
* 14. [Exemples de Code](#ExemplesdeCode)
|
||||
* 15. [Todo](#Todo)
|
||||
|
||||
@ -143,7 +142,7 @@ Les adresses et les roles sont précisés en cas d'utilisateurs ayant plusieurs
|
||||
|
||||
Tous les échanges sont complétés de l'empreinte du device de l'emetteur envoyée de façon confidentielle via `device_footprint_enc_by_shared_secret`.
|
||||
|
||||
### 6.3. <a name='Crationetenvoi-1'></a>Création et envoi
|
||||
### 6.2. <a name='Crationetenvoi-1'></a>Création et envoi
|
||||
|
||||
La création d'un `RequestPrd` suit plusieurs étapes :
|
||||
|
||||
@ -159,7 +158,7 @@ La création d'un `RequestPrd` suit plusieurs étapes :
|
||||
|
||||
Voir [Silent-Payment-Specs.md](Silent-Payment-Specs.md).
|
||||
|
||||
### 6.4. <a name='Rception-1'></a>Réception
|
||||
### 6.3. <a name='Rception-1'></a>Réception
|
||||
|
||||
La réception d'un `RequestPcd` suit plusieurs étapes :
|
||||
|
||||
|
@ -2,7 +2,11 @@
|
||||
* 1. [Objectif](#Objectif)
|
||||
* 2. [Portée](#Porte)
|
||||
* 3. [Documents de référence](#Documentsderfrence)
|
||||
* 4. [Structure des outputs](#Structuredesoutputs)
|
||||
* 4. [Fontion](#Fontion)
|
||||
* 5. [Structure des outputs](#Structuredesoutputs)
|
||||
* 6. [Envoi de la transaction SP](#EnvoidelatransactionSP)
|
||||
* 6.1. [Dans un `RequestPrdMessage`](#DansunRequestPrdMessage)
|
||||
* 6.2. [Dans un `Message` du `RequestPrdMessage`](#DansunMessageduRequestPrdMessage)
|
||||
|
||||
<!-- vscode-markdown-toc-config
|
||||
numbering=true
|
||||
@ -17,7 +21,7 @@
|
||||
|
||||
Voir [Doc_references.md](Doc_references.md).
|
||||
|
||||
## 4. <a name='Structuredesoutputs'></a> Fontion
|
||||
## 4. <a name='Fontion'></a> Fontion
|
||||
|
||||
La transaction SP à plusieurs objectifs :
|
||||
|
||||
@ -34,7 +38,7 @@ Les `RequestPrdConfirm` qui sont des accusés automatiques de réception des `Re
|
||||
|
||||
Il y a une `transactions SP` pour tous les types de `RequestPrd` sauf pour les `RequestPrdKeyBackup` et les `RequestPrdKeyMessage` ayant l'attribut `raw_transaction_list` non vide.
|
||||
|
||||
## 4. <a name='Structuredesoutputs'></a> Structure des outputs
|
||||
## 5. <a name='Structuredesoutputs'></a> Structure des outputs
|
||||
|
||||
Une fois le `RequestPrd` finalisé, une transaction SP est réalisée, dans cette transaction plusieurs hashs sont ajoutés sur un outputs aux index suivants:
|
||||
|
||||
@ -54,19 +58,19 @@ Une fois le `RequestPrd` finalisé, une transaction SP est réalisée, dans cett
|
||||
|
||||
Pour des raison de confidentialité, le role associé à l'`item_name` du `RequestPrd` peut définir (option) un salt pour la génération des hashs dans l'attribut `sp_output_salt_enc`.
|
||||
|
||||
## 5. Envoi de la transaction SP
|
||||
## 6. <a name='EnvoidelatransactionSP'></a>Envoi de la transaction SP
|
||||
|
||||
Afin d'améliorer la rélisience du broadcast des transactions, la transaction est envoyée à la fois :
|
||||
|
||||
1. Dans un `RequestPrdMessage` à un membre du rôle `member` du `ItemProcess` concerné et
|
||||
2. Dans le `Message` du `RequestPrdMessage` sur les relais
|
||||
|
||||
### Dans un `RequestPrdMessage`
|
||||
### 6.1. <a name='DansunRequestPrdMessage'></a>Dans un `RequestPrdMessage`
|
||||
|
||||
Dans l'attribut `raw_transaction_list` du `RequestPrdMessage` associé à la transaction SP.
|
||||
La transaction sera broadcastée par les noeuds de signet du membre du role `member` du `ItemProcess` concerné qui a reçu ce message, il devra alors avoir un noeud de signet pour le broadcast.
|
||||
|
||||
### Dans un `Message` du `RequestPrdMessage`
|
||||
### 6.2. <a name='DansunMessageduRequestPrdMessage'></a>Dans un `Message` du `RequestPrdMessage`
|
||||
|
||||
Dans l'attribut `raw_transaction_list` du `Message` associé à la transaction SP.
|
||||
La transaction sera broadcastée par les noeuds de signet des relais.
|
||||
|
Loading…
x
Reference in New Issue
Block a user