Dans le cadre du M2 MFCA de l'Université de Lille, il nous a été demandé de soumettre une question technique à ChatGPT, puis d'analyser sa réponse de façon critique. Voici mon travail sur le caractère "publique" d'une blockchain en fonction de la couche.
Mon prompt ChatGPT :
Tu es un expert en architecture des systèmes blockchain. Je suis étudiant en master de maths appliquées à la finance et je travaille sur la classification des blockchains. Réponds de manière structurée et précise à la question suivante : « En te basant sur le modèle architectural à cinq couches des systèmes blockchain, explique les différents sens que peut avoir le qualificatif "publique" pour une blockchain. »
Le modèle à cinq couches que j'utilise dans mon cours est le suivant, dans l'ordre :
- Couche Utilisateur : expérience utilisateur, wallets, apps mobiles et desktop
- Couche Applicative : architecture de services, smart contracts
- Couche Consensus : gouvernance et mechanism design (PoW, PoA, PoS, DPoS…)
- Couche Données : cohérence sémantique, copies distribuées chez chaque participant
- Couche Infrastructure : hébergement physique et cloud, indépendance vis-à-vis des fournisseurs
Pour chaque couche, explique ce que signifie concrètement qu'une blockchain soit "publique" à ce niveau. Montre que le qualificatif "publique" n'a pas le même sens selon la couche considérée, et qu'une blockchain peut être publique sur certaines couches et privée sur d'autres.
La réponse de ChatGPT :
Introduction : une blockchain « publique » ne l’est pas forcément dans tous les sens
Dire qu’une blockchain est publique peut vouloir dire plusieurs choses différentes. Le terme peut désigner :
- un accès ouvert aux utilisateurs ;
- des applications accessibles publiquement ;
- une participation ouverte au consensus ;
- des données visibles et répliquées ;
- une infrastructure indépendante et distribuée.
Autrement dit, une blockchain peut être publique à une couche et privée ou contrôlée à une autre. C’est pour cela qu’il faut analyser le caractère public couche par couche.
1. Couche Utilisateur : public = accès ouvert aux utilisateurs
Sens du mot « publique » à cette couche
Au niveau de la couche utilisateur, une blockchain est publique si n’importe quel utilisateur peut y accéder librement, généralement grâce à :
- un wallet ;
- une application mobile ;
- une interface web ;
- une application desktop ;
- une API ouverte.
Concrètement, cela signifie qu’un individu peut créer une adresse, consulter son solde, envoyer une transaction ou interagir avec des services sans autorisation préalable.
Exemple concret
Sur Ethereum ou Bitcoin, n’importe qui peut installer un wallet comme MetaMask, Rabby, Ledger Live ou BlueWallet et commencer à utiliser le réseau.
Ici, « publique » signifie donc :
ouverte à l’usage par le grand public.
Limite importante
Une blockchain peut être publique pour les utilisateurs, mais avec une expérience d’accès contrôlée par des intermédiaires privés.
Par exemple, un utilisateur peut accéder à une blockchain publique uniquement via :
- une plateforme centralisée ;
- une application propriétaire ;
- un fournisseur de wallet ;
- une interface privée.
Dans ce cas, le protocole peut être public, mais l’accès utilisateur est partiellement privatisé.
2. Couche Applicative : public = applications et smart contracts accessibles
Sens du mot « publique » à cette couche
Au niveau de la couche applicative, une blockchain est publique si les applications, services ou smart contracts déployés dessus sont accessibles publiquement.
Cela peut signifier que :
- les smart contracts peuvent être appelés par n’importe qui ;
- le code du smart contract est visible ;
- les services décentralisés sont ouverts ;
- les développeurs peuvent déployer librement de nouvelles applications.
Exemple concret
Sur Ethereum, de nombreux smart contracts sont publics : un utilisateur peut interagir avec Uniswap, Aave ou d’autres protocoles DeFi sans demander l’autorisation à une autorité centrale.
Ici, « publique » signifie donc :
ouverte au développement et à l’utilisation d’applications décentralisées.
Limite importante
Une blockchain peut avoir une couche consensus publique, mais une couche applicative privée.
Par exemple, une entreprise peut utiliser une blockchain publique pour enregistrer certaines preuves, tout en gardant son application métier fermée, avec accès réservé à ses clients ou partenaires.
Inversement, une application peut être publiquement visible, mais son interface principale peut être contrôlée par une entreprise privée.
3. Couche Consensus : public = participation ouverte à la validation
Sens du mot « publique » à cette couche
Au niveau de la couche consensus, une blockchain est publique si la participation au mécanisme de validation est ouverte.
Cela signifie que les acteurs du réseau peuvent, en principe, participer à la production ou validation des blocs selon les règles du protocole.
Selon le mécanisme utilisé, cela peut prendre plusieurs formes :
- en Proof of Work, tout acteur disposant de puissance de calcul peut miner ;
- en Proof of Stake, tout acteur possédant suffisamment de tokens peut devenir validateur ;
- en Delegated Proof of Stake, les détenteurs de tokens peuvent voter pour des validateurs ;
- en Proof of Authority, la validation est souvent réservée à des acteurs autorisés.
Exemple concret
Bitcoin est public au niveau du consensus parce que n’importe quel acteur peut, en théorie, devenir mineur. Ethereum est également public au niveau du consensus, car tout acteur possédant la quantité nécessaire d’ETH peut devenir validateur.
Ici, « publique » signifie donc :
ouverte à la participation au mécanisme de sécurité et de validation.
Limite importante
Le fait qu’un consensus soit techniquement ouvert ne signifie pas qu’il soit réellement accessible à tous.
Par exemple :
- le minage Bitcoin nécessite beaucoup de matériel spécialisé ;
- le staking Ethereum demande un capital minimum ou le passage par des pools ;
- certains réseaux affichent une gouvernance ouverte mais sont dominés par quelques grands acteurs.
Donc une blockchain peut être publique juridiquement ou techniquement, mais concentrée économiquement.
4. Couche Données : public = données visibles, vérifiables et répliquées
Sens du mot « publique » à cette couche
Au niveau de la couche données, une blockchain est publique si les données inscrites dans la chaîne sont :
- consultables par tous ;
- vérifiables par tous ;
- répliquées sur de nombreux nœuds ;
- cohérentes entre les participants.
Cela signifie que chacun peut vérifier l’historique des blocs, des transactions et des états du registre.
Exemple concret
Sur Bitcoin, n’importe qui peut consulter l’historique des transactions. Sur Ethereum, n’importe qui peut consulter les transactions, les soldes, les smart contracts et les événements via un explorateur comme Etherscan ou via son propre nœud.
Ici, « publique » signifie donc :
transparente, auditable et vérifiable par tous.
Limite importante
Des données publiques ne veulent pas forcément dire des identités publiques.
Dans beaucoup de blockchains, les adresses sont visibles, mais les personnes derrière les adresses ne sont pas directement identifiées. On parle donc plutôt de pseudonymat que d’anonymat total.
Autre limite : certaines blockchains peuvent être publiques au niveau du consensus, mais ne pas rendre toutes les données visibles. C’est le cas de certaines solutions utilisant des preuves cryptographiques, des canaux privés ou des mécanismes de confidentialité.
5. Couche Infrastructure : public = infrastructure distribuée et indépendante
Sens du mot « publique » à cette couche
Au niveau de la couche infrastructure, une blockchain est publique si son hébergement et son fonctionnement technique ne dépendent pas d’un acteur unique.
Cela signifie que :
- les nœuds peuvent être hébergés par des acteurs différents ;
- l’infrastructure est géographiquement distribuée ;
- le réseau ne dépend pas entièrement d’un seul cloud ;
- aucun fournisseur unique, comme AWS, Azure ou IBM, ne contrôle le fonctionnement du système.
Exemple concret
Bitcoin est public au niveau infrastructurel dans la mesure où ses nœuds sont répartis dans de nombreux pays, sur des machines appartenant à des acteurs différents.
Ici, « publique » signifie donc :
distribuée, ouverte à l’hébergement par différents acteurs et indépendante d’un fournisseur central.
Limite importante
Une blockchain peut être publique au niveau du protocole, mais dépendre fortement d’infrastructures privées.
Par exemple, si une grande partie des nœuds, validateurs ou interfaces RPC sont hébergés chez quelques fournisseurs cloud, alors l’infrastructure est moins décentralisée qu’elle ne le paraît.
Dans ce cas, la blockchain est publique au niveau des règles, mais partiellement privée ou centralisée au niveau de l’hébergement.
Tableau récapitulatif
| Couche | Sens de "publique" | Question centrale |
|---|---|---|
| Utilisateur | Accès ouvert aux wallets et interfaces | Qui peut utiliser la blockchain ? |
| Applicative | Smart contracts et services accessibles | Qui peut développer ou interagir avec les applications ? |
| Consensus | Participation ouverte à la validation | Qui peut produire ou valider les blocs ? |
| Données | Données visibles, vérifiables et répliquées | Qui peut lire et auditer le registre ? |
| Infrastructure | Hébergement distribué et indépendant | Qui contrôle les machines et les serveurs ? |
Idée essentielle : le caractère public est multidimensionnel
Le qualificatif publique n’a donc pas un seul sens. Il dépend de la couche étudiée.
Une blockchain peut être :
- publique pour les utilisateurs, mais privée au niveau applicatif ;
- publique dans ses données, mais fermée dans son consensus ;
- publique dans son consensus, mais dépendante d’infrastructures cloud privées ;
- publique dans son protocole, mais utilisée via des interfaces centralisées ;
- publique dans la consultation, mais réservée dans l’écriture ou la validation.
Par exemple, une blockchain peut permettre à tout le monde de lire les données, mais réserver la validation à quelques acteurs autorisés. Dans ce cas, elle est publique au niveau des données, mais privée au niveau du consensus.
Inversement, une blockchain peut avoir un consensus ouvert, mais certaines applications déployées dessus peuvent être fermées ou réservées à certains utilisateurs.
Conclusion
Dire qu’une blockchain est publique ne suffit pas à la classer précisément. Il faut toujours demander : publique à quel niveau ?
Dans le modèle architectural à cinq couches, le mot « publique » peut signifier :
- accessible à tous dans la couche utilisateur ;
- ouverte aux applications dans la couche applicative ;
- ouverte à la validation dans la couche consensus ;
- transparente et vérifiable dans la couche données ;
- distribuée et indépendante dans la couche infrastructure.
Ainsi, une blockchain n’est pas simplement publique ou privée de manière globale. Elle peut être hybride, c’est-à-dire publique sur certaines couches et privée sur d’autres. C’est précisément cette analyse par couches qui permet de classifier correctement les systèmes blockchain.
Mon analyse critique de la réponse de ChatGPT
Ce que ChatGPT a bien fait
La réponse de ChatGPT m'a plutôt surpris sur la forme : elle est exhaustive, bien structurée, et le tableau récapitulatif à la fin est une vraie valeur ajoutée. L'idée centrale que "publique" est un qualificatif multidimensionnel qui doit être analysé couche par couche est exactement la bonne, et ChatGPT la défend avec cohérence du début à la fin. Je suis pleinement en accord avec cette lecture.
Les "limites importantes" ajoutées à chaque couche sont également une bonne surprise : ChatGPT ne s'est pas contenté de définir ce que "publique" signifie à chaque niveau, il a aussi montré que la réalité peut dévier de la théorie. C'est ce qu'on attend d'une analyse approfondie.
Ce qui est incomplet ou approximatif
Mon premier désaccord porte sur la couche infrastructure. ChatGPT explique qu'une blockchain est publique à ce niveau si elle ne dépend pas d'un acteur unique, ce qui est juste. Mais il manque une précision importante : l'infrastructure ne doit pas dépendre d'un fournisseur. Ce n'est pas seulement une question de distribution géographique, c'est une question de souveraineté technique. Une blockchain dont 60 % des nœuds tournent sur AWS reste techniquement "distribuée" mais est vulnérable à une décision unilatérale d'Amazon. ChatGPT effleure ce point dans sa limite, mais sans en tirer la conclusion qui s'impose : le caractère public de l'infrastructure se mesure aussi à la résilience face à une défaillance d'un fournisseur dominant.
Mon deuxième point concerne la couche consensus. ChatGPT mentionne que le Proof of Authority réserve la validation à des acteurs autorisés, ce qui est correct. Mais il aurait été intéressant d'aller plus loin : le Proof of Authority est précisément l'exemple type d'un consensus privé sur une blockchain qui peut être publique sur d'autres couches. Cette configuration hybride aurait mérité un exemple concret, pas seulement une mention abstraite.
Ce que ChatGPT n'a pas "vu"
Le point le plus fin que la réponse rate complètement, c'est la dimension juridique et réglementaire du caractère public. Dans le contexte réglementaire actuel, notamment avec MiCA en Europe, la distinction public/privé ne se joue pas seulement au niveau technique. Une blockchain "publique" au sens réglementaire est une blockchain sans entité responsable identifiable, ce qui a des conséquences directes sur la qualification des tokens et la responsabilité des émetteurs. Cette dimension est totalement absente de la réponse de ChatGPT.
En résumé
La réponse de ChatGPT est structurée, fidèle au cadre demandé, et avec un vrai effort d'analyse. Mais elle reste dans le registre de la description technique, sans jamais basculer vers les enjeux économiques, juridiques ou stratégiques que la question appelle implicitement.