đŸ‡«đŸ‡· Le chemin d'Ouroboros vers sa dĂ©centralisation

Le protocole qui régit Cardano et sa philosophie de conception

Auteur : Prof Aggelos Kiayias
Le 23 Juin 2020, Traduction : @psychomb

La conception et le dĂ©ploiement d’un registre distribuĂ© est une tĂąche techniquement difficile. Ce que l’on attend d’un tel registre, c’est la promesse d’une vue cohĂ©rente de ce registre pour tous les participants, ainsi qu’une garantie de rĂ©activitĂ© face aux flux continus d’évĂ©nements provoquĂ©s par ces mĂȘmes participants. Ces deux propriĂ©tĂ©s, parfois appelĂ©es persistance et vivacitĂ©, sont la marque de fabrique des systĂšmes de registres distribuĂ©s.

Parvenir Ă  la persistance et Ă  la vivacitĂ© dans un systĂšme centralisĂ© est une chose bien Ă©tudiĂ©e et assez simple ; malheureusement, le registre qui en rĂ©sulte est particuliĂšrement fragile. En effet, le serveur qui le maintient est un point de dĂ©faillance unique. Par consĂ©quent, le piratage du serveur peut entraĂźner la violation instantanĂ©e de ces deux propriĂ©tĂ©s. MĂȘme si le serveur n’est pas piratĂ©, les intĂ©rĂȘts des opĂ©rateurs du serveur peuvent ne pas s’aligner avec l’assurance continue de ces propriĂ©tĂ©s. Pour cette raison, la dĂ©centralisation a Ă©tĂ© avancĂ©e comme un remĂšde essentiel.

De maniĂšre informelle, la dĂ©centralisation fait rĂ©fĂ©rence Ă  une architecture de systĂšme voulant que de nombreuses entitĂ©s agissent individuellement de telle sorte que les propriĂ©tĂ©s du registre Ă©mergent de la convergence de leurs actions. En Ă©change de cette complexitĂ© accrue, un systĂšme bien conçu peut continuer Ă  fonctionner mĂȘme si certaines parties s’écartent du droit chemin. En outre, en cas d’écarts plus importants, mĂȘme si une certaine perturbation est inĂ©vitable, le systĂšme devrait toujours ĂȘtre capable de revenir Ă  un fonctionnement normal et contenir les dĂ©gĂąts.

Comment concevoir un systĂšme dĂ©centralisĂ© robuste ? Le monde est un endroit compliquĂ© et la dĂ©centralisation n’est pas une caractĂ©ristique qui peut ĂȘtre codĂ©e en dur ou dĂ©montrĂ©e par des tests - les configurations potentielles qui pourraient se prĂ©senter sont infinies. Pour y remĂ©dier, il faut Ă©laborer des modĂšles qui englobent systĂ©matiquement toutes les diffĂ©rentes menaces auxquelles le systĂšme peut ĂȘtre confrontĂ© et dĂ©montrer rigoureusement que les deux propriĂ©tĂ©s fondamentales que sont la persistance et la vivacitĂ© sont maintenues.

Les arguments les plus forts en faveur de la fiabilitĂ© d’un systĂšme dĂ©centralisĂ© combinent des garanties formelles contre un large Ă©ventail de types de dĂ©faillances et d’attaques. La premiĂšre classe importante est celle des modĂšles byzantins. Dans ce cadre, il faut garantir que mĂȘme si un sous-ensemble de participants s’écarte arbitrairement des rĂšgles Ă©tablies, les deux propriĂ©tĂ©s fondamentales mentionnĂ©es plus haut sont conservĂ©es. La deuxiĂšme classe importante est celle des modĂšles de rationalitĂ©. Ici, les participants sont supposĂ©s ĂȘtre des agents rationnels et l’objectif est de montrer que les propriĂ©tĂ©s du registre dĂ©coulent de leurs efforts pour poursuivre leur propre intĂ©rĂȘt.

Ouroboros est un protocole de registre dĂ©centralisĂ© qui est analysĂ© dans le contexte d’un comportement Ă  la fois byzantin et rationnel. Ce qui rend le protocole unique est la combinaison des Ă©lĂ©ments de conception suivants.

  • Il utilise l’enjeu comme ressource fondamentale pour identifier l’influence des participants dans le systĂšme. Aucune ressource physique n’est gaspillĂ©e dans le processus de tenue du registre. Ce dernier s’avĂšre robuste malgrĂ© les attaques de “simulation sans coĂ»t” (“costless simulation”) et d’“enjeu nul” (“nothing at stake”) qui Ă©taient auparavant considĂ©rĂ©es comme des obstacles fondamentaux aux registres basĂ©s sur les enjeux. Cela rend Ouroboros nettement plus attrayant que les protocoles de preuve de travail, qui nĂ©cessitent une dĂ©pense Ă©nergĂ©tique colossale pour maintenir le consensus.
  • Il est prouvĂ© qu’il est rĂ©silient mĂȘme si des sous-ensembles arbitrairement importants de participants, en termes d’enjeu, s’abstiennent de participer. Cette garantie de disponibilitĂ© dynamique assure la vivacitĂ© mĂȘme en cas de niveaux d’engagement arbitraires et imprĂ©visibles. Dans le mĂȘme temps, parmi les participants actifs, Ă  peine plus de la moitiĂ© doivent suivre le protocole - les autres peuvent s’en Ă©carter arbitrairement ; en fait, mĂȘme des pics temporaires au-dessus du seuil de 50 % peuvent ĂȘtre tolĂ©rĂ©s. Ainsi, Ouroboros est nettement plus rĂ©sistant et capable que les protocoles byzantins classiques de tolĂ©rance aux erreurs (ainsi que toutes leurs adaptations modernes), qui doivent prĂ©dire avec une relative certitude le niveau de participation attendu et peuvent cesser de fonctionner lorsque la prĂ©diction est fausse.
  • Le processus d’adhĂ©sion et de participation Ă  l’exĂ©cution du protocole est sans confiance en ce sens qu’il ne nĂ©cessite pas la disponibilitĂ© d’une ressource partagĂ©e spĂ©ciale telle qu’un point de contrĂŽle rĂ©cent ou une horloge commune. Pour participer au protocole, il suffit de disposer du bloc de genĂšse public (genesis block) de la blockchain et d’un accĂšs au rĂ©seau. Cela libĂšre Ouroboros des hypothĂšses de confiance, communes Ă  d’autres protocoles de consensus et dont la sĂ©curitĂ© s’effondre lorsque des ressources partagĂ©es fiables sont dĂ©tournĂ©es ou indisponibles.
  • Ouroboros intĂšgre un mĂ©canisme de partage des rĂ©compenses pour inciter les participants Ă  s’organiser en nƓuds opĂ©rationnels, appelĂ©s groupes d’enjeu (stake pools), qui peuvent offrir une bonne qualitĂ© de service indĂ©pendamment de la maniĂšre dont les enjeux sont distribuĂ©s parmi la population d’utilisateurs. De cette maniĂšre, toutes les parties prenantes contribuent au fonctionnement du systĂšme - en garantissant la robustesse et la reprĂ©sentation dĂ©mocratique - tandis que le coĂ»t de la maintenance du registre est efficacement rĂ©parti parmi la population des utilisateurs. En mĂȘme temps, le mĂ©canisme s’accompagne de contre-mesures qui dĂ©sincitent Ă  la centralisation. Cela rend Ouroboros fondamentalement plus inclusif et dĂ©centralisĂ© par rapport Ă  d’autres protocoles qui, soit ne comptent qu’une poignĂ©e d’acteurs responsables de la maintenance du registre, soit n’incitent pas les parties prenantes Ă  participer et Ă  offrir une bonne qualitĂ© de service.

Ces Ă©lĂ©ments de conception d’Ouroboros ne sont pas juste des appels Ă©vidents au bon sens de l’utilisateur du protocole. Au contraire, ils ont Ă©tĂ© livrĂ©s avec une documentation mĂ©ticuleuse au sein d’articles qui ont Ă©tĂ© soumis Ă  un examen par les pairs et qui ont paru dans des confĂ©rences et des publications de haut niveau dans le domaine de la cybersĂ©curitĂ© et de la cryptographie. En effet, il est juste de dire qu’aucun autre effort de recherche sur les protocoles de consensus n’est reprĂ©sentĂ© de maniĂšre aussi complĂšte dans ces cercles. Chaque article est explicite sur le type spĂ©cifique de modĂšle utilisĂ© pour analyser le protocole et les rĂ©sultats obtenus sont prĂ©sentĂ©s en termes concrets. Les documents sont en accĂšs libre, sans brevet, et comprennent tous les dĂ©tails techniques permettant Ă  toute personne possĂ©dant l’expertise technique nĂ©cessaire de se convaincre de la vĂ©racitĂ© des affirmations faites sur les performances, la sĂ©curitĂ© et la fonctionnalitĂ©.

Construire une infrastructure inclusive, Ă©quitable et rĂ©siliente pour les applications financiĂšres et sociales Ă  l’échelle mondiale est le grand dĂ©fi des technologies de l’information aujourd’hui. Ouroboros contribue, non seulement en tant que protocole aux caractĂ©ristiques uniques, mais aussi en prĂ©sentant une mĂ©thodologie de conception qui se base sur des principes forts, une modĂ©lisation minutieuse et une analyse rigoureuse. Son architecture modulaire et adaptable se prĂȘte Ă©galement Ă  l’amĂ©lioration, l’adaptation et Ă  l’enrichissement continus grĂące Ă  des Ă©lĂ©ments supplĂ©mentaires (tels que la parallĂ©lisation pour amĂ©liorer l’évolutivitĂ© ou les preuves Ă  divulgation nulle - zero-knowledge proofs - pour amĂ©liorer la protection de la vie privĂ©e, pour ne citer que deux exemples), ce qui est une caractĂ©ristique adaptĂ©e pour rĂ©pondre aux besoins en constante Ă©volution et aux complexitĂ©s du monde rĂ©el.

Lecture complémentaire

Pour plonger dans le protocole Ouroboros (en anglais), depuis sa crĂ©ation jusqu’aux fonctionnalitĂ©s plus rĂ©centes, suivez ces liens :

1 Ouroboros (Classic): the first provably secure proof-of-stake blockchain protocol.

2 Ouroboros Praos: removes the need for a rigid round structure and improves resilience against ‘adaptive’ attackers.

3 Ouroboros Genesis: how to avoid the need for a recent checkpoint and prove the protocol is secure under dynamic availability for trustless joining and participating.

4 Ouroboros Chronos: removes the need for a common clock.

5 Reward sharing schemes for stake pools.

6 Account management and maximizing participation in stake pools.

7 Optimizing transaction throughput with proof-of-stake protocols.

8 Fast settlement using ledger combiners.

9 Ouroboros Crypsinous: a privacy-preserving proof-of-stake protocol.

10 Kachina: a unified security model for private smart contracts.

11 Hydra: an off-chain scalability architecture for high transaction throughput with low latency, and minimal storage per node.

Article original : https://iohk.io/en/blog/posts/2020/06/23/the-ouroboros-path-to-decentralization/

2 Likes