Bitmessage
P2P, décentralisé, chiffré
Top language : python
- https://github.com/Bitmessage/PyBitmessage sur github, projet actif en 2017
Sommaire
Technique
- sauf erreur, la propagation est par flooding. Tout le monde reçoit tout (enfin du moins de son voisinage), mais seul ceux qui ont les clés décodent. (... tel quel, ça pose(rait) un gros problème de scalabilité, mais des améliorations sont envisagées sur ce point).
- l'envoi d'un message passe par une PoW (pour éviter spam et attaques sybil)
- l'envoi d'un message est précédé d'une demande de clé au destinataire (vérifier les détails)
- les messages ont une durée de vie de 48h, donc pas de blockchain qui s'allonge à l'infini
- Points communs avec bisq bitsquare https://bisq.network/blog/new-p2p-network/
Additionally to the publicly readable data like the offers there are data stored which need to remain private. There are trade process messages which are stored in a kind of mailbox in case the peer is offline. Those data are encrypted and signed and also sent to every node for storage. Only the receiver (who has the private key) can decrypt the data. A similar approach is used in Bitmessage.
Install
Sur raspberry 3.
... /home/pi# lsb_release -a Description: Raspbian GNU/Linux 9.3 (stretch)
apt-get update ; apt-get upgrade ; apt-get dist upgrade ; as usual
apt-get install python ; déjà installé ici
apt-get install openssl ; déjà installé ici
apt-get install libssl-dev ; ~ 10Mo consommés
apt-get install git ; déjà installé ici
apt-get install python-msgpack ; 228 Ko
apt-get install python-qt4 ; 59.4 Mo
On note l'intérêt d'avoir des paquets déjà présents dans les distros de base.
Docs (si vous voulez savoir ce que font ces paquets) :
- https://packages.debian.org/stretch/python par défaut sur Debian
- https://packages.debian.org/stretch/openssl
- https://packages.debian.org/stretch/libssl-dev
- https://packages.debian.org/stretch/git
- https://packages.debian.org/stretch/python-msgpack
- https://packages.debian.org/stretch/python-qt4 sauf erreur, c'est une couche graphique
download du code source :
git clone https://github.com/Bitmessage/PyBitmessage $HOME/PyBitmessage
360 fichiers, 14.1Mo.
NB : a priori, rien n'oblige à procéder via git clone
un download classique fonctionne a priori tout aussi bien.
Mais bon, avec git on peut évidemment faire éventuellement plus de choses.
Contenu
- 153 fichiers *.py , 1 fichier *.cpp
Soucis possibles
- il y a des IPs en clair dans le code source. a priori il s'agirait des noeuds de bootstrap. Un attaquant du réseau Bitmessage pourrait cibler ces IPs (attaque DoS ou autre).
- NB : Les IPs 2017 ne sont pas les mêmes qu'en 2013.
- on ne peut pas exclure que ces IPs soient des honey pots ?
- comment pourrait-on contourner ce souci ?
Concurrents
- https://crypviser.network/ pour le 20 août 2018 ... site souvent inaccessible ? semble payant, au moins en partie.
- https://www.coingecko.com/en/coins/cvcoin
- https://www.coingecko.com/en/price_charts/cvcoin/usd#panel chart date du 30/10/2017
- scayl ? BTsync ?
Liens
- http://linuxfr.org/users/julmx/journaux/bitmessage-envoi-de-messages-chiffres-en-p2p article de 2013
- https://bitmsg.me/ send and receive Bitmessages directly from a web browser
- https://bitmessage.org/forum/index.php?topic=1666.0 critique détaillée des faiblesses de bitmessage
- Bitmessage : lorsque le protocole de Bitcoin protège vos conversations https://www.nextinpact.com/news/80282-bitmessage-lorsque-protocole-bitcoin-protege-vos-conversations.htm
Misc
(à rebalancer où il faut)
- http://changaco.oy.lc/ins/ INS Internet Name Server (P2P). Normalement le bénéficiaire d'un nom doit aussi contribuer à maintenir la base de noms/IPs en ligne
- twister reposerait sur une blockchain
Pages connexes