Décrivez brièvement le flux de travail de Hyperledger Fabric

C'est aussi une coïncidence de dire que l'été dernier, j'ai appris l'existence d'Hyperledger Fabric dans le dortoir seul. Plus tard, pour diverses raisons, j'ai abandonné cette direction et j'ai commencé à travailler sur le CV avec le professeur. Maintenant, j'ai recommencé à regarder le bloc. Trucs liés à la chaîne.
Lorsque j'ai commencé à apprendre la blockchain l'année dernière, beaucoup de choses n'étaient pas encore maîtrisées, telles que l'ICP et la cryptographie, et le réseau informatique était également confus à l'époque, alors j'ai gaspillé beaucoup d'énergie à l'époque. Comprenez seulement. À cette époque, j'ai également écrit une douzaine d'enregistrements de blogs, mais je n'ai pas regardé en arrière depuis longtemps et je ne sais pas combien d'erreurs il y a.
Au cours de ma première année, j'ai repris des cours comme l'ICP et la cryptographie. Je sentais que je n'étais peut-être pas entré dans ce domaine à ce moment-là, j'ai donc pris beaucoup de détours. En fait, ce n'est pas une mauvaise chose d'y penser. J'ai beaucoup appris des essais et erreurs.
Il y a quelques jours, l'instructeur a donné plusieurs articles à consulter, dont l'un était `` Brouiller les lignes entre les chaînes de blocs et les systèmes de base de données: le cas de Hyperledger Fabric '', qui était soudainement brillant après la lecture d'hier, en particulier le flux de travail de Hyperledger Fabric dans le journal. Section. Bien sûr, la partie centrale est également très excitante et facile à lire, la partie algorithme a donné des exemples détaillés à expliquer et je n'ai eu aucune difficulté à la terminer rapidement. De cela je pense au SBFT que j'ai regardé il y a quelques jours, celui-là est vraiment illisible = _ = ||

L'architecture

FabricC'est un permissioned blockchain system, c'est-à-dire que chacun de l'ensemble du réseau de blockchain peerpeut connaître peerl'existence des autres dans le temps. Plus peerpeut être composé organization, à l' organizationintérieur, peersentre la confiance entre eux, chacun de peer都maintenir une ledgercopie ledgercontient valides et non valides transaction, en plus de peermaintenir également l'état actuel sous la forme d'un état de la base de données. En plus peerde cela, il y a un autre rôle important qui est ordering serviceutilisé pour transactionclasser.

Flux de travail

FabricLe procédé de base consiste en quatre étapes, à savoir 模拟(simulate), 排序(order), 验证(validata), 提交(commit), comme indiqué ci - dessous:
FLUX DE TRAVAIL

La simulation

Comme son nom l'indique, cette étape n'est qu'une simulation de trading, et ne met pas vraiment à jour l edger.

clientInitier une demande de transaction, la demande est envoyée à endorsers( endorsement peer, elles peersont endorsement policysélectionnées en fonction de ), ces transactions sont effectuées endorsersselon la ledger状态simulation parallèle locale actuelle , bien que l'état du grand livre ne soit pas modifié, mais il y aura un read setet un write setenregistrement de l'impact de cette transaction. Signez endorserla read setsomme et write setretournez-la ensemble client.

Si le clientreçu read setet write setest conforme à la (présence possible de endosseur malveillants ou d'un algorithme incertain des contrats intelligents conduisent à incompatibles), alors clientil va générer une véritable demande de transaction, contenir read set, write setet la signature correspondante, et envoie la demande à ordering service.

Trier

ordering serviceEn venant de clientla sorte transaction est à noter que cela ne vérifie pas le contenu de la transaction, l'ordre de tri par défaut d'arrivée de transaction (cette sorte simple transaction pourrait conduire à beaucoup de conflits, réduire les performances, si vous appuyez sur un ordre particulier Le tri peut réduire considérablement les conflits de transactions et améliorer le débit, ce qui est également le travail le plus important proposé dans cet article, et je ne développerai pas ici).

ordering serviceUne fois la transaction triée et conditionnée block, elle est envoyée au réseau peers. Il n'y a aucune garantie que tous les peerrecevront en même temps block, mais blockl'ordre de réception est garanti cohérent (utilisé gossip协议).

Vérifiez

Une fois peerreçue block, la phase de vérification commence.

La phase de vérification comprend principalement deux contrôles:

  • Endorsement PolicyVérifier
    Vérifiez si la transaction est satisfaite endorsement policyet si elle contient une signature valide, sinon la transaction peut être falsifiée clientou peerrejetée par malveillance directement.
  • conflit de transaction vérifier
    s'il y a un conflit entre les opérations de contrôle, qui est la question de savoir si la lecture des données sales (lire dans une transaction ledgeravant d' ledgerêtre changé avant un accord), si l' on veut éliminer la transaction.

Si vous réussissez les deux contrôles, vous pouvez entrer dans l' commitétape.

Soumettre

peerSera blockajouté à la chaîne, notez ici que toutes les transactions (valides et invalides) sont ajoutées. Modifiez ensuite l' ledgerétat actuel en fonction de la transaction valide .


En fait, il y a un exemple détaillé dans l'annexe du papier pour illustrer le flux de travail d'Hyperledger Fabric. C'est vraiment un papier de conscience. Je recommande aux étudiants qui ne le comprennent pas d'aller voir le papier pour voir l'exemple de la transaction ~

A publié 74 articles originaux · J'aime 11 · Visites 30 000+

Je suppose que tu aimes

Origine blog.csdn.net/yijiull/article/details/94966044
conseillé
Classement