
Parfois, vous êtes étonné que seules les personnes puissent le faire «sur la blockchain». Depuis la mi-2017, je suis engagé dans des audits de sécurité de contrats intelligents et j'ai vu tout le monde. Dans une catégorie distincte, je distinguerais les «applications blockchain» qui semblent logiques et utiles, mais contiennent essentiellement un problème. Et promenez-vous de démarrage en démarrage avec elle. Ici, je vais considérer un certain nombre de ces exemples, décrire les problèmes et les solutions brisées. Après avoir lu ce texte, vous saurez avec quels problèmes vous devriez commencer si vous, en tant que développeur / client / investisseur, vous êtes proposé une telle «application blockchain».
Avertissements
- Je décris les cas d'utilisation et les problèmes qui surviennent lors de la première étape. Je ne dis pas que ces problèmes ne peuvent pas être résolus. Mais lorsque l'on considère un tel système, il vaut la peine de comprendre comment les créateurs proposent de résoudre le problème correspondant.
- L'expression «application blockchain» fait mal à l'œil. Néanmoins, ci-après, je l'écrirai sans guillemets, bien que jusqu'à présent je ne sois pas complètement sûr que d'autres applications de la blockchain soient possibles en dehors de l'argent, c'est-à-dire, à l'exception du Bitcoin.
1. Gestion de la chaîne d'approvisionnement
Commandons la livraison des marchandises et le transporteur s'engage à respecter les conditions de stockage le long de la route, par exemple, pour maintenir une température basse. La solution suivante est proposée: nous installons un capteur dans le camion, qui publie régulièrement la température au réfrigérateur dans la blockchain. Ainsi, vous pouvez retracer l'historique de la température et vous assurer que les conditions de stockage ont été respectées tout le long.
Le problème ici n'est pas dans la blockchain, mais dans le capteur. Étant donné que le capteur est situé dans le monde physique, qui n'est pas contrôlé par le code, mais par des personnes, le capteur est facilement dupe. Par exemple, ne mettez qu'un capteur dans un petit réfrigérateur et ne dépensez pas d'argent pour refroidir la charge.

Globalement, je dirais ce problème comme suit:
La blockchain n'est pas l'Internet des objets (IOT).
Nous aurons besoin de cette formulation plus d'une fois. La blockchain garantit l'immuabilité des données qui y sont entrées, mais ne peut garantir leur véracité. La seule exception est lorsque l'ensemble du système fonctionne en chaîne, c'est-à-dire lorsque la blockchain n'essaie pas de regarder dans le monde physique. Ensuite, toutes les informations nécessaires sont à l'intérieur de la blockchain, et le système peut vérifier l'exactitude des données: par exemple, l'adresse a suffisamment de fonds pour effectuer une transaction spécifique.
Les applications qui tentent de fournir des données à la blockchain de l'extérieur sont appelées oracles. À cet égard, je recommande l'article «Oracles, ou pourquoi les contrats intelligents n'ont-ils toujours pas changé le monde?» (Alexander Drygin) . Le problème d'Oracle n'est pas encore résolu. Et jusqu'à ce qu'une solution soit trouvée, les tentatives d'implémenter la gestion de la chaîne d'approvisionnement sur une blockchain comme l'exemple ci-dessus sont des tentatives d'inventer un avion avant l'invention du moteur.
J'ai pris un exemple avec un réfrigérateur de l'article «Avez-vous besoin de blockchain» (Karl Wüst, Arthur Gervais) . Je recommande l'article lui-même, et tout d'abord ce petit schéma:

2. Garantie d'authenticité du produit
Yuzkeys, fondamentalement pas différent du précédent. Mais comme il a l'air différent de l'extérieur et est proposé par d'autres personnes et avec une sauce différente, je considère qu'il est important de le considérer séparément.
Produisons des produits rares / chers - montres, vin, voitures - et nous voulons donner au client la possibilité de s'assurer que la copie qui lui est arrivée est bien faite dans notre usine. Nous attachons notre bouteille de vin à un jeton sur la blockchain, imprimons un code QR dessus. Chaque transfert de la bouteille, de l'usine au transporteur, puis au magasin et au client, est confirmé par une transaction sur la blockchain. Celui qui tient la bouteille dans ses mains peut se rendre sur le site et tracer son chemin depuis l'usine elle-même, s'assurant ainsi de son authenticité.
L'ensemble du système est brisé par un exploit aussi simple que des bottes en feutre: l'attaquant-vendeur copie complètement la bouteille, y verse le vin plus facilement et vend la copie avec le jeton au client, et l'original à celui qui n'est pas intéressé par le jeton, ou même le boit lui-même. Et pourquoi? Bien parce que
La blockchain n'est pas un IoT.
Une bouteille est un objet physique, ce qui signifie qu'avec une diligence raisonnable, contrairement à une signature numérique, elle peut être truquée.
3. L'authenticité d'un diplôme universitaire
Nous parlons ici de la vérité de la déclaration ("Petya est diplômée de l'Université d'État de Moscou"), et non de l'authenticité de l'objet physique. En fait, dans ce cas, nous parlons d'une signature numérique pour confirmer l'authenticité, plus un horodatage pour exclure la remise du diplôme rétroactivement.
La signature numérique (CPU) est excellente, certains considèrent même la cryptographie asymétrique comme la plus grande invention du 20e siècle. Mais ne le confondez pas avec la blockchain: le CPU existait et était bénéfique bien avant lui. Il est maintenant devenu populaire de vendre des signatures numériques sous le couvert d'une chaîne de blocs, alors soyez à l'affût - peut-être n'avez-vous besoin que d'un processeur.
L'horodatage est plus proche. Blockchain - c'est le moyen le plus fiable d'horodatage. Seulement ici, il n'est pas nécessaire de prendre de nouvelles décisions ici: il suffit de mettre un hachage de données sur la blockchain Bitcoin, il n'y a nulle part plus fiable et plus simple.
Est-ce une bonne idée de mettre un hachage d'un diplôme d'études supérieures sur la blockchain Bitcoin, en le signant avec les signatures numériques de plusieurs professeurs? Oui Il est alors important de ne pas gâcher ce système de manière centralisée de vérification, via le site Web ou l'application de l'université, par exemple, car il deviendra le maillon le plus faible.
4. Vote
En parlant de voter sur la blockchain, tout d'abord, nous devons comprendre quel problème nous voulons résoudre.
Faux voix / problème d'authentification. Pour ce faire, vous n'avez pas besoin d'une blockchain, mais d'une signature numérique. Et la principale difficulté ici est où trouver et comment stocker la clé privée. Je n'expliquerai pas pourquoi un système dans lequel la clé est générée et non sur l'appareil du propriétaire final est cassé par conception. Mais en plus de générer une clé sur votre appareil, il est important que le logiciel qui génère la clé soit open source et bien audité; le fer a été obtenu auprès d'une troisième source (l'option la plus simple est un smartphone); l'utilisateur a pu gérer la clé privée.
Les deux premiers problèmes peuvent être résolus par le développeur du système; le troisième est beaucoup plus compliqué. Peut-être que juste Bitcoin nous apprendra progressivement à gérer les clés: c'est une chose de perdre un mot de passe sur une page sur un réseau social ou même sur une voix, c'est une tout autre chose de perdre son propre argent.
Et oui, lier la clé publique à une personne spécifique, si cela est requis par notre vote, est encore une fois l'IoT.

Le problème de la publicité du dépouillement. À ces fins, en première approximation, les contrats intelligents sont à la Ethereum: tout le monde peut voir pour quel candidat le nombre de votes a été exprimé. Il est vrai que la publicité peut s'avérer un peu excessive: si nous voyons la voix impersonnelle de chaque personne, nous pouvons faire pression sur cette personne pour qu'elle vote comme nous en avons besoin. Vous pouvez créer un système pour que chaque voix spécifique ne soit visible par personne, sauf par son propriétaire. Mais la tâche est plus compliquée - de sorte que même le propriétaire lui-même n'a pas pu prouver qu'il a voté pour un candidat en particulier - n'a pas encore été résolu, ce qui signifie que la pression est possible.
UPD : des collègues disent que c'est résolu, et la solution s'appelle le cryptage non contraignant.
Et, encore une fois, la tâche de vérifier si des votes supplémentaires ont été émis à des personnes inexistantes est l'IoT.
5. Preuve de paternité
L'artiste A a peint un tableau et veut fixer sa paternité sur la blockchain. Il en prend des photos, met le hachage de la photo sur la blockchain et met la photo elle-même sur le blog. Après cela, l'artiste B , qui prétendra que le tableau a été réellement peint par B , notre artiste A présentera une photographie et un hash, prouvant ainsi qu'il a longtemps revendiqué la paternité.
Deux problèmes:
- L'artiste B peut dire qu'il ne connaissait pas la blockchain, il n'y a donc pas enregistré la paternité. Autrement dit, pour être bénéfique, une telle procédure doit être généralement acceptée.
- L'artiste B peut entrer dans l'atelier de l'artiste A , prendre une photo de l'image et mettre le hachage sur la blockchain plus tôt que l'artiste A.
Un exemple avec une image peut être étendu à tout autre travail, ces problèmes continueront. Parce que
La blockchain n'est pas un IoT.
En général, ce cas d'utilisation n'est pas dénué de sens. La principale caractéristique est qu'il y a suffisamment de blockchain Bitcoin, une nouvelle solution n'est pas nécessaire.
Remarque : je parle ici de preuve de paternité, et non de propriété intellectuelle, car je considère que son concept lui-même est intenable: «Contre la propriété intellectuelle» (Stephan Kinsella) .
6. Cadastre foncier
Il a également été proposé de lier la propriété foncière à des jetons sur la blockchain. Ici aussi, il y a au moins deux problèmes.
Actions du régulateur. Si une bouteille / montre / voiture peut en fait être transférée au P2P (de main en main), alors l'enregistrement de la propriété foncière est actuellement lié au régulateur. Le régulateur vous oblige à enregistrer des transactions pour le transfert de terrain de sa part et, contrairement au cas de l'horloge, il peut toujours utiliser la force en venant physiquement sur votre terrain. Le régulateur peut insister sur le transfert des terres, et que se passe-t-il alors avec le dossier sur la blockchain? S'il est écrit sur la blockchain que vous êtes propriétaire du terrain, ce ne sera pas vrai. Si le régulateur peut créer son propre enregistrement en réécrivant le vôtre, la blockchain ne fonctionne pas. Cela est particulièrement important compte tenu du fait que, dans un certain nombre de cas, il est proposé de se défendre contre les machinations du régulateur (ou de fonctionnaires spécifiques) utilisant la blockchain.

Centralisation du développement et du support. Qui développera un tel système et prendra en charge les nœuds? Si à nouveau le régulateur ou sa contrepartie, alors un tel système ne sera pas décentralisé. Un protocole décentralisé avec développement central est un protocole centralisé (salut, Ethereum!).
De plus, chaque fois qu'on nous propose une blockchain, il est logique de se poser une question:
Qu'est-ce que cela me donne?
Peut-on utiliser non pas une blockchain, mais une base de données distribuée?
Si nous le pouvons, cela n'a aucun sens d'utiliser la blockchain: cela fonctionnera plus lentement et nécessitera plus de ressources pour les mêmes tâches. De plus, les spécialistes du développement et de l'intégration de la base de données sont beaucoup plus faciles à trouver que les spécialistes de la blockchain. Ils coûteront beaucoup moins, mais il sera plus facile de vérifier le résultat du travail et d'entretenir le système.
Compte tenu des problèmes décrits ci-dessus, je tiendrai compte du fait que dans les réalités actuelles, une base de données distribuée pour le cadastre terrestre est préférable. Cela ne signifie cependant pas que vous n'avez pas besoin de travailler sur sa fiabilité et son ouverture - voir la section «Blockchain en tant qu'occasion».
Ce cas d'utilisation semble même avoir des implémentations en direct. Bitfury a annoncé le lancement d'un cadastre terrestre en Géorgie sur une blockchain basée sur le cadre d'Exonum , et s'apprête à faire de même en Ukraine et aux Maldives. Cependant, je n'ai trouvé aucun détail technique. Bien que l'affaire semble puissante, vantez-vous d'attirer de nouveaux clients.
7. Transferts interbancaires
Ce cas suit le modèle de «Avez-vous besoin de la blockchain». Il existe un ensemble de parties non fiables et aucun tiers de confiance. Le Bitcoin conviendrait ici, mais il est peu probable que les banques souhaitent rendre les règlements accessibles au public. Par conséquent, notre choix ici est une blockchain privée, seules les banques peuvent y écrire des données. Ils prennent en charge les nœuds et vérifient les transactions des autres participants au processus.
Un tel système diffère-t-il fonctionnellement d'une base de données distribuée avec contrôle d'accès? Uniquement en cas de désaccord entre les parties. Et ici, la question est de savoir si les banques reconnaissent la décision du système (le résultat d'un consensus) ou vont en justice pour la contester. Si le second est juridiquement possible (c'est-à-dire si les banques n'ont pas signé d'accord qu'elles prennent une décision inconditionnelle sur le système), alors l'idée est dénuée de sens.
En outre, étant donné que les banques dépendent actuellement du régulateur, le système perdra son sens si le régulateur interdit ou restreint son utilisation - par exemple, refuse d'accepter le résultat de son travail devant les tribunaux.
8. Jeton au nom du jeton
Oui, cela ne vous a pas paru, en 2019 j'écris sur les ICO. Pour confirmer la pertinence du sujet, je dirai que le 28 janvier dernier, BitTorrent a organisé une ICO réussie .
Par les mots «jeton au nom du jeton», j'entends la situation où une startup émet des jetons et déclare qu'elle donne aux propriétaires une part dans la société / une partie du bénéfice / l'option sur l'option. Le problème est que
La blockchain n'est pas un IoT.
La blockchain, contrairement à un investisseur en capital-risque ou à un régulateur, ne prendra pas une startup par un bouton et ne la fera pas fonctionner ni répondre aux investisseurs. Avoir une promesse sous forme de jeton n'oblige pas en soi les fondateurs de l'entreprise à faire tout ce que nous avons observé à plusieurs reprises lors du boom des ICO (Lambos, c'est tout). En ce sens, les ICO sont beaucoup plus proches du crowdfunding que les IPO.
Personnellement, je suis partisan des institutions décentralisées, pas des réglementations. Néanmoins, je dois admettre que jusqu'à présent, il n'y en a presque pas dans ce domaine. Il faut donc soit utiliser les outils existants, soit compter sur l'honnêteté des fondateurs de l'entreprise.
Ensuite, j'examinerai quelques cas d'utilisateurs qui pourraient fonctionner.
La blockchain comme occasion
Curieusement, même les applications blockchain inactives peuvent être bénéfiques. Par exemple, une société a un processus / système qui est obsolète depuis quelques décennies, et il est grand temps de le refaire en utilisant des modèles modernes. La direction conservatrice n'est peut-être pas prête à dépenser des ressources pour bien faire - mais elle est prête à investir dans l'innovation blockchain-bigdat-AyAi-AyOuTi afin d'être en avance sur le reste.

C'est alors que l'intrapreneur rusé (mais consciencieux!) Est entré en scène et, sous la sauce blockchain, a simplement proposé la bonne conception du système. Dans ce cas, la blockchain peut offrir certains avantages, elle peut ne pas être nécessaire, ou elle peut même n'exister que sur des diapositives.
Astuce : lorsque l'on vous propose une blockchain, assurez-vous de l'offrir. Mais même si ce n'est pas le cas, la proposition peut être sensée.
De l'argent
La blockchain pour l'argent s'intègre parfaitement - y compris parce qu'elle a été créée pour cela. Il conserve simplement les déclarations de la forme «le sujet A possédait la somme de X; le sujet A a transféré le montant X au sujet B; l'entité B possède le montant de X. " L'exactitude de ces déclarations peut être vérifiée à l'intérieur de la blockchain, car des déclarations similaires précédentes sont écrites dessus. Mais la question de l'origine des pièces de monnaie (exploitation minière) mérite un article séparé.
Simon Morris a écrit une série d'articles intitulée «Leçons BitTorrent pour Crypto» . Dans la deuxième partie de «Si vous ne violez pas les règles, vous le faites mal», il dit que la décentralisation est nécessaire en premier lieu afin d'enfreindre les règles, car ceux qui suivent ces règles voudront vous arrêter.
Et Bitcoin remplit pleinement cette condition: il viole la règle établie de longue date selon laquelle seuls les États peuvent émettre de l'argent et déterminer l'ordre d'émission, ainsi que décider quelle transaction a droit à la vie et laquelle ne l'est pas.
Ce qui est plus important à mon avis, Bitcoin remplit une fonction spécifique - le transfert de valeur qui existait et était compréhensible pour les gens bien avant: «Shelling Out: The Origins of Money» (Nick Szabo) . Alors que la grande majorité des startups blockchain sont obligées d'expliquer à partir de zéro le type de tâche qu'elles résolvent et pourquoi elle est importante. Cette situation semble absurde même pour les startups traditionnelles, dans lesquelles il est de coutume de rechercher un client, de tester des hypothèses et de s'adapter au marché. Résolvez les problèmes urgents et n'en trouvez pas de nouveaux.
D'une manière ou d'une autre, Bitcoin est la seule application blockchain qui fonctionne clairement à ce jour. C'est ce qui m'a fait au début de l'article remettre en question la pertinence du terme «application blockchain».
Remarque : ici, j'ignore l'utilisation de la blockchain, qui n'est pas utilisée par l'utilisateur final, mais par d'autres blockchains, qui sont utilisées à leur tour par des échanges décentralisés sur lesquels des jetons de la troisième blockchain sont échangés. Bien qu'il soit possible que l'industrie réussisse à se tirer par les cheveux du marais, comme Munchausen.
Contrats intelligents
Soyons honnêtes avec nous-mêmes: jusqu'à présent, personne ne sait vraiment ce que sont les contrats intelligents et pourquoi ils sont nécessaires. Ce concept est au tout début de son parcours. Ethereum est bien en avance sur son temps. Au moment de l'avènement de la monnaie électronique Bitcoin décentralisée, les gens savaient déjà ce qu'était l'argent et étaient habitués à utiliser la monnaie électronique. Au moment de l'avènement des contrats électroniques décentralisés d'Ethereum, les contrats personnels et papier ne sont pas gérés en toute confiance, et il n'y a tout simplement pas de contrats électroniques centralisés. Vous pouvez essayer de sauter deux étapes, mais cela prend au moins du temps. Et c'est si le concept lui-même est, en principe, viable.
Personnellement, je crois que les contrats intelligents trouveront leur place dans la future image du monde, donc je considère qu'il est juste de travailler sur eux maintenant. Mais c'est précisément de la foi, des confirmations ou des démentis que je n'ai pas encore trouvés.
Plus d'exemples
Ci-dessus, j'ai examiné ces exemples que j'ai pu rappeler et généraliser. Certains que j'ai oublié de mentionner, je ne connais tout simplement pas les autres. Par conséquent, je serai reconnaissant si, dans les commentaires, vous jetez plus d'applications de la blockchain pour l'analyse. J'écrirai peut-être une suite.