Annuaire d'articles
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
Fabric
C'est un permissioned blockchain system
, c'est-à-dire que chacun de l'ensemble du réseau de blockchain peer
peut connaître peer
l'existence des autres dans le temps. Plus peer
peut être composé organization
, à l' organization
intérieur, peers
entre la confiance entre eux, chacun de peer都
maintenir une ledger
copie ledger
contient valides et non valides transaction
, en plus de peer
maintenir également l'état actuel sous la forme d'un état de la base de données. En plus peer
de cela, il y a un autre rôle important qui est ordering service
utilisé pour transaction
classer.
Flux de travail
Fabric
Le procédé de base consiste en quatre étapes, à savoir 模拟(simulate)
, 排序(order)
, 验证(validata)
, 提交(commit)
, comme indiqué ci - dessous:
La simulation
Comme son nom l'indique, cette étape n'est qu'une simulation de trading, et ne met pas vraiment à jour l edger
.
client
Initier une demande de transaction, la demande est envoyée à endorsers
( endorsement peer
, elles peer
sont endorsement policy
sélectionnées en fonction de ), ces transactions sont effectuées endorsers
selon la ledger状态
simulation parallèle locale actuelle , bien que l'état du grand livre ne soit pas modifié, mais il y aura un read set
et un write set
enregistrement de l'impact de cette transaction. Signez endorser
la read set
somme et write set
retournez-la ensemble client
.
Si le client
reçu read set
et write set
est conforme à la (présence possible de endosseur malveillants ou d'un algorithme incertain des contrats intelligents conduisent à incompatibles), alors client
il va générer une véritable demande de transaction, contenir read set
, write set
et la signature correspondante, et envoie la demande à ordering service
.
Trier
ordering service
En venant de client
la 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 service
Une 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 peer
recevront en même temps block
, mais block
l'ordre de réception est garanti cohérent (utilisé gossip协议
).
Vérifiez
Une fois peer
reçue block
, la phase de vérification commence.
La phase de vérification comprend principalement deux contrôles:
Endorsement Policy
Vérifier
Vérifiez si la transaction est satisfaiteendorsement policy
et si elle contient une signature valide, sinon la transaction peut être falsifiéeclient
oupeer
rejeté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 transactionledger
avant 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
peer
Sera block
ajouté à 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 ~