Directorio de artículos
También es una coincidencia decir que el verano pasado aprendí sobre Hyperledger Fabric solo en el dormitorio. Más tarde, por varias razones, dejé esta dirección y comencé a hacer algunos trabajos de CV con el maestro. Ahora he comenzado a mirar el bloque nuevamente. Cosas relacionadas con la cadena.
Cuando comencé a aprender blockchain el año pasado, muchas cosas aún no se dominaban, como PKI y criptografía, y la red de computadoras también estaba confundida en ese momento, por lo que desperdicié mucha energía en ese momento. Solo entiendo. En ese momento, también escribí alrededor de una docena de registros de blogs, pero no he mirado atrás por mucho tiempo, y no sé cuántos errores hay.
En mi tercer año, tomé cursos como PKI y criptografía nuevamente, sentí que tal vez no había ingresado a este campo en ese momento, así que tomé muchos desvíos. En realidad no es malo pensar en ello. He aprendido mucho de la prueba y error.
Hace unos días, el instructor entregó varios documentos para su visualización, uno de los cuales era "Desenfocar las líneas entre Blockchains y los sistemas de bases de datos: el caso de Hyperledger Fabric", que de repente fue brillante después de leer ayer, especialmente el flujo de trabajo de Hyperledger Fabric en el documento. Sección. Por supuesto, la parte central también es muy emocionante y fácil de leer. La parte del algoritmo ha dado ejemplos detallados para explicar, y no sentí ninguna dificultad para terminarlo rápidamente. A partir de esto, pienso en el SBFT que vi hace unos días, que es realmente ilegible = _ = ||
Arquitectura
Fabric
Es uno permissioned blockchain system
, es decir, cada una de las redes de blockchain peer
puede conocer peer
la existencia de otros en el tiempo. Más peer
puede estar compuesto organization
, en el organization
interior, peers
entre la confianza entre sí, cada peer都
mantener una ledger
copia ledger
contiene válido y no válido transaction
, además de peer
también mantener el estado actual en la forma de un estado de la base de datos. Además peer
de esto, hay otro papel importante que se ordering service
utiliza para transaction
clasificar.
Flujo de trabajo
Fabric
El proceso básico se compone de cuatro etapas, a saber 模拟(simulate)
, 排序(order)
, 验证(validata)
, 提交(commit)
, como se muestra a continuación:
Simulación
Como su nombre lo indica, esta etapa es solo una simulación de negociación, y realmente no actualiza l edger
.
client
Inicie una solicitud de transacción, la solicitud se envía a endorsers
( endorsement peer
estas peer
se endorsement policy
seleccionan de acuerdo con ), estas transacciones se llevan a cabo de endorsers
acuerdo con la ledger状态
simulación paralela local actual , aunque el estado del libro mayor no se modifica, pero habrá read set
un write set
registro único del impacto de esta transacción. Después de que se complete la simulación, Firme endorser
la read set
suma y write set
devuélvala juntos client
.
Si el client
recibido read set
y write set
es coherente con la (posible presencia de endosante malicioso o algoritmo incierto contratos inteligentes llevan a inconsistente), entonces client
se generará una solicitud de transacción real, contener read set
, write set
y la firma correspondiente, y envía la solicitud a ordering service
.
Ordenar
ordering service
Viniendo de client
la transacción especie debe tenerse en cuenta que este no comprueba el contenido de la transacción, el orden predeterminado de llegada transacción (este simple tipo de operación diera lugar a una gran cantidad de conflictos, reducir el rendimiento, si se pulsa un orden particular La clasificación puede reducir en gran medida los conflictos de transacción y mejorar el rendimiento, que también es el trabajo más importante propuesto en este documento, y no lo explicaré aquí).
ordering service
Después de que la transacción se clasifica y empaqueta block
, se envía a la red peers
. No hay garantía de que todos la peer
reciban al mismo tiempo block
, pero se garantiza que block
el orden de recepción sea consistente (utilizado gossip协议
).
Verificar
Cuando se peer
recibe block
, comienza la fase de verificación.
La fase de verificación incluye principalmente dos verificaciones:
Endorsement Policy
Verificar
Verificar si la transacción está satisfechaendorsement policy
y si contiene una firma válida, de lo contrario, la transacción puede ser manipuladaclient
opeer
descartada directamente.- conflicto transacción comprobando
si existe un conflicto entre las operaciones de verificación, que es la cuestión de si la lectura de los datos sucios (leído en una transacciónledger
antesledger
de ser cambiado antes de un acuerdo), si hay que descartar la transacción.
Si pasa ambos cheques, puede ingresar al commit
escenario.
Enviar
peer
Se block
agregará a la cadena, tenga en cuenta que todas las transacciones (válidas e inválidas) se agregan. Luego cambie el ledger
estado actual de acuerdo con la transacción válida .
De hecho, hay un ejemplo detallado en el apéndice del documento para ilustrar el flujo de trabajo de Hyperledger Fabric. Realmente es un documento de conciencia. Recomiendo que los estudiantes que no lo entiendan vayan al documento para ver el ejemplo de la transacción ~