Rédaction d'un whitepaper

Pour le moment, je pose les idées en français.

Je sais que sur presque chaque point, je vais devoir faire des recherches sur le forum ou dans le protocole. Quand j’en serai là, il sera bien temps de passer à l’anglais.

2 Likes

En tout cas n’hésite pas a me contacter si tu a des questions sur le protocole, on peut même se faire un mumble si tu veut :slight_smile:

1 Like

Qui dit “whitepaper” dit vouloir parler le langage de la communauté crypto selon les bonnes pratiques en vigueur, donc je dirais que oui le contexte doit être présenté mais aussi bien détailler la technique.

Un papier blanc se construit souvent tel que:

  • D’où on part
    • contexte
    • énoncer le(s) problème(s) à résoudre
    • parler d’autres projet similaire mais problématiques (notamment BTC, blockchain et surtout PoW energivore, )
  • Où on va
    • invariance, égalité spatio-temporelle, unité stable, ect…
    • égalité dans la création, relativité
    • identité sans tier de confiance
  • Comment
    • DU
    • toile de confiance
    • PoW personnalisée

my 2 cents :wink:

4 Likes

@matograine > Tiens, c’est marrant que tu parles de ça, je crois que j’en parlais justement avec @Martino aux RML.

Parce que c’est vrai que quand on regarde ce qu’il y a au-dessus de la ligne de flottaison de la plupart des projets qui se rapprochent le plus du nôtre, le whitepaper n’est jamais loin :

Bouton d’appel à l’action :

Premier lien du menu :

Deuxième lien du menu :

« Positioning Paper », dernier item du menu :

Le bouton « Learn how it’s free » :

redirige vers la page « FAQ » sur laquelle on trouve le lien vers le whitepaper :

Deuxième lien du repo :

Là non :

Là c’est plus le site en lui-même qui est le whitepaper :

@matograine > Du coup il faudra qu’on réfléchisse où caser le lien sur la nouvelle version du site (preview). Et peut-être qu’on réfléchisse à comment ton travail et le mien vont s’harmoniser.

7 Likes

Je peux également participer et le traduire en anglais. C’est clair que pour attirer des développeurs, c’est exactement ce qu’il nous faut.

4 Likes

Dans l’ordre d’urgence, je vais d’abord finaliser les tutos Cesium.

Concernant le whitepaper, je vais utiliser certains textes sous licence CC-by-SA, donc j’ai besoin de l’autorisation des auteurs pour les modifier et redistribuer sous une forme modifiée. Les auteurs seront évidemment cités dans le document final.

@cgeek (l’auteur n’est pas indiqué, donc je demande au propriétaire de duniter.org): puis-je utiliser et modifier, pour la rédaction du whitepaper, les textes :

@Inso : même question pour ce texte :

@elois : même question pour ce texte :

2 Likes

Yes, of course :slight_smile:

Tu as le droit, sans autorisation, de modifier et redistribuer un document qui est sous CC BY-SA, tant qu’il reste en CC BY-SA ou compatible et que les auteurs sont cités. (détails)

Puisque les documents à traduire sont plutôt longs, il serait pratique d’utiliser une plateforme de traduction collaborative, non ?

3 Likes

Keep It Stupid Simple. Les documents en question possèdent déjà tous une excellente traduction en anglais.

Il n’y a donc rien a traduire pour le moment. Il conviens d’abord d’écrire un plan organisé et de voir comment on compile l’existant, qu’est ce que l’on rajoute, car a mon avis il y aura des choses a rajouter.
Bref, le gros du boulot ce n’est pas de la traduction puisqu’on compile des ressources en anglais, le gros du boulot c’est de déterminer comment articuler tout ça :slight_smile:

4 Likes

@matograine voici les liens vers les versions anglaises de ces 3 articles :

1 Like

Ce qui serait idéal serait que le contenu de ce document soit au format markdown dans un dépôt git sur notre GitLab qui génère tous les formats souhaités (pdf, epub, html…) de la même manière que cet outil pour les CV.

4 Likes

Tu as commencé quelque chose @matograine ?

Comptes-tu faire ça sur un CodiMD ou sur le GitLab ?

J’ai commencé sur le GitLab.

J’ai mis @elois developpeur dessus, je vais mettre @jytou à sa demande. Demandez-moi si vous voulez que je vous inclue dans ce dépôt. Mais les MR, ça marche aussi.


  • format markdown : c’est prévu
  • génération automatique dans différents formats : je ne sais pas gérer la CI/CD. Si quelqu’un veut s’y pencher, tant mieux, sinon j’écris en MD et je publie en HTML, PDF et sans doute EPUB à la mano.
1 Like

Oui. De même pour tous les autres textes dont je suis l’auteur.

Bonjour,

J’ai un petit souci de compréhension sur la difficulté personnalisée source :

IssuersCount/Frame

C’est notamment le “5X” ou"5Y" blocs que je ne comprends pas :

if issuersCount increases by N -and with a maximum step of N = 1 - then issuersFrame will increase by one unit over a period of 5N blocks.

Si on a issuersFrame = 160, et qu’un nouveau membre crée un bloc, alors on a (choisir la bonne réponse):

  • A - issuersFrame = 161, et reste à 161 si les blocs suivants sont créés par des membres déjà connus ?
  • B - issuresFrame = 161, pour 5 blocs (et ensuite ? et que se passe-t-il si un membre entre au bloc suivant ?)
  • C - issuersFrame = 161, 162, 163, 164, 165 pour les 5 blocs suivants ?
  • Ğ - La réponse Ğ

Je comprends que c’est la réponse C, mais dans ce cas cette phrase est fausse:

Ce qui fait que si un nouvel auteur apparaît au bloc T et un autre disparaît à T+1, issuersFrame augmentera de 1 unité à T+1 puis diminuera de 1 unité à T+2, pour se stabiliser.

bloc evenement issuersFrame
T Babar writes a block 160
T+1 Céleste leaves issuersCount 160 + 1 = 161
T+2 N/a 161 +1 -1 = 161
T+3 N/a 161 +1 -1 = 161
T+4 N/a 161 +1 -1 = 161
T+5 N/a 161 +1 -1 = 161
T+6 N/a 161 -1 = 160

… J’ai bon ?


ExFact

Autre question, quelques lignes plus loin :

Je ne comprends pas cette ligne :

0.33*nbPreviousIssuers (0.67* 6 / (1 + 3)) < 2 whereas (.67 * 6 / (1 + 1)) = 2.01

Que vient faire “0.33*nbPreviousIssuers” ? Il n’a rien à voir avec l’explication, et ce que je comprends est également juste :

Take as an example nbPreviousIssuers = 6 and nbBlocksSince = 3:
(0.67* 6 / )1 + 3)) = 1.005 → exFact = 1
However, if the member computed a block one block ago (nbBlocksSince = 1):
(.67 * 6 / (1 + 1)) = 2.01 → exFact = 2


Merci à celleux qui pourront me répondre. Je n’en ai pas fini avec ce chapitre :wink:

1 Like

Oui c’est bien la réponse C et oui cette phrase porte a confusion, mais issuersFrame diminue bien de 1 unité a T+2, cette diminution st en effet compensée mais je ne voyais pas trop commet le formuler simplement, si tu a une proposition de reformulation qui reste claire et précise je suis preneur :slight_smile:

oui :smiley:

0,67 est en réalité un paramètre monétaire (percentRot) qui indique la proportion de membres calculant non-exclus du calcul a un instant T.
C’est pour cela que l’on dit qu’un tiers des membres calculant sont exclus à tout instant t. Cette exclusion étant justement assurée par le facteur d’exclusion exFact, l’objectif de ce passage est de montrer qu’un membre ne peut pas être exclus plus d’un tiers du “temps” de la fenêtre courante. Ce qui se traduit par le fait que son facteur d’exclusion doit valoir 1 si nbBlocksSince dépasse le tiers des membres calculant.

C’est moi qui aie écrit cet article, je pensais être rentré suffisamment dans le détail, je me rends compte avec tes remarques que certains détails n’ont pas été suffisamment précisés, merci de ta relecture, ça fait plaisir de voir quelqu’un essayer de vraiment comprendre mon article a fond, tu es le 2ᵉ après @thomasbromehead (le traducteur) :slight_smile:

2 Likes

Du coup je l’ai tourné comme ça (j’ai pas mal reformulé cet article, notamment pour faire des phrases plus courtes) :

extrait

… De toutes manières, le WP aura besoin d’une relecture attentive, sur le fond comme sur la forme.

2 Likes

Nickel, merci beaucoup :+1:

On continue.

Contrairement à de nombreux projets de cryptomonnaies, on a pas de frais de transaction. Les dispositifs anti-spam sont donc à justifier fortement, et c’est la partie que je dois écrire moi-même :wink:

J’ai retenu quelques mesures anti-spam de transactions, mais je n’en suis pas toujours très sûr et je ne sais pas toutes les sourcer / justifier. Je vous les soumet avant d’écrire des sottises, pouvez-vous me les confirmer/infirmer/sourcer si nécessaire ? En oublié-je ? Merci d’avance !

Limite basse des outputs à 100*unitbase

Ceci évite qu’un attaquant crée e trop nombreuses sources pour remplir les indexes. Prévu en DUBP v12.

chaînage maximal de 5 tx dans un bloc

On peut avoir une profondeur de chaînage des tx de 5 dans un même bloc au max. Ceci permet de bloquer un attaquant qui voudrait créer énormément de sources différentes et faire grossir la BC trop vite. (source, justification ?)

Seuils de dépense

Pour des montants d’un même ordre de grandeur, il y a une limite du nombre de montants dans un même bloc. Quelles sont les seuils limites, les ordres de grandeur, peuvent-ils évoluer ?

Ceci avait été proposé par @nanocryk, ça a été implémenté ?

Nombre de tx maximales pour un même portefeuille

Un même portefeuille a une limite dans le nombre de tx qu’il peut enregistrer dans un bloc (c’est un souvenir que j’ai, mais pas de source). Est-ce vrai ? Si oui, où puis-je trouver cette info ?

Taille dynamique des blocs (problématique de montée en charge)

BR_G07
BR_G50

La taille maximale d’un bloc (en octets) est max(500, 1.1*(moyenne des issuersFrame derniers blocs)), sauf pour le bloc 0. Ceci limite le nombre de transactions sur le réseau tout en autorisant une montée en charge progressive. Ceci suit une progression exponentielle.

1 Like

Tu peux y ajouter les mesures anti-spam des nœuds eux-mêmes qui bloquent très rapidement s’ils sont inondés de connexions. Bien sûr, cela n’empêche pas un petit malin d’avoir son propre nœud débridé auquel il soumettrait des millions de transactions… à essayer pour voir comment se comportent les autres nœuds dans ce cas-là…

PS : je pensais me coller à la rédaction, mais je suis un peu sous l’eau, là… :confused: