Bitmessage
De WikiOpenTruc
Révision datée du 14 février 2018 à 09:19 par Admin (discussion | contributions)
13/02/2018 : A remote code execution vulnerability has been spotted in use against some users running PyBitmessage v0.6.2. The cause was identified and a fix has been added and released as 0.6.3.2. If you run PyBitmessage via code, we highly recommend that you upgrade to 0.6.3.2. Alternatively you may downgrade to 0.6.1 which is unaffected. We will release binary files for Windows and macOS tomorrow (2018-02-14). In the mean time, users who use binaries should downgrade to 0.6.1 using the links below.
Bitmessage developer Peter Šurda's Bitmessage addresses are to be considered compromised.
We greatly apologize for the issue and we hope to release more information as it becomes available.
Messagerie P2P, décentralisée, chiffrée.
- https://github.com/Bitmessage/PyBitmessage sur github, projet actif en 2018
- https://beamstat.com/ -> voir le chan bitmessage
Technique
- Top language : python (python est open-source)
- 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 (crypté), 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 (streams) différentes.
- la propagation est par flooding. Chaque noeud reçoit tout (enfin du moins de son stream),
- 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 -> streams).
- 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.
Misc
- TLS = https://en.wikipedia.org/wiki/Transport_Layer_Security
- a priori, en 2017 BM utilise la dernière version disponible TLSv1.2
Pages connexes