Il y a quelques années, on a appris qu'un groupe de passionnés développait un navigateur P2P prenant en charge le protocole Hypercore. Ce navigateur s'appelle Beaker 1.0. Le but du projet est de fournir aux utilisateurs la possibilité de développer et d'héberger leurs sites non pas quelque part, mais «directement dans le navigateur». Autrement dit, vous pouvez créer un dossier local et partager une URL qui permettra aux utilisateurs tiers d'accéder à la nouvelle ressource.
Les nœuds de réseau dans ce cas sont les utilisateurs du navigateur eux-mêmes. Beaker est basé sur JavaScript et utilise le moteur Chromium et la plate-forme Electron. Distribué par Beaker sous la licence MIT. Les développeurs ont préparé des assemblages pour Linux, macOS et Windows.
Et quel genre de protocole est-ce - Hypercore?
Il s'agit d'une technologie très pratique qui combine deux autres technologies: la blockchain et BitTorrent. Comme mentionné ci-dessus, les utilisateurs peuvent télécharger des fichiers de site et participer à leur distribution. Mais la différence avec BitTorrent réside dans la possibilité de modifier les fichiers sans créer de nouvelle adresse.
Pour créer votre propre site, il vous suffit de préparer le code, de déployer l'environnement Hyperdrive et de créer un lien vers celui-ci. L'accès à la ressource s'effectue via l'URL "hyper: //". Dès que le lien est ouvert, le contenu est téléchargé à partir du système de l'auteur - et immédiatement après le téléchargement des fichiers, un nouvel utilisateur peut devenir un nouveau nœud dans le système de distribution.
La base du protocole est un journal, qui n'est disponible que pour ajouter de nouvelles données. Il ne permet pas de modifier les informations déjà ajoutées. Ces journaux peuvent être distribués entre les participants du réseau en mode P2P. Dans ce cas, chaque nœud peut télécharger uniquement les fragments d'intérêt du journal et participer ensuite à leur distribution.
L'intégrité du journal est vérifiée à l'aide de la structure "Merkle Tree" (Merkle Tree). Dans ce cas, chaque branche vérifie toutes les branches et nœuds qui se trouvent en dessous. Cette vérification a été rendue possible grâce à la fonction de hachage BLAKE2b-256.
Comment créer des sites Web?
Le navigateur a déjà tout ce dont vous avez besoin. C'est un éditeur de code et des outils pour synchroniser les répertoires avec le contenu du site. Il existe également un terminal Web et une API spécialisée pour la lecture et le téléchargement de fichiers. Terminal est un shell de commande pour naviguer dans l'environnement Hyperdrive.
Les développeurs ont prévu la possibilité de relier plusieurs environnements et de les fusionner, de créer des fourches et de participer à la distribution des environnements d'autres utilisateurs.
En plus de créer des sites indépendants de l'hébergement, le navigateur est également utilisé pour l'échange de données privées, l'apprentissage de la programmation Web, le test de prototypes de sites et la simplification des interactions dans les équipes de développement Web.