Bitmessage
De WikiOpenTruc
P2P, décentralisé, chiffré
Top language : python (python est open-source)
- https://github.com/Bitmessage/PyBitmessage sur github, projet actif en 2017
Sommaire
Technique
- le whitepaper n'emploie nulle part le mot blockchain. Pour la bonne raison qu'il n'y en a pas (au sens bitcoin). Il n'y a pas de production de blocs toutes les n minutes, pas de scellement de blocs, etc. Chaque noeud maintient simplement un fichier SQL propre, qui contient tous les messages datés de moins de 48 heures. Il n'y a pas lieu d'y avoir d'identicité de tous ces fichiers SQL, étant donné qu'il est envisagé (pour des raisons de scalabilité) que les fichiers de messages puissent différer entre noeuds de branches différentes.
- sauf erreur, la propagation est par flooding. Chaque noeud reçoit tout (enfin du moins de son voisinage),
- et de plus, un noeud essaie systématiquement de décoder tout ce qu'il reçoit (du fait que les identités de l'expéditeur et du/des destinataire(s) sont cryptées)
- (... 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
- plusieurs personnes ont écrit leur propre code, dans des langages autres que python, eg go, pour leur noeud
- il y a des noeuds qui tournent sur VPS ( https://bitmessage.org/forum/index.php?topic=5219.0 )
- a priori, serait aussi utilisable directement depuis une clé USB
- 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.
Contributions possibles
- https://bitmessage.org/forum/index.php?topic=5276.0 cherche dev python pour pondre des stats sur bitmessage (nb de nodes, etc). ça date de 2016, mais on peut demander où ça en est ?
- MiNode est un client dit tout simple
- I've been also testing how stable MiNode currently is and it managed to run for 2 months without crashing while maintaining ~150 connections on low-end VPS.
- voir l'intérêt par rapport à BM en mode daemon
- https://www.transifex.com/bitmessage-project/pybitmessage/ traduction GUI
- https://github.com/Bitmessage/PyBitmessage/issues/206 traduction wiki
- gestion du wiki
Soucis
IPs en clair dans le code source
- 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 ?
Forward du port 8444
- a yellow light would mean that you only have outgoing connections, but no incoming.
- you may have to configure port-forwarding on your router, to forward port 8444 from wan to port 8444 on the computer running the bitmessage-client.
- https://portforward.com/huawei/e5573s/ a priori indique la bonne démarche ... mais le voyant reste jaune
- http://openmyip.com/Huawei-E5573-router-setup idem
- a priori, avant de vouloir faire du port forwarding, il faut déjà que la machine concernée ait une adresse IP fixe, et a priori ce n'est pas le cas
- https://raspberrypi.stackexchange.com/questions/37920/how-do-i-set-up-networking-wifi-static-ip-address/74428#74428
- https://www.modmypi.com/blog/how-to-give-your-raspberry-pi-a-static-ip-address-update
- https://thepihut.com/blogs/raspberry-pi-tutorials/16683276-how-to-setup-a-static-ip-address-on-your-raspberry-pi
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 ?
Misc
- TLS = https://en.wikipedia.org/wiki/Transport_Layer_Security
- a priori, en 2017 BM utilise la dernière version disponible TLSv1.2
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
- https://beamstat.com/ des statistiques sur bitmessage
Pages connexes