Enquanto eu lia sobre a Arquitetura dos Protocolos Newton, uma coisa chamou minha atenção. Eles decidiram separar a lógica de política, computação e execução em três camadas.

* A primeira camada é chamada de Camada de Política. Aqui as políticas são definidas, configuradas e conectadas a oráculos que fornecem dados. Esta camada determina quais regras devem ser aplicadas, como limites de gastos, verificações de sanções ou requisitos de conheça seu cliente.

A segunda camada é Compute & Consensus. Ao verificar políticas na blockchain, a Newton envia tarefas para uma rede de operadores por meio de um Gateway. Esses operadores obtêm os dados, avaliam a política e criam assinaturas.

* Um agregador então combina essas assinaturas em uma única prova depois que operadores suficientes concordam.

A Camada de Verificação e Execução entra em cena depois disso.

* Aqui o PolicyClient verifica a prova por meio do AttestationValidator antes que a transação possa acontecer.

* O contrato inteligente verifica o resultado de refazer o trabalho de política.

Do ponto de vista de engenharia, essa separação ajuda.

* Mantém tudo claro e separado.

* A Camada de Política define apenas regras.

* A Camada de Computação e Consenso só produz uma avaliação.

* A Camada de Verificação só verifica a prova antes da execução.

Por causa dessa separação, as regras de política podem mudar sem afetar os contratos de verificação.

* A verificação permanece separada de como os operadores avaliam as políticas.

* Isso também cria um fluxo de trabalho.

* Os desenvolvedores definem políticas uma vez.

* Os operadores avaliam isso fora da blockchain.

* Contratos inteligentes só verificam a prova antes de executar transações.

Newton torna a avaliação de políticas um serviço separado que produz provas para contratos.

* Achei essa separação interessante na documentação.

Conforme a autorização on-chain se torna mais complexa, faz mais sentido separar a definição, a avaliação e a verificação de políticas, em vez de colocar a lógica de autorização diretamente em contratos inteligentes @NewtonProtocol #Newt $NEWT