Subjectivité dans les oracles

(Tellor Core) (15 décembre 2020)

Subjectivité, ambiguïté et oracles décentralisés

En un instant, des piratages de protocoles financiers ou des malentendus sur le fonctionnement interne dun contrat financier peuvent entraîner dénormes pertes avec souvent peu de recours . Quil sagisse de produits financiers traditionnels qui se sont réglés au LIBOR, de traders qui ont vu le brut devenir négatif pour la première fois de lhistoire cette année [1], ou dun contrat sur dérivés qui liquide des hedgers sans méfiance, le prix de règlement ou la manipulation doracle est une chose depuis bien avant Vitalik et les prêts flash.

La structure de votre oracle et les données que vous récupérez sont des spécifications cruciales lors de la création dun produit financier robuste. La question apparemment simple de «quel prix utilisez-vous?» est tout sauf. La nuance impliquée dans la sélection de la définition correcte de ce quest la vérité en ce qui concerne votre entrée a des implications de sécurité qui affecteront tous les aspects de votre produit.

Loracle non-problem

Lorsque vous placez un prix de règlement sur une blockchain, vous avez deux composants:

– Comment obtenir it on-chain

– Que faut-il avoir sur la chaîne

Vous voyez, les oracles ne sont pas aussi strictement définis que les blockchains. Au contraire, les oracles relatifs aux informations hors chaîne sont une décision sociale sur un état non lié au consensus de la blockchain. Pour décompresser ceci:

a) La vérité est subjective. Ce sur quoi un groupe de personnes est daccord (dans un contexte purement numérique) est la vérité. La façon dont nous arrivons à cette vérité est une manière codifiée de parvenir à un «consensus social» (la vérité subjective et convenue).

b) La couche 1 est le consensus social.

c) La couche 1 le consensus est uniquement sur un ensemble très spécifique dopcodes et dactions.

d) Toutes les actions sur la chaîne doivent être soit codifiées dans les instructions de la couche 1, soit avoir leur propre consensus social (par exemple, un contrat avec une clé dadministration est une forme spécifiée de gouvernance autoritaire)

e) Les oracles placent des données en chaîne dont la validité nest pas gérée par le mécanisme de consensus de couche 1. Par conséquent, les oracles doivent également avoir un élément humain, social ou consensuel.

Les oracles représentent un problème intéressant car ils essaient de fournir des informations relatives à loccurrence dun événement ou à létat dun système qui nest pas natif à la chaîne elle-même. Alors quun mécanisme de consensus de couche 1 est strictement défini avec certaines opérations et points de discorde, les systèmes oracle cherchent à étendre les capacités de la chaîne à des informations arbitraires non approuvées par les validateurs de base. Le cas dutilisation le plus courant concerne actuellement la tarification des crypto-monnaies sur les échanges centralisés, suivie des événements se produisant sur dautres blockchains (blockheaders, disponibilité des données, etc.). Bien quil puisse sembler simple de dire ce qui sest passé ou quel est létat dun événement extérieur, la vérité est que la réalité peut être plus subjective que ce que les partisans de solutions codifiées aimeraient admettre.

Quest-ce quun prix?

Lorsque les protocoles choisissent un oracle, ils choisissent le mécanisme de consensus social pour déterminer lexactitude de une entrée. Pour une conception doracle donnée, vous avez non seulement des opinions différentes sur la façon de valider une entrée donnée, mais vous avez des opinions différentes sur ce que cette entrée est même.

Il y a une différence entre le prix du Bitcoin, le prix du Bitcoin sur Coinbase, le prix du Bitcoin selon lAPI de Coinbase et le prix auquel je peux actuellement acheter un Bitcoin entier sur Coinbase.

Les définitions comptent.

Le choix de lentrée (le flux de prix dans ce cas) détermine sur quoi vos validateurs baseront la précision. Tellor a un (excellent article sur les prix de règlement), mais cest un problème qui ne se limite pas au defi ou à la blockchain, et possède une solide littérature de bonnes pratiques.

De nombreuses solutions oracle sont simplement une technologie qui sempare une API ou travaille pour apporter en toute confiance des informations à partir de cette API en chaîne. Cest un excellent outil pour les constructeurs ou les MVP, mais ce nest pas une solution oracle complète.

Si vous supposez que le prix de lAPI est toujours correct, vous faites entièrement confiance à lopérateur de ce flux de prix. La manipulabilité de ces prix ou la résistance à lhonnêteté / à la censure de lAPI de la bourse devraient être de sérieuses préoccupations pour tout projet. La vérité est que la transparence de la boîte à outils « lire directement à partir dune API » est également une perte.

La sécurité de linconnu

Connaître les règles du jeu est important, mais il y a toujours des conséquences imprévues lorsque des systèmes complexes tentent de cartographier chaque scénario potentiel. Comme tout développeur dont le logiciel a échoué en production peut en attester, le code est difficile à obtenir correctement.

Mais ce nest pas seulement du code, ce sont les lois et règlements en général.

Cest un problème de gouvernance. Si vous essayez décrire ce qui se passe dans chaque cas, vous amenez les gens à trouver des échappatoires et des moyens de contourner la loi. Cest pourquoi nous avons des juges et des jurys dans le monde réel qui proposent des sanctions personnalisées sur des décisions nuancées. Des règles spécifiques pour chaque situation sont impossibles et la manière dont nous traduisons ce principe dans lunivers numérique est difficile.

La formalisation du protocole est lidée que le code ne nécessite aucune intervention humaine et ne change pas. Cependant, comme nous le savons par expérience, cela conduit à une rigidité, à des cas extrêmes imprévus et souvent à un abandon du protocole car le récit autour de son cas dutilisation peut devoir changer si le code ne le fait pas. La capacité dune communauté à répondre à des problèmes non spécifiés qui peuvent survenir est essentielle pour quun système puisse réellement résoudre un problème au fil du temps. Comment une communauté fait cela, cest là que le consensus social émerge.

Cela revient aux principes de la blockchain. Est-ce que la blockchain «le code est la loi» ou est-ce un «consensus communautaire». Est-ce un moyen pour les communautés de sentendre sur la vérité ou un morceau de code insensé qui fonctionne un peu comme le ferait une calculatrice?

Manipulation dOracle

Si vous connaissez les règles et pouvez jouer au système sans punition, alors les règles seront enfreintes. Bien que la transparence soit souhaitée, lexactitude en ce qui concerne la dérivation des données est en fait un bogue dans ce scénario.

Lidée que les spécifications légalistes ne sont pas nécessaires est quelque chose de plus pris pour acquis. Même si cela n’est pas spécifié dans votre contrat de location, si le toit est emporté par un ouragan, votre propriétaire est responsable de le réparer en temps opportun. Les sociétés ont des lois empêchant des choses très générales (par exemple, conduite imprudente, conduite désordonnée, etc.); nous n’exigeons pas d’instruction if / else pour chaque scénario. Si une personne en qui nous avons confiance (par exemple un policier) vous voit faire quelque chose de stupide, elle peut y mettre un terme. Vous n’avez pas besoin d’écrire dans la loi que tirer une arbalète en conduisant un monocycle est illégal; nous avons des moyens dutiliser simplement le bon sens.

Les contrats intelligents fonctionnent différemment cependant. Les parties qui utilisent un oracle trop spécifique (le signataire unique de lAPI ou même le prix Uniswap), sont soumises à un risque de manipulation plus élevé. Nous avons vu plusieurs hacks se produire où loracle apporte correctement les données sur la chaîne, mais il y a des conséquences imprévues concernant ce prix car il a été manipulé. La communauté dans ces cas na aucun recours. Vous êtes coincé avec ce que le code vous a donné et la plupart du temps, cela signifie que quelquun perd de largent. Obtenir un flux sans confiance ne vous dit pas quil est correct par rapport à un consensus déchanges ou à une communauté et il ne peut pas vous protéger si quelquun trouve même un moyen de faire monter le prix par rapport à cette source de données. [2]

Malgré les appels au «code comme loi» ou la douleur de travailler avec des communautés et dautres protocoles, vous ne voulez pas dun oracle qui soit simplement un morceau de code. De la même manière Ethereum ou Bitcoin fourchille / revient si le protocole de consensus est attaqué, un oracle complet devrait avoir de la flexibilité en cas dattaque. Vous pouvez avoir une forme daccord communautaire (ou un essai dans des cas très spécifiques) autour de ce qui est un bon prix. Si lAPI Coinbase tombe en panne, ne lutilisez pas. Si une nouvelle source de liquidité apparaît, assurez-vous de linclure. Ce n’est pas sorcier, mais c’est un processus manuel; celui qui prendra du temps à être correct, mais qui nest pas limité par sa propre portée.

Consensus social de la communauté Tellor

Tellor fournit un moyen de se mettre daccord sur la vérité. Loracle Tellor nest pas une technique cryptographique magique pour surveiller le monde extérieur et le relayer à Ethereum. Cest un réseau de participants individuels qui sont incités de manière crypto-économique à rapporter et à valider des données précises.

Il a été bien reconnu quil ny a pas de solution au «problème doracle», mais il sagit souvent de contourner les compromis difficiles quun projet doit faire lorsquil sagit de sélectionner correctement un flux de prix et les mécanismes de sécurité qui lentourent.

Si vous êtes un projet defi cherchant à utiliser uniquement des prix centralisés avec des coûts dattaque connus, vous mieux vaut sauter la partie consensuelle de la communauté du protocole et travailler pour permettre simplement aux échanges décrire le prix de votre contrat. Si, cependant, vous êtes un projet, ou en connaissez un, qui pourrait bénéficier dun oracle robuste et décentralisé, contactez-nous et nhésitez pas à donner www.tellor.io un coup doeil.

[1] https://www.bbc.com/news/business-52350082#:~:text=The\%20price\%20of\%20US \% 20oil, world\% 20have\% 20kept\% 20people\% 20 inside .

[2] https://news.bitcoin.com/100 -million-liquidated-on-defi-protocol-composé-suivant-oracle-exploit /