blockchain - transaction - which of the following platform(s) provides a modular architecture?
Algoritmo PBFT en el hipertranqueador (3)
"Hyperledger" es un consorcio de blockchain bajo The Linux Foundation. Actualmente hay al menos 4 implementaciones diferentes de marcos de blockchain bajo Hyperledger:
- Tela (IBM)
- Corda (R3)
- Iroha
- Lago de diente de sierra (Intel)
En tela v0.6 :
Todos los compañeros de validación mantienen una conexión abierta entre sí. Puede enviar su transacción a cualquiera de ellos, y esta transacción se transmitirá a otros pares de la red. Uno de sus compañeros es elegido como "líder". En el momento en que se va a generar un nuevo bloque:
- El líder ordena las transacciones candidatos que deben incluirse en un bloque y difunde esta lista de transacciones ordenadas a todos los demás pares de validación en la red.
- Cuando cada uno de los pares de validación recibe la lista ordenada de transacciones, cada par de validación hace lo siguiente:
- Comienza a ejecutar las transacciones ordenadas una por una.
- Tan pronto como se ejecuten todas las transacciones, calculará el código hash para el bloque recién creado (el código hash incluye hashes para las transacciones ejecutadas y el estado final del mundo).
- Luego transmite su respuesta (el código hash resultante) a otros compañeros de la red y comienza a contar las respuestas de ellos.
- Si ve que 2/3 de todos los pares de validación tienen el mismo código hash, enviará el nuevo bloque a su copia local del libro mayor.
En tela v1.0 :
Esta versión aún está en desarrollo. En v1 el no es "líder", el servicio separado " Orderer " es responsable del orden de las transacciones en un bloque. Este servicio es conectable y anunció que habrá 3 opciones diferentes:
- Solo - solo proceso es responsable de ordenar
- Ordenador Kafka: aprovecha el sistema de pubsub de Kafka para realizar el pedido.
- PBFT - no está implementado todavía.
En Corda :
PBFT no se utiliza. Esta implementación utiliza otro enfoque de arquitectura.
¿Alguien puede explicar el algoritmo PBFT en detalle sin dar ningún enlace para el mismo? Y como funciona en el hipolipador . Entonces, una vez que la transacción es enviada a la blockchain
:
(1). ¿Quién valida la transacción?
(2). ¿Cómo se logra el consenso sobre la transacción?
(3). ¿Cómo se compromete la transacción con el blockchain?
En Corda, el consenso es proporcionado por los notarios. Depende del operador notario qué algoritmo de consenso utilizan. BFT es una opción. Puede ver un ejemplo de notario de Corda BFT aquí: https://github.com/corda/corda/tree/master/samples/notary-demo .
Para responder tu pregunta:
(1). ¿Quién valida la transacción?
La transacción es validada por un grupo de uno o más notarios. Los notarios son nodos con el único propósito de deconflictar los intentos de doble gasto.
(2). ¿Cómo se logra el consenso sobre la transacción?
Utilizando un algoritmo BFT estándar. Cada nodo en el grupo de notarios vota si considera que la transacción es un intento de doble gasto. La decisión final se basa en una regla de la mayoría y puede tolerar hasta 1/3 de los nodos del clúster que son maliciosos.
(3). ¿Cómo se compromete la transacción con el blockchain?
En Corda, no hay un almacén central de información con el que se comprometa la transacción. El grupo de notarios simplemente agrega la referencia de estado agotado a una tabla de base de datos interna. Verificará los intentos futuros de gastar estados en esta tabla y rechazará el intento de gasto si la referencia del estado ya está almacenada allí.
Lo anterior faltan los algoritmos de consenso de Hyperledger Sawtooth, así que aquí están:
- Prueba de PoET del tiempo transcurrido (algoritmo de consenso de estilo Nakamoto opcional utilizado para Sawtooth). PoET con SGX tiene BFT. Poet Simulator tiene CFT. No hace uso intensivo de la CPU como con los algoritmos de estilo PoW, aunque todavía puede bifurcar y tener bloques obsoletos. Consulte la especificación PoET en https://sawtooth.hyperledger.org/docs/core/release s / latest / architecture / poet.html
- RAFT Algoritmo de consenso que elige a un líder por un período de tiempo arbitrario. Líder reemplazado si se agota el tiempo. La balsa es más rápida que el PoET, pero no es BFT (la balsa es CFT). También la balsa no se bifurca. Hyperledger Sawtooth tiene la ventaja de tener un Consenso Desenchufable. Se puede cambiar un algoritmo sin reiniciar la cadena de bloques o incluso reiniciar el software.
Aquí hay algunos otros algoritmos de consenso:
- Prueba de trabajo de trabajo. Completar trabajo (algoritmo de consenso de estilo Nakamoto con uso intensivo de CPU). Usado generalmente en blockchains sin permiso
- Prueba de estaca de PoS. Algoritmo de consenso al estilo de Nakamoto basado en la mayoría de la riqueza o la edad (estaca)
- PBFT Práctica tolerancia a fallos bizantinos. Un algoritmo de consenso "clásico" que utiliza una máquina de estados. Utiliza el líder y la elección de bloque. PBFT es un algoritmo trifásico de uso intensivo de red (mensajes n ^ 2), por lo que no es escalable a redes grandes