web-dev-qa-db-fra.com

Quelle est la différence entre Hyperledger Fabric et Sawtooth?

Hyperledger Fabric et Hyperledger Sawtooth sont des plates-formes permettant de créer des applications de grand livre distribuées, prenant en charge des mécanismes de consensus enfichables et des contrats intelligents (chaincodes).

Quelles sont les principales différences entre alors? Quand choisir l'un par rapport à l'autre pour mettre en œuvre une solution blockchain?

30
Joaquim Oliveira

Voici les différences importantes à prendre en compte lors du choix entre Hyperledger Fabric et Hyperledger Sawtooth:

  • Permissioned/Permissionless

    • Hyperledger Sawtooth prend en charge les réseaux blockchain autorisés et non autorisés. Sawtooth a une approche flexible qui utilise des rôles et des autorisations.

    • Hyperledger Fabric ne prend en charge que les réseaux de chaînes de blocs autorisés. Fabric adopte une approche normative/bien définie par le biais de fournisseurs de services d’appartenance enfichables (MSP) qui permet un cadre de gouvernance plus étroit.

  • algorithmes de consensus

    • Sawtooth utilise Preuve du temps écoulé (PoET) basée sur les extensions Software Guard Extensions (SGX) d'Intel pour élire les dirigeants à réduire les blocs en fonction des temps d'attente aléatoires, une approche plus économe en énergie que la traditionnelle Preuve de travail, qui permet de passer à des réseaux très grands.

    • Fabric prend en charge des algorithmes de consensus enfichables pour ordonner les transactions en blocs, avec le support Kafka disponible depuis la version v1.0) et les implémentations Raft et BFT en développement.

  • langage du contrat intelligent

    • Hyperledger Sawtooth prend en charge les contrats basés sur Go, JavaScript, Java, Python, Rust et Ethereum Solidity.

    • Hyperledger Fabric prend en charge les contrats basés sur Go, JavaScript, Java et Ethereum Solidity.

  • Confidentialité

    • Dans Hyperledger Sawtooth, les pairs ont accès à toutes les données de transaction.

    • Dans Hyperledger Fabric, il existe plusieurs niveaux de confidentialité. Vous pouvez définir des "canaux" pour une isolation complète des données entre un ensemble de participants, chaque canal étant essentiellement sa propre chaîne de blocs privée. Vous pouvez également utiliser des "collectes de données privées" lorsque les participants doivent effectuer des transactions dans la même chaîne de blocs, tout en conservant les données privées dans un sous-ensemble de transacteurs (et éventuellement de régulateurs/auditeurs). Les données privées sont partagées entre homologues, les hachages stockés dans la blockchain servant de preuve permettant à tous les homologues de valider les transactions. De plus, vous pouvez utiliser Identity Mixer pour préserver l'anonymat des émetteurs de transactions.

  • Flux de transaction

    • Hyperledger Sawtooth prend en charge le flux traditionnel blockchain de Order-Execute-Commit.

    • Hyperledger Fabric prend en charge un modèle d'approbation unique dans lequel les transactions sont initialement exécutées sur un ensemble de pairs et suit un modèle Execute-Order-Commit. L'ensemble des endosseurs requis peut être défini au niveau du contrat ou au niveau des données. Cette approche améliore l’évolutivité, évite le non déterminisme dans le code de contrat et permet d’exécuter des transactions en privé entre un ensemble de transacteurs, comme mentionné ci-dessus.

  • Divers

    • Hyperledger Sawtooth prend en charge les lots de transactions en tant qu’unité de travail, c’est-à-dire que toutes les transactions d’un lot sont validées ou qu’aucune d’entre elles n’est validée.

    • Hyperledger Sawtooth inclut un serveur d’API (générique) REST

    • Hyperledger Fabric prend en charge les requêtes issues du chaincode de contrat intelligent, à l'aide de requêtes de plage de clés ou de requêtes JSON (lors de l'utilisation de CouchDB en tant que base de données d'état)

50
Naveen Sachdeva

Hyperledger Sawtooth prend en charge à la fois les implémentations avec et sans blocs, alors que Hyperledger Fabric ne prend en charge que les implémentations avec blocs.

2
kots

A votre deuxième question:

When to choose one over the other to implement a blockchain solution?

À mon avis, la différence fondamentale pour les entreprises réside dans le fait que Hyperledger Fabric vous permet de garder un sous-ensemble de données privé pour un sous-ensemble de participants.

Je pense que tous les réseaux d’affaires réels en auront éventuellement besoin.

0
Ytsen de Boer