Gestion des risques et modèles commerciaux sur NEO Blockchain

Ceux d’entre vous qui ont participé à une conférence où j’ai parlé savent que je tiens à souligner que NEO est très différent des autres plates-formes de blockchain. Pour ceux qui n'ont vu aucune de mes présentations; laissez-moi expliquer pourquoi.

L'adoption de la technologie de blockchain a commencé avec Bitcoin; un système de paiement électronique peer-to-peer. Il est très important de garder cela à l'esprit lorsque nous travaillons actuellement sur des solutions pour les contrats intelligents et les applications décentralisées à grande échelle. Proof of Work (PoW) est un algorithme conçu pour ce cas d'utilisation spécifique: un système de paiement électronique peer-to-peer. Depuis lors, quelques personnes intelligentes ont découvert que les mêmes algorithmes et protocoles peuvent être réutilisés pour écrire des applications complètes de Turing. Cependant, comme mentionné, PoW a été conçu pour le cas d’utilisation de Bitcoin, et non pour exécuter des applications complètes Turing hautes performances, ce qui était assez évident au cours de l’année écoulée.

L'objectif principal pour résoudre ce problème a été principalement d'inventer différentes versions de Proof of Stake (PoS). PoS est une tentative d'imiter le protocole PoW, mais en utilisant un jeton au lieu d'un pouvoir de hachage. Cela permet d'économiser des ressources énergétiques et d'éviter 51% d'attaques de puissance par hachage, ce qui en fait une option valable pour les cas d'utilisation similaires à Bitcoin qui souffrent d'effets réseau plus faibles. En imitant le PoW, il s’agit essentiellement d’une variante d’un système de paiement électronique peer-to-peer, qui peut toujours être utilisée pour les contrats intelligents, mais n’est pas conçue à cette fin. Il ne répond pas aux exigences d'une importance vitale pour les cas d'utilisation réels. L’un des principaux problèmes à la fois du PoW et du PoS est qu’ils souffrent d’un manque de finalité dans chaque bloc, ce qui entraîne des retards de transaction et l’impossibilité de mettre en œuvre des cas d’utilisation reposant sur la finalité.

Figure 1: Chaîne dans PoW et PoS

Les PoW et PoS ont la possibilité de se fourrer en cours de fonctionnement normal. Quiconque a déjà transféré un jeton d'un portefeuille à un autre ou d'un échange à un autre a compris les conséquences de la possibilité de forking. Vous pouvez suivre votre transaction dans un explorateur de blocs, mais vous devez attendre 12 à 30 «confirmations» avant la fin de la transaction. Chaque «confirmation» correspond à un nouveau bloc dans la blockchain. La raison pour laquelle vous devez attendre les confirmations est tout simplement parce que ces algorithmes peuvent se diviser en cours de fonctionnement normal et que le destinataire doit s’assurer que la transaction est incluse dans la chaîne «correcte» (blocs verts de la Figure 1) et non l’un des deux. branches qui seront coupées (blocs bleus dans la figure 1). Cela est souvent considéré comme garantissant que votre transaction fait partie de la "chaîne la plus longue". Indiquer que le temps de blocage est de 5 secondes dans un algorithme PoW ou PoS importe peu pour l'application réelle. Vous devez savoir combien de confirmations sont nécessaires. Si, par exemple, 20 confirmations sont nécessaires, le temps de transaction réel sera de 100 secondes dans une blockchain avec un temps de blocage de 5 secondes.

Ce n'est pas seulement un problème en termes de temps de transaction. Du point de vue des entreprises, il s’agit d’une décision de gestion des risques. Avec un nombre x1 de transactions et une valeur estimée de x2 USD, pouvons-nous accepter qu’il existe une probabilité de x3% que la transaction ne soit pas sur la plus longue chaîne et soit rejetée après un nombre x4 de blocs?

De nombreux cas d'utilisation ne peuvent même pas être mis en œuvre, en particulier lorsque nous discutons de la blockchain comme solution permettant de créer des contrats intelligents dans le monde réel. Prenez une reconnaissance de dette régulière par exemple; la propriété fondamentale d'une reconnaissance de dette est qu'il n'existe qu'une seule version de celle-ci. Avec la création de branches et la conversion dans PoW et PoS, cette reconnaissance de dette aura plusieurs copies valides dans des conditions normales. un sur chaque fourche en compétition. Une reconnaissance de dette devient deux ou plus. Même si le «mauvais» bloc est rejeté après la mise en place de la plus longue chaîne, ce statut de multiplication de la dette est en soi inacceptable pour les cas d’utilisation financière similaires.

Figure 2: Chaîne en dBFT

Contrairement aux autres plates-formes de blockchain, NEO blockchain n'essaie pas de transformer un système de paiement électronique peer-to-peer en un système Smart Contract. L'architecture blockchain d'origine pour Bitcoin n'est pas conçue pour les contrats intelligents complets de Turing; nous avons besoin d'une autre architecture pour les applications décentralisées à grande échelle qui répondent aux exigences des cas d'utilisation commerciale et économique. En tant que tels, PoW et PoS ne sont pas appropriés. Pour répondre à ces exigences, NEO Blockchain repose sur la tolérance de panne byzantine déléguée (dBFT), un algorithme BFT adapté développé par Erik Zhang. L'avantage avec dBFT est qu'il ne peut pas créer de branche. Il y a toujours un et un seul bloc proposé à la fois. Une fois que le bloc est signé, il est final à 100%. Plus d'informations sur l'algorithme de consensus peuvent être trouvées ici:
http://docs.neo.org/en-us/basic/consensus/whitepaper.html

En pratique, cela signifie qu'il n'est plus nécessaire d'attendre plusieurs confirmations lors de l'envoi de transactions ou d'invocations. La transaction est complétée directement après son inclusion dans un bloc, autrement dit dans une seule confirmation. Cela signifie également que le temps de transaction est en réalité complètement égal au temps de blocage; si le temps de blocage est de 5 secondes, la transaction est reçue dans les 5 secondes.

En outre, aucune gestion des risques n’est nécessaire lors de l’envoi et de la réception de transactions de gros volume et de valeur élevée. En l'absence de création de branche en cours de fonctionnement, toutes les transactions sont terminées à 100% après leur inclusion dans un bloc. Aucune analyse de risque de finalité ne doit donc être effectuée. Les transactions seront toujours sur la chaîne correcte / la plus longue, car il ne peut exister de chaîne de branche en dBFT de par la nature de l'algorithme.

De plus, les contrats de reconnaissance de dette et autres contrats financiers intelligents peuvent être mis en œuvre dans la blockchain NEO sans être gêné par le fait qu’il peut exister simultanément dans deux branches. Vous pouvez déployer le contrat Smart directement sur le réseau MainNet public ou même exécuter votre propre blockchain NEO en tant que chaîne privée; il aura toujours le même comportement. Les applications à grande échelle auront également besoin de dépendances et de déclencheurs, où les transactions en chaîne deviennent une nécessité. Les transactions chaînées sans finalité deviennent très problématiques à la fois en termes de gestion des risques et de temps de bout en bout. Cela est particulièrement vrai pour les échanges décentralisés, où nous sommes très susceptibles de voir un très grand nombre de transactions en chaîne.

Un autre inconvénient de la blockchain de finalité faible est un problème que nous avons déjà rencontré auparavant et plus d'une fois. le cas du vote sur des transactions spéciales. Il y aura toujours des occasions où la moralité s'opposera à «le code est la loi». Par exemple, si l’adresse de portefeuille d’un groupe terroriste est identifiée; doit-il être gelé ou non? Les blockchains de finalité faible peuvent se scinder en deux camps, l’un dans lequel l’adresse est gelée et l’autre dans le cas contraire. Les blockchains de finalité parfaite tels que NEO n'auront toujours qu'un résultat, puisqu'il n'y a jamais de choix simultané entre deux blocs.

Autres avantages:
Pour faciliter l’adoption, NEO Smart Contracts peut être écrit en C #, Python, JavaScript, Golang et Java; vous vous familiariserez rapidement avec les développeurs auxquels vous avez déjà accès. Former votre équipe dans un nouveau langage de programmation ou employer une toute nouvelle équipe de développeurs dédiés à Smart Contract est une option extrêmement coûteuse. Si vous pouvez réduire cette dépense, vous disposez d'un meilleur point de départ pour créer un modèle économique rentable. Les frais de transaction élevés constituent le deuxième obstacle à un modèle économique rentable, et c’est la raison même pour laquelle NEO blockchain dispose de deux jetons natifs: NEO et GAS. Cela garantit que les frais de transaction seront toujours proches de zéro. Consultez cet article pour obtenir des explications.

La vitesse de transaction est de 1 000 à 10 000 transactions par seconde et est en constante augmentation, l'objectif étant d'atteindre 100 000 transactions par seconde en chaîne avant 2020. L'objectif est d'atteindre cet objectif par le biais de deux projets parallèles en cours d'exécution depuis plus de 6 mois, baptisés Neo. -sharp et HyperVM. neo-sharp est une implémentation réécrite de NEO Blockchain qui suit les mêmes règles de protocole, mais avec une architecture modulaire qui simplifie à la fois les tests unitaires et les tests d'intégration, tout en permettant également la mise à niveau de modules individuels. HyperVM est une version réécrite de NeoVM, écrite en C ++, qui est un langage de programmation de niveau inférieur qui permet plus de flexibilité dans l’optimisation des performances. La deuxième couche est mise au point par des tiers et multipliera la vitesse de transaction même au-delà de 100 000 tps. NeoX, un protocole inter-chaîne qui permettra les chaînes latérales et les interactions entre les chaînes de blocs utilisant NeoVM, sera mis à l’essai plus tard cette année.

Si vous avez une exigence professionnelle spécifique que NEO Blockchain n'est pas actuellement en mesure de satisfaire, veuillez laisser un commentaire. Notre communauté s'est engagée à faire de NEO blockchain la première plate-forme de blockchain au monde.