
O protocolo de consenso é fundamental para a validação das operações no blockchain. Porém, as tecnologias utilizadas por várias plataformas, inclusive algumas famosas, como Bitcoin e Ethereum, possuem problemas relacionados a escalabilidade e tempo na validação das transações.
Com o propósito de amenizar essas barreiras e melhorar o desempenho, a BlockchainOS apresenta o ISAAC, protocolo de consenso para a rede BOScoin baseado no Acordo Bizantino Federado modificado (mFBA).
Esse acordo reúne os pontos fortes do SCP (Protocolo de Consenso Stellar) e do FBA (Acordo Bizantino Federado), o que permite que os dados sejam armazenados de forma eficiente e segura no blockchain.
A sigla ISAAC é a abreviação das quatro etapas do consenso, que são: Inicial, Sign, Accept, All-Confirm. Com esse nome, os desenvolvedores também encontraram uma forma de homenagear o físico Isaac Newton.
Por que o ISAAC foi inventado?
Quando a BOSNet foi criada, os desenvolvedores pretendiam implantar o Acordo Bizantino Federado (FBA) como protocolo de consenso. Porém, ao realizarem estudos, constataram que o Stellar era melhor do que outros protocolos de consenso que eram considerados.
Porém, o Stellar também tinha algumas limitações que o impediam de ser o protocolo de consenso da BOScoin.
O ISAAC é baseado no mFBA, a versão modificada do FBA. Esperando que problemas semelhantes que possam surgir na FBA também possam afetar nosso protocolo, pretendemos superar esses problemas através do nosso algoritmo de consenso mFBA finalizado.
A abertura da rede pode ser obtida por um processo de qualificação necessário para um novo nó que se une à rede. O desempenho e a segurança podem ser abordados por uma integração firme e bem enraizada entre os nós, ou seja, uma interseção de quorum.
Cada votação no ISAAC será processada em quatro etapas, que são: Initial, Sign, Accept e All-Confirm.
Passo a passo
Initial: é o estágio inicial do processo. Quando uma mensagem é recebida, o validador vai verificar se todos os validadores que estão no mesmo quórum receberam a mensagem. Depois disso é criada uma cédula de estado inicial que será transmitida para os outros validadores de dentro do quórum. A cédula é transmitida será recebida para outros validadores que vão analisar o conteúdo da mensagem. Se o número de votos recebidos for superior a um limite específico, essa cédula vai para o estágio Sign.
Sign: esse estágio é responsável pela validação da cédula recebida. O resultado dessa validação será incluído na cédula e será transmitido para a rede. As cédulas coletadas serão contadas. Se elas estiverem em consenso e acima de um limite específico, seu estágio será alterado para Accept.
Accept: nessa etapa, cada validador deve armazenar a cédula em seu blockchain. Mesmo que a decisão de algum validador seja diferente da decisão do quórum inteiro, ele deve seguir a decisão do quórum, desde que ela esteja acima de um limite previamente combinado. Assim que essa verificação é concluída, a cédula prosseguirá para a próxima etapa.
All-Confirm: é o último estágio do processo de consenso. Quando ele é completado, a cédula é armazenada no blockchain.
Daqui pro futuro
A BlockchainOS trabalha constantemente no protocolo de consenso ISAAC e pretende usá-lo para outras funções da plataforma, incluindo transações e contas, votações do congresso e estados de contratos de confiança.
