
Les listes blanches de blockchain sont l’un des principaux problèmes qui entraînent des problèmes d’évolutivité pour les projets à grande échelle tels que NFT. Cet article de blog vise à passer en revue les cas les plus courants dans la blockchain et les systèmes distribués en ce qui concerne la liste blanche, ainsi que certains problèmes difficiles dans chacun de ces domaines. Il fournira également des solutions sur la façon dont ces problèmes peuvent être surmontés.
Pour plus de clarté, il ne s’agit pas d’une liste exhaustive de tous les problèmes potentiels de la liste blanche, mais cela devrait donner une idée de l’étendue potentielle des solutions possibles à ces obstacles.
Le premier problème considéré est le rôle des vérificateurs en général. Cela peut être résolu par la théorie des jeux et l’économie de l’information. Le deuxième problème est l’honnêteté des vérificateurs, qui peut être approchée par des solutions cryptographiques telles que les ZK-SNARK. Le troisième problème est les attaques Sybil où un attaquant peut créer de nombreuses fausses identités et tromper le système. Cela pourrait être contré en utilisant une identification avec une preuve d’identité telle qu’une pièce d’identité émise par le gouvernement ou une source fiable comme WeChat.
Les listes blanches sont souvent utilisées pour filtrer les utilisateurs nuisibles ou les mauvais acteurs d’un système, cela peut être fait dans la blockchain en utilisant des systèmes de jalonnement comme Augur (REP).
La liste blanche est utilisée pour distribuer des ressources rares, dans la blockchain, cela peut être fait avec les solutions suivantes :
Trackers de ressources, par exemple Network Time Protocol (NTP) ou serveurs Tracker dans BitTorrent (DHT). Modèles incitatifs avec récompenses économiques, par exemple Filecoin (FIL). Des solutions d’allocation de ressources telles que Proof of Stake (POS) ou Delegated Proof of Stake (DPOS).
Concernant l’évolutivité de la blockchain, des listes blanches ont été mises en place à l’aide de différents protocoles de consensus pour construire des blockchains publiques comme Bitcoin et Ethereum ainsi que des chaînes privées telles que Hyperledger Fabric. Bitcoin utilise BIP (Bitcoin Improvement Proposal) 9 et Ethereum utilise BFT (Byzantine Fault Tolerance).
Dans le domaine des systèmes distribués, la crypto-économie a été utilisée pour résoudre le problème de la théorie des jeux. Au lieu d’avoir une autorité centralisée pour prendre des décisions pour la résistance à la censure, le vote basé sur la blockchain est proposé par Rong Chen et Vinay Gupta où chaque utilisateur peut voter par délégation.
Les listes blanches sont également utilisées dans la blockchain pour filtrer les utilisateurs malveillants d’un réseau public. Malheureusement, cela a un coût élevé en termes de sécurité ainsi que de convivialité en rendant plus difficile pour un acteur malveillant de contrôler un réseau avec un grand nombre d’utilisateurs. Une solution consiste à utiliser un mécanisme de consensus de preuve de participation sur le réseau public. Cela peut être accompli en créant un processus de frappe lors de la création de blocs qui permet à un acteur ou à un groupe de confiance de frapper de nouvelles pièces. Les blockchains telles que Cosmos et Tezos le permettent en déléguant la preuve de participation (DPOS). Les schémas de preuve de travail comme Bitcoin n’ont pas de problèmes de sécurité et de convivialité car ils ne nécessitent aucun acteur de confiance ayant plus de pouvoir sur le réseau.
Les machines virtuelles (VM) sont des machines transactionnelles qui sont des systèmes autonomes et s’exécutent au-dessus d’autres systèmes. Les machines virtuelles ont leur code, leurs données et leur environnement, mais elles ont leur propre comportement d’entrée/sortie et produiront une sortie lorsqu’on leur demandera de le faire. Les machines virtuelles peuvent être isolées du système principal et peuvent s’exécuter dans un bac à sable sans aucune application installée dessus. Les machines virtuelles sont une fonctionnalité de sécurité et de confidentialité pour de nombreuses organisations afin de permettre à l’apprentissage automatique, à l’IA et à l’apprentissage en profondeur d’avoir leurs calculs.
Cette idée de créer des blockchains qui sont des machines virtuelles est très intéressante car elle permet à la blockchain de fonctionner comme une technologie de couche 2. La blockchain peut fonctionner comme quelque chose comme un DVR (Digital Video Recorder) qui capture des événements tels que :
Données ou informations diffusées reçues par le système. Les données sont transmises par l’interface externe du contrat. Le code associé au contrat s’exécute lorsqu’un événement se produit et exécute la fonction sur ses structures de données internes, par exemple exécuter un appel API sur les données d’événement. L’état interne du contrat comprend les signatures cryptographiques et les signatures en sortie de transaction ou en entrée de transaction. La sortie du contrat contient des données signées.
La blockchain peut être utilisée pour stocker et transmettre ces informations dans le cadre d’un document ou capturées dans le cadre d’un journal d’audit. Il s’agit d’un cas d’utilisation courant des blockchains dans le secteur bancaire et financier.
En outre, il existe également une sécurité dans la confidentialité, comme la messagerie cryptée, les logiciels de navigation privée comme Tor, les portefeuilles de crypto-monnaie anonymes, l’usurpation d’adresse IP VPN et les systèmes de stockage cryptés pour assurer l’anonymat des activités commerciales sensibles. Les chaînes de blocs offrent également des améliorations de performances dans ces domaines en chiffrant les données localement au lieu de les envoyer sur le réseau.
La liste blanche est également utilisée pour la sécurité dans la mesure où elle peut être utilisée pour contrôler l’accès au réseau. Cela permet à la blockchain d’être utilisée comme un réseau privé à vos fins. Par exemple, on peut utiliser des autorisations sur des types de données comme les clés privées et publiques, définir une limite de transfert par utilisateur ou interdire aux utilisateurs d’entrer des noms afin que les étrangers ne puissent pas identifier un utilisateur.
La gestion des listes blanches n’en est qu’à ses balbutiements et il existe des solutions, cependant, elles sont assez coûteuses et étaient toutes des projets de recherche ou des situations bien particulières.
Une liste blanche de blockchain a été proposée par le MIT qui peut restreindre l’accès à la blockchain en fonction de freins et contrepoids. Par exemple, l’utilisateur peut être tenu d’exécuter une transaction signée pour obtenir l’autorisation avec chaque bloc.
Nous pouvons utiliser des « langages de programmation » sur la blockchain tels que le langage Solidity d’Ethereum pour gérer les autorisations des transactions pendant l’exécution, cela se fait en créant des scripts de contrat appelés contrats intelligents qui ont une logique pour vérifier les autorisations et déclencher des actions en fonction des conditions remplies par la blockchain.
Une autre proposition est la preuve d’autorité (PoA) qui est une solution à la preuve des systèmes basés sur le travail. Pour ce faire, une autorité ou un acteur de confiance met en place une autorité centrale qui peut effectuer et autoriser des transactions. Dans ce système, une personne ayant plus de pouvoir sur la blockchain aura la permission de décider qui peut être ajouté en tant qu’autorité. Cela conduit alors à des problèmes comme la collusion où certains acteurs peuvent se regrouper pour contrôler le processus de prise de décision. En tant que contre-mesure, PoA permet des processus où les acteurs sont choisis au hasard ou via une sorte de système de loterie, cependant, cela semble être très coûteux en termes de puissance de calcul requise par chaque nœud du réseau.
Un autre problème est que ce système nécessite un acteur de confiance pour maintenir le grand livre, cependant, ce n’est pas fiable et peut être manipulé par les acteurs eux-mêmes. De plus, le système peut rapidement tomber en panne en raison de l’obligation de faire confiance à une autorité centrale. Enfin, PoA a été publié sans tenir compte de son coût en termes de puissance de calcul nécessaire pour fonctionner. On pourrait faire valoir que certains tiers centralisés seraient plus appropriés en tant qu’acteurs de confiance car ils sont plus efficaces qu’un seul acteur ou nœud.
Entrez les autorités de certification (CA) qui sont créées par des entreprises privées qui contrôlent et gèrent la génération et la révocation des certificats par cryptage. Les certificats sont utilisés par les applications pour revendiquer des clés publiques qui correspondent à des certificats permettant d’accéder à différents systèmes ou réseaux. Les autorités de certification peuvent être tenues d’effectuer et d’autoriser des transactions pour d’autres acteurs tels que des parties confirmant une transaction ou vérifiant des certificats.
Le problème avec CA, cependant, est que leurs coûts de gestion peuvent devenir un fardeau pour eux pour gérer le système et leur sécurité doit être examinée en raison de leur histoire de mauvaise gestion. D’autre part, certaines AC sont gérées par des gouvernements qui peuvent choisir de révoquer ou d’empêcher de manière inattendue un acteur d’utiliser les AC qu’il crée. Les certificats dans ce cas n’auraient pas été vérifiés par les autorités et pourraient alors être considérés comme invalides.
En conclusion, de nombreux enjeux sont associés à l’ensemble de ces systèmes dont la gouvernance ainsi que la transparence des coûts de gestion en termes de puissance de calcul consommée. De plus, les systèmes peuvent être facilement piratés, corrompus ou corrompus et les données pourraient être manipulées pour donner à un acteur un accès non mérité.
De plus, aucune solution n’a été trouvée pour créer automatiquement des acteurs de confiance sur un système ouvert sans autorisation comme les blockchains. Pour créer une blockchain autorisée, vous devez faire confiance à un tiers pour maintenir le nombre d’acteurs et les privilèges d’accès.
On ne sait pas comment ce problème sera résolu, mais il est clair qu’il existe un besoin d’une sorte de solution lorsque nous examinons les chaînes de blocs autorisées, car il doit encore exister un acteur de confiance dans le système.
Un autre problème avec les chaînes de blocs autorisées est l’exigence que tous les acteurs soient connus à l’avance, ce qui les rend non évolutives. En effet, les acteurs doivent exécuter des contrats à l’avance, ce qui signifie que les systèmes sont limités au nombre d’acteurs et à leurs limites de transfert. Une façon de résoudre ce problème consiste à déléguer un nombre défini de transactions par personne, mais cela pose des problèmes en termes d’équité et de gouvernance quant à savoir qui peut déléguer sa participation dans une transaction.
À long terme, les chaînes de blocs autorisées pourraient conduire à davantage de systèmes autorisés à l’avenir, mais cela n’est pas connu pour le moment.
Pour résumer, l’autorisation sur les blockchains est un problème courant qui ne sera probablement pas résolu de sitôt. En plus de cela, il existe plusieurs limites à toute solution et on ne sait pas comment les gens s’y prendront pour les résoudre sans abandonner les systèmes ouverts tels que les blockchains. Cela pourrait signifier qu’il n’y aura peut-être jamais de système dans lequel tous les acteurs sont connus à l’avance.
Rejoignez Coinmonks Telegram Channel et Youtube Channel pour en savoir plus sur le trading et l’investissement cryptographiques