Expérience de pensée : IPFS & cesium pour décentraliser le web

Bonjour,

je suis un petit nouveau sur la communauté Cesium, mais par contre je participe beaucoup sur IPFS (au discuss et surtout la traduction).

Je réfléchis depuis un moment à un projet très ambitieux. je ne sais pas si beaucoup d’entre vous connaissent le projet solid. Mais donc voilà je viens humblement vous présenter ma réflexion à ce sujet : une nouvelle approche du web décentralisé basé sur IPFS, la EVM etherneum (SMART contract) et la monnaie libre (cesium à l’occurence ici).

Pour le moment mon projet n’est que de l’ordre de l’expérience de pensée.

De ce qui s’agit d’IPFS voilà ce que je peux en dire (avec mes connaissances) :

  • il n’y a aucune modération possible ? le delete n’est pas possible sur IPFS (ils prétendent être un web permanent donc pas de delete) pour le reste il y a le projet CRDT et une vidéo tutorial.

  • IPNS permet comme l’on dit certain de créer un alias sur une ressource ipfs qui permet ainsi de mettre à jour une structure de données.

  • IPLD : permet de persister objet structuré dans IPFS (il est compatible avec IPNS).

  • pubsub : est un système (experimental de souvenir) pour faire du pubsub.

  • Orbit-db est un système de base de données sur IPFS.

  • comme dit @Frederic_Renault dans une discussion sur césium et IPFS : on peut faire des choses avec le chain hash : par exemple moi même je me suis amusé à créer un adapteur pour lowdb permettant de persister le fichier plat json sur ipfs (chaque fichier contient le parentHash qui permet de remonter dans les changes) voici le code et la page. Donc par exemple je peux avoir ma petite base de données personnelle sur une application bloc note (par exemple) et l’ouvrir sur un autre pc en précisant le hash de ma db (code à venir) et on pourrait imaginer lier ça à IPNS pour avoir toujours la dernière version de la db.

c’est les quelques points sur IPFS que je peux vous apportez.

Pour mon idée de nœuds web décentralisé donc.

Comme vous avez du vous douté j’aimerais me basé sur césium pour plusieurs points :

  • Pour son approche des échanges entre les personnes.
  • Pour son DU la monnaie n’est pas créer par la force de calcul ou l’espace disque (comme dans filecoin) mais sur la communauté.
  • Système de portefeuille humain et de portefeuille simple. (peut être n’est-ce pas les bon termes).
  • Système de certifications pour qu’un portefeuille est le droit d’avoir le DU.

Pour moi si nous voulons vraiment décentralisé le web il faut avant tout changer le modèle économique. Pour les GAFAM les données personnels des utilisateurs sont la source de revenu. Pour un web décentralisé, l’objectif est de rendre les données aux gens cela ne colle pas de mon point de vue.
L’idée par exemple d’utilisé ethereum et son web 3 peut paraître intéressante mais pour cela ont doit soit acheter des eth ou alors miner.
Alors que avec la monnaie libre (comme cesium) il suffit d’avoir un portefeuille certifier et on a le droit au DU. L’autre apport de cela c’est qu’on apporte aussi la confiance dans le réseaux chose pas vraiment possible avec eth et autre crypto (a ma connaissance). c’est pour cela que je suis convaincu que la monnaie libre est intéressante pour le web décentralisé.

Donc dans chaque nœud de « mon » réseau serait en faite un nœud cesium / ipfs. Mais comme certain l’ont fait remarquer IPFS permet de persister de la data (ressource ou objet structuré) mais ne permet pas de compute c’est pour cela que comme ethereum j’utiliserais EVM et ainsi résoudre ce problème avec des SMART contract. Il semble possible d’utiliser la EVM sans eth exemple : https://github.com/ethereumjs/ethereumjs-vm.
Biensur les smart contract seront stocké sur IPFS.

voilà voilà j’aimerais bien avoir votre retour sur cela.
Cordialement

Bienvenu !

Attention, j’ai l’impression que tu considères Cesium comme un client/noeud de la Ğ1. Mais ce n’est pas le cas. Cesium est un client, pas un nœud. Les nœuds sont propulsés par Duniter.

Tout ce que tu peux faire avec Cesium sur IPFS, c’est de créer un instance web permanente, or nous faisons tout pour que les utilisateurs ne rentre pas leurs identifiants dans un navigateur pour des questions de sécurité évidentes.

Mon opinion personnelle, c’est qu’il y a plein de choses à faire avec IPFS et Duniter, mais surtout pas d’ajouter une instance web de Cesium, et surtout pas décentralisée (impossible à stopper même par son créateur). Elle sera certainement boycottée par les développeurs principaux de l’éco-système et déconseillée au profit d’une installation locale de Cesium par les contributeurs.

Fred a un grand besoin d’aide sur son G1-tag-sms-minitel-minetest-cashless-project, ton énergie y serait fort utile et bienvenue. :wink:

2 J'aimes

comment puis-je aider Fred

Comme ceci : @Frederic_Renault :slight_smile:

Ça dépend. Si on a un plugin du navigateur ou de la passerelle locale IPFS permettant de vérifier l’authenticité du code (ça devrait être facile puisque l’adresse IPFS est un hash du contenu), c’est aussi sûr que l’installation locale. Pour l’instant, ça n’est apparemment pas le cas…

Pour ma part je voulais savoir si comme avec web3 on pouvais utiliser le wallet g1 sur un autre site.

Non cela ne suffit pas. Un navigateur avec des plugins malveillants est un navigateur compromis qui va agir comme un keylogger. L’authenticité du code du serveur ne pourra rien y changer.

1 J'aime

donc c’est pas un système décentralisé ?

@chamalow De quoi parlez-vous ?

  • Duniter est le moteur blockchain, distribué.

  • la toile de confiance est un système acentré.

  • Chaque utilisateurice est maître de ses clefs privées.

  • Cesium, en tant que client Blockchain, doit être installé sur un ordinateur. Toute instance web publique de Cesium est un point de centralité qui fragilise l’ensemble. Se demander si Césium est centralisé ou non a le même sens que se demander si Firefox est centralisé ou non : c’est à coté du sujet.

  • G1Sms a une architecture décentralisée et une administration centralisée, via un trousseau IPNS maître.

Je vous recommande de chercher Ğ1Sms et IPFS sur ce forum pour vous renseigner sur les développements en cours.

Édit - d’autre part, l’utilisation de comptes membres comme authentification pour autre chose que la monnaie Ğ1 est une faille de sécurité à ne pas ouvrir.

Oui, on pourrait garder dans Cesium desktop le navigateur intégrer, et récupérer les mises a jour depuis IPFS. Ça éviterait de gérer des téléchargement depuis github ou notre gitlab.
Il existe peut être des librairies JS ou nodejs pour faire du download depuis IPFS ?

1 J'aime

Il existe peut être des librairies JS ou nodejs pour faire du download depuis IPFS ? @kimamila

pourquoi ne pas directement mettre js-ipfs par exemple est utiliser le système IPNS pour tager la dernière version de cesium avec un simple ipfs.get() pour récupérer le contenu.

Ah ok je n’avais pas compris ça. Moi ce que je recherche c’est quelque chose lib pour pouvoir recupérer le wallet et faire par exemple des transaction par exemple comme eth et web3.

libre ? librairie ?

récupérer le trousseau clef publique/clef privée ?

On peut faire des transactions sur le réseau Duniter (je ne sais pas ce qu’est web3), mais je ne sais pas si le trousseau Duniter est compatible avec eth.

Voir par exemple cette discussion sur l’utilisation des wallets Duniter dans Scuttlebot, et inversement.

quelque chose lib = librairie ou bibliothèque

récupérer le trousseau clef publique/clef privée ? oui

faire par exemple des transaction par exemple comme eth et web3 = merci pour le lien

Tu peux gérer tes portefeuilles avec Silkaj et faire des transactions en ligne de commande.

Tu peux utiliser la bibliothèque Python DuniterPy pour utiliser les apis BMA et WS2P de Duniter.

et en javascript par exemple pour mettre sur un frontend ?

Non, rien à l’horizon.

Un projet à lancer ! Tu t’y colles ? Il y a tout ce qu’il faut dans le code de Cesium. :wink:

Pas besoin de s’embêter à implémenter ça, il suffit de publier Cesium sur IPFS et hop. C’est la passerelle qui gère le téléchargement.

Idem pour l’OS et le matériel… Qui compromettent également la sécurité de la version Cesium desktop. Si l’utilisateur fait confiance à son navigateur, alors il pourra utiliser la version web, sinon si il fait confiance à son OS, alors il pourra utiliser la version desktop, sinon (et ça devrait être le cas pour plein de gens) ils n’utilisent pas Cesium.

1 J'aime

je vais regarder, si j’ai le niveau pour ça

1 J'aime