Contents
COMMENT ACHETER Internet Computer (ICP) EN BINANCE ET OBTENIR UNE BONIFICATION DE €30 (SEULEMENT 3 ÉTAPES)
ÉTAPE 1: INSCRIPTION
IMPORTANT: POUR OBTENIR €30 EN BTC LORSQUE VOUS VOUS INSCRIVEZ À BINANCE, FAITES-LE À PARTIR DE CE LIEN . EN CONFIRMANT VOTRE EMAIL, VOUS RECEVREZ LA RÉCOMPENSE.
ÉTAPE 2: DÉPÔT DES FONDS
ÉTAPE 3: ACQUÉRIR LA CRYPTO-MONNAIE
Pourquoi acheter Internet Computer (ICP)
Qu’est-ce qu’Internet Computer (ICP) ?
Internet Computer étend les fonctionnalités de l’Internet public d’un réseau qui connecte des milliards de personnes (via les protocoles TCP / IP) à une plate-forme informatique publique qui habilite des millions de développeurs et d’entrepreneurs (via le protocole ICP), offrant une nouvelle façon révolutionnaire de construire. Services Internet ouverts sur le marché de masse, plates-formes à l’échelle du secteur, sites Web et systèmes d’entreprise sécurisés et DeFi, le tout sans avoir besoin d’une informatique héritée telle que des services de cloud computing centralisés, des bases de données et des pare-feu.
L’ordinateur Internet est créé à l’aide d’un protocole décentralisé (ICP) mathématiquement sécurisé, combinant la capacité de calcul de milliers de centres de données indépendants à travers le monde dans un environnement informatique public unifié et transparent qui fonctionne à la vitesse du Web avec une capacité illimitée, permettant aux entrepreneurs et aux développeurs de réinventer la façon dont nous construisons tout.
The Complete Internet Computer Blockchain Trinity – Bitcoin, Ethereum et Internet Computer – marquant les trois principales innovations de la technologie blockchain. Ces trois réseaux décentralisés se complètent et ont des finalités différentes: Bitcoin (crypto-monnaie), Ethereum (contrats intelligents) et Internet Computer (ordinateur blockchain).
Une description Internet Computer (ICP)
Une explication de l’infrastructure de la plate-forme de développement et de la manière dont les canisters logiciels permettent aux services Web de s’adapter à des milliards d’utilisateurs.
Avant cette occasion mémorable, nous voulons offrir au public un aperçu de très haut niveau du fonctionnement du réseau.
Système nerveux en réseau
L’ordinateur Internet est basé sur un protocole informatique blockchain appelé Internet Computer Protocol (ICP). Le réseau lui-même est construit à partir d’une hiérarchie de blocs de construction. En bas se trouvent des centres de données séparés qui hébergent des nœuds matériels spécialisés. Ces machines à nœuds sont combinées pour créer des sous-réseaux. Les sous-réseaux hébergent des canisters logiciels, qui sont des unités de calcul interopérables que les utilisateurs téléchargent et contiennent à la fois du code et des statuts.
L’un des éléments qui rend ICP unique est le système nerveux de réseau (NNS), qui est responsable du contrôle, de la configuration et de la gestion du réseau.
Les centres de données rejoignent le réseau en sollicitant le NNS, qui est chargé d’induire les centres de données. Alors que le NNS lui-même a un système de gouvernement ouvert, il supervise les autorisations de participer au réseau. En un sens, il joue un rôle équivalent à celui de l’ICANN sur Internet, qui, entre autres, attribue des numéros de système autonomes à ceux qui souhaitent exécuter des routeurs BGP. Le NNS remplit un large éventail de fonctions de gestion de réseau, y compris la surveillance des machines de nœuds pour les écarts statistiques dans le réseau informatique Internet, qui pourraient indiquer de mauvaises performances ou un comportement défectueux.
Le NNS joue également un rôle clé dans l’économie symbolique du réseau. Le NNS génère de nouveaux jetons ICP (anciennement appelés jetons DFN) pour récompenser les nœuds gérés par les centres de données et les neurones qui votent au sein du NNS, c’est ainsi qu’il décide des propositions qui lui sont envoyées. Lorsque le NNS crée de nouveaux jetons ICP pour récompenser les centres de données et les neurones, cela est inflationniste.
Au fil du temps, les propriétaires de neurones et de centres de données peuvent prendre leurs jetons et les échanger avec les propriétaires et les gestionnaires de canister. Les propriétaires et les gestionnaires de canister prennent ces jetons et les transforment en cycles, et utilisent ces cycles pour charger leurs canisters. Lorsque ces cartouches effectuent des calculs ou stockent de la mémoire, par exemple, elles s’épuisent pendant les cycles et doivent éventuellement être rechargées avec plus de cycles pour continuer à fonctionner. C’est déflationniste.
Sous-réseaux
Pour comprendre l’ordinateur Internet, vous devez comprendre le concept de sous-réseaux, qui sont la pierre angulaire du réseau global. Un sous-réseau est responsable de l’hébergement d’un sous-ensemble distinct des conteneurs logiciels hébergés sur le réseau informatique Internet. Un sous-réseau est créé en rassemblant des machines à nœuds provenant de différents centres de données d’une manière contrôlée par le NNS. Ces machines à nœuds collaborent via l’ICP pour répliquer symétriquement les données et les calculs liés aux canisters logiciels qu’ils hébergent.
Le NNS combine des nœuds de centre de données indépendants en créant des sous-réseaux. Cela permet aux mathématiques du protocole ICP de garantir que les sous-réseaux sont inviolables et imparables, en utilisant la technologie byzantine tolérante aux pannes et la cryptographie développée par DFINITY. Bien que les sous-réseaux soient les éléments fondamentaux du réseau informatique global d’Internet, ils sont transparents pour les utilisateurs et les logiciels. Les utilisateurs et les logiciels du Canister ont uniquement besoin de connaître l’identité d’un Canister pour appeler les fonctions partagées.
Cette transparence est une extension des principes fondamentaux de conception d’Internet. Sur Internet, si un utilisateur souhaite se connecter à certains logiciels, il lui suffit de connaître l’adresse IP de la machine qui exécute le logiciel et le port TCP que le logiciel écoute. Sur l’ordinateur Internet, si un utilisateur souhaite appeler une fonction, il lui suffit de connaître l’identité du destinataire et la signature de la fonction. De la même manière qu’Internet crée une connectivité transparente, DFINITY a créé un univers parfait pour les logiciels, où tout logiciel autorisé peut appeler n’importe quel autre logiciel directement sans rien savoir sur le fonctionnement sous-jacent du réseau.
L’ordinateur Internet assure également la transparence du sous-réseau par d’autres moyens. Le NNS peut diviser et fusionner des sous-réseaux, par exemple, pour équilibrer la charge sur l’ensemble du réseau. Ceci est également transparent pour les conteneurs hébergés.
Dans cet exemple, nous avons un sous-réseau imaginaire, ABC, qui abrite 11 conteneurs. Le NNS lui dit de se séparer. Le sous-réseau ABC continue avec les Canisters 1–6 et un nouveau sous-réseau est généré, Subnet XYZ, qui se poursuit avec les Canisters 7–11. Aucun des navires concernés n’aura subi une interruption de service.
Lorsque vous téléchargez vos canettes sur votre ordinateur à partir d’Internet, vous devez cibler un type spécifique de sous-réseau. En fait, il existe un sous-réseau spécial qui héberge le NNS, mais il ne peut pas y charger ses conteneurs. Au lieu de cela, il doit pointer vers un type de sous-réseau, tel que « data », « system » ou « fiat ».
Chaque type de sous-réseau confère à son destinataire certaines propriétés et capacités. Par exemple, si votre destinataire est hébergé sur un sous-réseau de données, il peut traiter les appels mais ne peut pas passer d’appels vers d’autres destinataires. Pour cela, vous aurez besoin d’un sous-réseau système. Si vous voulez que votre canister puisse contenir des soldes de jetons ICP ou envoyer des cycles à d’autres canisters, vous aurez besoin d’un sous-réseau fiat. Et pour ces raisons, les conteneurs de gouvernance ne peuvent être hébergés que sur des sous-réseaux fiat.
Les capacités des sous-réseaux sont en partie dérivées de la tolérance aux pannes sous-jacente. Il s’agit d’un domaine scientifique sous-jacent vraiment passionnant que nous espérons partager prochainement avec le public, y compris une nouvelle cryptographie qui permet au NNS de réparer les sous-réseaux cassés.
Bateaux
Le but d’un sous-réseau est d’héberger des conteneurs. Les canisters s’exécutent dans des hyperviseurs dédiés et interagissent les uns avec les autres via une API spécifiée publiquement. À l’intérieur d’un canister se trouve un bytecode WebAssembly qui peut être exécuté dans une machine virtuelle WebAssembly et les pages de mémoire sur lesquelles il s’exécute. En règle générale, ce bytecode WebAssembly aura été créé en compilant un langage de programmation, tel que Rust ou Motoko. Ce bytecode aura un runtime intégré qui permet au développeur d’interagir facilement avec l’API.
Remarque: l’exemple de code présenté ici est un pseudo-code.
Sur l’ordinateur Internet, les fonctions partagées par les destinataires doivent être appelées de deux manières. Ils peuvent être appelés comme un appel de mise à jour ou un appel de demande. La différence essentielle est que lorsque vous appelez une fonction en tant qu’appel de mise à jour, les modifications que vous apportez aux données dans la mémoire des canisters sont conservées, tandis que si une fonction est appelée en tant qu’appel de requête, les modifications que vous apportez sont ignorées. mémoire de. après qu’il s’exécute.
Les appels de mise à jour apportent des modifications persistantes et sont également infalsifiables car ils sont exécutés par les protocoles de calcul ICP blockchain sur tous les nœuds du sous-réseau. Sans surprise, les appels sont exécutés dans un ordre global d’appels cohérent, en utilisant des mécanismes qui permettent une exécution simultanée dans un environnement d’exécution entièrement déterministe. Actualisez l’intégralité des appels en seulement deux secondes.
Dans cet exemple, l’utilisateur soumet une commande d’achat à une bourse financière hébergée dans un conteneur.
Les appels de renseignements, par contre, ne conservent pas les modifications. Toutes les modifications apportées à la mémoire seront ignorées après leur exécution. Ils sont très efficaces et peu coûteux et se terminent en quelques millisecondes. En effet, ils ne s’exécutent pas sur tous les nœuds du sous-réseau, ce qui signifie également qu’ils offrent un niveau de sécurité inférieur.
Dans cet exemple, l’utilisateur demande un flux d’actualités personnalisé et obtient le contenu nouvellement généré presque immédiatement.
Persistance orthogonale
L’une des choses les plus intéressantes à propos de l’ordinateur Internet est la façon dont les développeurs conservent les données. Les développeurs n’ont pas à penser à la persistance, ils écrivent simplement leur code et la persistance se produit automatiquement. C’est ce qu’on appelle la persistance orthogonale. C’est parce que l’ordinateur Internet préserve les pages de mémoire sur lesquelles le code s’exécute.
Vous vous demandez peut-être comment tout cela fonctionne. Concernant les appels de mise à jour qui peuvent muter les pages mémoire, les conteneurs sont des acteurs logiciels. Cela signifie qu’il ne peut y avoir qu’un seul thread d’exécution dans un canister à la fois.
Bien qu’il n’y ait qu’un seul thread d’exécution dans un Canister, les appels de mise à jour inter-Canister peuvent être entrelacés par défaut. Cela se produit lorsque les appels de mise à jour effectuent des appels de mise à jour entre conteneurs, qui bloquent, permettant au thread d’exécution de passer à un nouvel appel de mise à jour.
En revanche, les appels de requête n’apportent pas de modifications persistantes à la mémoire. Et cela permet à n’importe quel nombre de threads simultanés de traiter les appels de requête dans une cartouche à tout moment. Ces appels de requête sont exécutés sur l’instantané de mémoire enregistré dans la dernière racine d’état terminée.
Enfin, aucune discussion sur les bateaux ne serait complète sans mentionner que les bateaux peuvent créer de nouveaux bateaux et que les bateaux peuvent se bifurquer. Vous pouvez créer une nouvelle cartouche simplement en spécifiant le bytecode WebAssembly, et les pages de mémoire commencent vides. Lorsqu’un canister fourche, une copie nouvellement générée est créée, identique aux pages de mémoire qu’elle contient. Le fork est très puissant lors de la création de services Internet évolutifs.
Évolutivité
Vient maintenant une explication de haut niveau des services Internet qui évoluent. Les jackpots ont des limites supérieures sur leurs différents types de capacité. Par exemple, un Canister ne peut stocker que 4 Go de pages de mémoire en raison des limitations des implémentations WebAssembly. Pour cette raison, lorsque nous voulons créer des services Internet qui s’adaptent à des milliards d’utilisateurs, nous devons utiliser des architectures multi-conteneurs.
Nous pourrions espérer qu’il suffit de créer un conteneur spécial, de créer de nombreuses copies du conteneur, puis de fragmenter le contenu utilisateur entre les différents conteneurs pour créer un service Internet qui peut évoluer. Malheureusement, cette architecture est trop simple pour plusieurs raisons.
Il est vrai que chaque conteneur supplémentaire augmente la capacité mémoire globale. Il est également vrai que chaque cartouche supplémentaire augmente les performances globales d’actualisation et d’appel de requête. Mais nous ne pouvons pas escalader les demandes d’appel de requête pour le contenu d’un utilisateur spécifique. Nous devons également rééquilibrer le contenu utilisateur chaque fois que nous augmentons la capacité du système en ajoutant plus de fragments de canister, et ce n’est pas vraiment une excellente architecture de périphérie. Il n’existe pas non plus de moyen évident de gérer les appels de demande aux utilisateurs finaux à partir de miroirs qui sont à proximité d’eux. Nous aurons besoin à la fois de bateaux d’entrée et de bateaux de fond.
L’ordinateur Internet fournit des fonctionnalités intéressantes pour connecter les utilisateurs finaux aux conteneurs frontaux. L’un d’eux permet d’attribuer des noms de domaine à plusieurs conteneurs frontaux via le NNS. Lorsqu’un utilisateur final souhaite résoudre ce nom de domaine, l’ordinateur Internet analyse tous les nœuds de réplique dans tous les sous-réseaux qui hébergent les conteneurs frontaux et renvoie les adresses IP des nœuds de réplique les plus proches. Cela a pour résultat que l’utilisateur final exécute des appels de requête sur des répliques proches, ce qui réduit la latence inhérente du réseau et améliore l’expérience utilisateur, offrant les avantages de l’informatique de périphérie sans réseau de distribution de contenu.
Pour tirer le meilleur parti de cette fonctionnalité, nous avons besoin d’une architecture classique qui implique des conteneurs frontaux et des conteneurs de données principaux. Dans cet exemple, un navigateur Web souhaite charger une image de profil.
Tout d’abord, le navigateur Web mappera vers un conteneur frontal s’exécutant sur un sous-réseau avec un nœud à proximité. Le navigateur Web enverra une demande d’appel de requête pour récupérer la photo sur ce nœud à proximité.
Le conteneur frontal effectuera une demande d’appel de requête entre conteneurs au conteneur de données qui contient la photo.
Si la réponse à l’appel de requête renvoyée par le conteneur de l’entrepôt de données comprend un contenu statique, tel qu’une photo, les données peuvent être mises en cache. Dans de tels cas, le nœud de réplique qui exécute l’appel de requête de conteneurs frontaux peut placer la réponse de l’appel de requête dans son cache de requêtes.
Bien entendu, le mécanisme de mise en cache des appels de requête est complètement transparent pour le code du conteneur frontal. Une fois que le conteneur frontal que l’utilisateur a appelé a collecté toutes les informations nécessaires, il peut renvoyer le contenu, soit via une réponse à un appel de requête, soit via un point de terminaison HTTP.
Au fil du temps, les caches de requêtes de nœuds accumulent du contenu statique et génèrent des données d’intérêt pour les utilisateurs à proximité, leur offrant une expérience utilisateur plus rapide et meilleure. De cette manière, l’architecture de périphérie native de l’ordinateur Internet offre les avantages d’un réseau de diffusion de contenu, mais sans que les développeurs aient besoin de faire quoi que ce soit de spécial et sans avoir besoin de l’aide d’un service propriétaire distinct.
Pour les appels de mise à jour, l’architecture classique adopte une approche différente. Les mises à jour du contenu et des données d’un utilisateur doivent être sérialisées pour éviter des problèmes tels que des mises à jour manquantes. Ceci est généralement accompli en affectant un utilisateur à un conteneur frontal spécifique simplement en tapant son nom d’utilisateur, par exemple.
Une fois qu’une UX / UI exécutée dans un navigateur Web ou un smartphone a déterminé quel conteneur frontal est responsable de la coordination des modifications apportées à certains contenus ou données, elle peut modifier ce contenu ou ces données en envoyant un appel de mise à jour à son interface standard.
Ce conteneur frontal effectue généralement plus d’appels de mise à jour entre conteneurs pour apporter les modifications nécessaires.
Services Internet ouverts
Pour résumer tout cela, discutons de la conception d’un service Internet ouvert utilisant notre architecture à deux niveaux avec des conteneurs frontaux et des conteneurs de données back-end. Tout d’abord, lorsque vous écrivez votre code de conteneur frontal, cela vous facilitera la vie en utilisant la classe de bibliothèque existante appelée BigMap.
BigMap peut stocker des exaoctets de données et vous pouvez y écrire des objets en utilisant une seule ligne de code. Cette architecture évoluera de manière transparente et dynamique en ayant des conteneurs frontaux et des conteneurs de conteneurs de données pour répartir la responsabilité des objets affectés à un conteneur entre deux conteneurs.
Enfin, pour créer un véritable service Internet ouvert, vous attribuerez la responsabilité de tous vos destinataires à un destinataire symbolisé du gouvernement ouvert. Si vous êtes un entrepreneur, vous collecterez des fonds pour le développement en vendant certains de ces jetons de gouvernance au début. Et vous concevrez probablement des systèmes qui inciteront les premiers arrivants à votre service Internet en leur donnant des jetons de gouvernance pour de meilleurs effets de réseau et gagner.