Signal Messenger a repris la publication du code du serveur et de la crypto-monnaie intégrée

La Signal Technology Foundation, qui développe le système de communication sécurisé Signal, a repris la publication du code des parties serveur de la messagerie. Le code du projet était à l'origine open source sous licence AGPLv3, mais la publication des modifications dans le référentiel public a été arrêtée sans explication le 22 avril de l'année dernière. La mise à jour du référentiel s'est arrêtée après l'annonce de l'intention d'intégrer un système de paiement dans Signal.

Récemment, nous avons commencé à tester le système de paiement intégré à Signal, basé sur notre propre crypto-monnaie MobileCoin (MOB), développée par Moxie Marlinspike, l'auteur du protocole Signal. À peu près au même moment, les modifications apportées aux composants du serveur accumulées au cours de l'année ont été publiées dans le référentiel, y compris celles incluant la mise en œuvre d'un système de paiement.

Signal Messenger a repris la publication du code du serveur et de la crypto-monnaie intégrée

La crypto-monnaie MobileCoin est conçue pour créer un réseau de paiement mobile qui garantit la confidentialité des utilisateurs. Les données des utilisateurs restent entre leurs mains uniquement et les développeurs de Signal ou les administrateurs d'éléments d'infrastructure n'ont pas la possibilité d'accéder à l'argent, aux données de solde des utilisateurs et à l'historique des transactions. Le réseau de paiement n'a pas de point de contrôle unique et repose sur l'idée de propriété partagée, dont l'essence est que tous les fonds du réseau sont constitués comme un ensemble d'actions individuelles pouvant être échangées. Le montant total des fonds sur le réseau est fixé à 250 millions de MOB.

MobileCoin est basé sur une blockchain qui stocke l'historique de tous les paiements réussis. Pour confirmer la propriété des fonds, vous devez disposer de deux clés : une clé pour transférer des fonds et une clé pour afficher le statut. Pour la plupart des utilisateurs, ces clés peuvent être dérivées d'une clé de base commune. Pour recevoir le paiement, l'utilisateur doit fournir à l'expéditeur deux clés publiques correspondant aux clés privées existantes utilisées pour envoyer et vérifier la propriété des fonds. Les transactions sont générées sur l’ordinateur ou le smartphone de l’utilisateur, après quoi elles sont transférées vers l’un des nœuds ayant le statut de validateur pour être traitées dans une enclave isolée. Les validateurs vérifient la transaction et partagent des informations sur la transaction avec d'autres nœuds du réseau MobileCoin via une chaîne (peer to peer).

Les données ne peuvent être transférées que vers des nœuds qui ont vérifié cryptographiquement l'utilisation du code MobileCoin non modifié dans l'enclave. Chaque enclave isolée reproduit une machine à états qui ajoute des transactions valides à la blockchain à l'aide du protocole de consensus MobileCoin pour confirmer les paiements. Les nœuds peuvent également assumer le rôle de validateurs complets, qui forment et hébergent en outre une copie publique de la blockchain calculée sur les réseaux de diffusion de contenu. La blockchain résultante ne contient pas d’informations permettant d’identifier un utilisateur sans connaître ses clés. La blockchain ne contient que des identifiants calculés sur la base des clés de l’utilisateur, des données cryptées sur les fonds et des métadonnées pour le contrôle de l’intégrité.

Pour garantir l'intégrité et protéger contre la corruption des données après coup, une structure arborescente Merkle Tree est utilisée, dans laquelle chaque branche vérifie toutes les branches et nœuds sous-jacents via un hachage conjoint (arborescent). Disposant du hachage final, l'utilisateur peut vérifier l'exactitude de tout l'historique des opérations, ainsi que l'exactitude des états passés de la base de données (le hachage de vérification racine du nouvel état de la base de données est calculé en tenant compte de l'état passé ).

En plus des validateurs, le réseau dispose également de nœuds Watcher, qui vérifient les signatures numériques que les validateurs attachent à chaque bloc de la blockchain. Les nœuds d'observateur surveillent en permanence l'intégrité du réseau décentralisé, conservent leurs propres copies locales de la blockchain et fournissent des API pour les applications de portefeuille et les clients d'échange. N'importe qui peut exécuter le validateur et le nœud d'observation ; à cet effet, les services correspondants, les images d'enclave pour Intel SGX et le démon mobilecoind sont distribués.

Le créateur de Signal a expliqué l'idée d'intégrer la crypto-monnaie dans la messagerie avec le désir de fournir aux utilisateurs un système de paiement facile à utiliser qui protège la confidentialité, de la même manière que la messagerie Signal assure la sécurité des communications. Bruce Schneier, un expert bien connu dans le domaine de la cryptographie et de la sécurité informatique, a critiqué les actions des développeurs de Signal. Schneier estime que mettre tous ses œufs dans le même panier n'est pas la meilleure solution, et le fait n'est pas que cela entraîne une surcharge et une complexité du programme, ni même que l'utilisation de la blockchain est douteuse, ni qu'il s'agit d'une tentative. pour lier Signal à une crypto-monnaie.

Le principal problème, selon Schneier, est que l’ajout d’un système de paiement à une application cryptée de bout en bout crée des menaces supplémentaires associées à un intérêt accru de la part de diverses agences de renseignement et régulateurs gouvernementaux. Les communications et les transactions sécurisées pourraient facilement être mises en œuvre en tant qu'applications distinctes. Les applications qui mettent en œuvre un cryptage fort de bout en bout sont déjà attaquées et il est dangereux d'augmenter encore le degré d'opposition - lorsque les fonctionnalités sont combinées, l'impact sur le système de paiement entraînera la fonctionnalité de cryptage de bout en bout. . Si une partie meurt, c’est tout le système qui meurt.

Source: opennet.ru

Ajouter un commentaire