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/