Blockchain

Comment éviter l’enfer du développement

Comment éviter l'enfer du développement

Cointelegraph suit le développement d’une toute nouvelle blockchain depuis sa création jusqu’au réseau principal et au-delà à travers sa série, Inside the Blockchain Developer’s Mind, écrite par Andrew Levin du groupe Koinos.

Nous avons récemment publié la troisième et dernière version du testnet Koinos, c’est pourquoi je veux parler de quelque chose dont peu de projets aiment parler : l’enfer du développement. Dans cet article, j’expliquerai pourquoi et comment d’autres développeurs peuvent éviter d’y rester bloqués.

À première vue, construire une blockchain ne semble pas si difficile. Une blockchain n’est qu’une combinaison de primitives cryptographiques bien établies qui, lorsqu’elles sont correctement mises en œuvre, permettent la construction d’un registre contenant un historique vérifiable des transactions par un réseau. Plus le réseau est décentralisé, plus l’historique est fiable.

« Cadres » de la blockchain

Dans un effort pour faciliter la construction de nouvelles blockchains, d’autres équipes ont publié des «frameworks» de blockchain qui, en théorie, devraient éliminer le besoin pour les développeurs de se soucier de la construction de la blockchain elle-même afin qu’ils puissent se concentrer sur les fonctionnalités uniques qu’ils souhaitent intégrer. la blockchain. Cosmos, EOSIO et Polkadot’s Substrate sont des exemples de tels frameworks de blockchain.

Lorsque notre équipe a cessé de travailler sur Steem (la première blockchain sans frais au monde), notre intention initiale était de tirer parti d’un cadre de blockchain existant pour créer une blockchain conçue pour être aussi accessible que possible. Nous avions passé quatre ans à affiner la conception sans frais de Steem et nous nous sommes dit qu’en transférant cette solution dans un cadre de blockchain existant, nous pourrions fournir une blockchain beaucoup plus accessible que toute autre blockchain en relativement peu de temps.

Lié: Dans l’esprit du développeur de la blockchain : consensus sur la blockchain de preuve de gravure

Vraiment sans frais et à usage général

Mais nous avons été surpris de constater qu’aucun des frameworks existants ne nous permettait de créer le type d’expérience utilisateur vraiment sans sensation que nous cherchions à mettre sur le marché. Nous ne voulions pas seulement supprimer les frais sur le plan technique, nous voulions permettre aux développeurs de créer des applications gratuites.. Il leur manquait également un certain nombre d’autres fonctionnalités qui, selon nous, étaient nécessaires pour offrir une expérience de développement acceptable.

La puissance d’une blockchain à usage général ne découle pas des fonctionnalités que les ingénieurs de la blockchain intègrent à la blockchain, mais des fonctionnalités que les développeurs ajoutent à cette blockchain en tant que contrats intelligents. Ceci est doublement vrai pour un framework blockchain qui devrait vraiment être le plus blockchain à usage général imaginable puisque l’idée est de permettre aux gens de construire n’importe quel type de blockchain qu’ils peuvent imaginer. Et pourtant, les cadres existants n’ont pas réussi à nous responsabiliser, l’une des équipes de développement de blockchain les plus expérimentées, dans nos tentatives de construire la blockchain que nous voulions construire de plusieurs manières..

Les frameworks existants ont non seulement rendu impossible pour les développeurs de créer des applications gratuites, mais ils ont également forcé les développeurs à apprendre de nouveaux langages de programmation souvent difficiles et ont considérablement limité la vitesse à laquelle les applications et la blockchain elle-même pouvaient s’améliorer.

Lié: Dans l’esprit des développeurs de blockchain : créer une DApp sociale gratuite

Libérer les développeurs

Nous voulions créer une blockchain qui permettrait aux développeurs de créer des applications incroyablement géniales que les gens ordinaires aimeraient utiliser. Cela a permis aux développeurs de travailler dans les langages de programmation qu’ils connaissaient déjà et qu’ils aimaient déjà (ce que nous appelons le « support universel des langages ») ; qui a permis à leurs applications (et à la blockchain elle-même) d’évoluer rapidement ; et, plus important encore, cela leur a permis de créer des applications gratuites.

Mais pour construire ça blockchain, nous avions d’abord besoin d’un cadre de blockchain vraiment polyvalent cela nous permettrait non seulement de construire la blockchain de nos rêves, mais en tant que conséquence naturelle d’être le cadre le plus polyvalent imaginable, devrait permettre à quiconque de construire la blockchain de son rêves.

Koinos est ce cadre de blockchain ultime à usage général qui servira de base à la couche 1 ultime : le réseau principal Koinos. Le Koinos Blockchain Framework (KBF) est conçu pour être le plus simple blockchain imaginable, ne contenant que les primitives cryptographiques nécessaires pour construire une blockchain et les bons « appels système » pour permettre l’ajout du plus large éventail de comportements dans la bande (sans hard fork) via le téléchargement d’un contrat intelligent.

Évolutivité infinie

L’avantage de cette conception est une évolutivité infinie, mais le coût est qu’il est d’autant plus important que les appels système soient corrects. Manquer un appel système ou le concevoir de manière incorrecte signifierait devoir faire face à un hard fork autrement évitable. Parce que les fourches dures prennent tellement de temps, sont politiques et perturbatrices, elles sont le principal facteur limitant la capacité d’une blockchain à s’améliorer, ce qui est finalement ressenti par chaque développeur dont l’application est construite sur une telle plate-forme.

Nous pouvons maintenant voir comment les développeurs d’applications et de chaînes de blocs peuvent se retrouver piégés dans l’enfer du développement : travailler dans des langages de programmation avec lesquels ils ne sont pas à l’aise, sur des plates-formes qui les obligent à incorporer des frais et qui s’améliorent à un rythme d’escargot. Dans ces conditions, même des changements mineurs ont des enjeux incroyablement élevés, et nous n’avons même pas pris en compte ces scénarios où il y a des millions, parfois des milliards de dollars à risque.

C’est l’enfer du développement. En tant qu’équipe de développement principale derrière la blockchain Steem qui a dû superviser 23 hard forks, nous connaissons ce terrain mieux que quiconque, c’est pourquoi nous étions si déterminés à le bannir, eh bien… en enfer.

Construire le framework Koinos Blockchain à partir de zéro avec une architecture de microservice entièrement nouvelle et l’amener au point où nous pourrions lancer les versions 1 et 2 du testnet étaient incroyablement difficiles. Mais l’intégration des commentaires que nous avons reçus de ces testsnets, la correction des bogues qu’ils ont révélés et la finalisation des appels système les plus importants étaient un tout autre niveau. Mais nous avons traversé cet enfer du développement dans l’espoir de faire en sorte que d’autres n’aient jamais à le faire.

Présage

Testnet v3 est donc plus qu’une « juste autre » version du testnet. Il s’agit de la version finale du Koinos Blockchain Framework, c’est pourquoi nous ferons désormais référence au testnet, non pas par un numéro de version, mais par le nom : Harbinger. C’est l’aboutissement de près de deux ans de travail, d’identification et de mise en œuvre de tous les appels système nécessaires pour donner aux développeurs de blockchain le niveau de liberté ultime et permettre à leurs développeurs d’applications de bénéficier d’une plate-forme qui s’améliore à un rythme plus rapide que tout autre. blockchain là-bas.

Bien sûr, chaque fois que vous essayez de résoudre un problème vraiment important, un enfer de développement est inévitable. Vous voulez simplement vous assurer que vous n’adoptez pas de technologies qui augmentent inutilement les enjeux et que l’objectif que vous visez en vaut la peine.

Pour nous, cet objectif n’est pas seulement d’épargner aux développeurs de blockchain (y compris nous-mêmes) d’innombrables heures passées dans l’enfer des développeurs, mais également de tirer parti de cette nouvelle technologie pour construire le réseau principal de Koinos : la couche 1 ultime pour permettre aux développeurs de créer des applications incroyablement géniales basées sur la blockchain.

Fini l’enfer du développement

Le KBF vise à éliminer l’enfer du développement en permettant aux développeurs de créer n’importe quelle blockchain qu’ils peuvent imaginer simplement en écrivant des contrats intelligents, ce qui est infiniment plus facile que de travailler dans le code de la blockchain lui-même. Et c’est exactement la position dans laquelle nous nous trouvons maintenant. Alors que le développement du cadre de la blockchain était incroyablement difficile, maintenant que c’est terminé, tout ce qui est nécessaire pour compléter le réseau principal de Koinos n’est que de deux contrats intelligents : un pour notre algorithme de consensus de preuve de gravure et l’autre pour la gouvernance.

Non seulement l’écriture de contrats intelligents est beaucoup plus simple que le développement de blockchain, mais cela signifie également que les développeurs de blockchain peuvent désormais profiter des outils en constante expansion qui sont disponibles pour les développeurs de contrats intelligents comme le SDK AssemblyScript que l’un des membres de notre communauté a construit. AssemblyScript ne se contente pas de produire des contrats intelligents beaucoup plus efficaces que ceux écrits en C++ (c’était une surprise), il rend le développement de contrats intelligents accessible aux développeurs JavaScript.

Étant donné que le KBF transforme tout développeur de contrats intelligents en un développeur potentiel de blockchain, cela signifie que le développement de blockchains personnalisées sera désormais accessible aux développeurs JavaScript avec encore plus de langages à venir, comme Rust.

Si vous êtes intéressé par l’exécution de Harbinger, nous l’avons rendu incroyablement facile à exécuter un nœud vous pouvez donc être opérationnel en moins de cinq minutes.

Cet article ne contient pas de conseils ou de recommandations d’investissement. Chaque mouvement d’investissement et de trading comporte des risques, et les lecteurs doivent mener leurs propres recherches lorsqu’ils prennent une décision.

Les vues, pensées et opinions exprimées ici sont celles de l’auteur seul et ne reflètent pas ou ne représentent pas nécessairement les vues et opinions de Cointelegraph.

Andrew Levin est le PDG de Koinos Group, une équipe de vétérans de l’industrie qui accélère la décentralisation grâce à la technologie blockchain accessible. Leur produit de base est Koinos, une blockchain conviviale et évolutive à l’infini avec un support linguistique universel.