Acabei de ficar refletindo sobre algo do pequeno negócio de comércio da minha família. Precisamos de duas assinaturas de três (papai e meus dois tios) para valores acima de um certo limite.

Uma vez, a caixa do banco reteve um pagamento a tarde inteira porque a assinatura de um tio parecia um pouquinho diferente do cartão de amostras. Eles basicamente fizeram duas verificações ao mesmo tempo: o tipo de tinta combina com a pessoa e essa pessoa está autorizada a assinar.

Eu pensei que a parte de políticas do Newton lidaria só com o aspecto “permitido”, deixando a verificação da assinatura em si para camadas criptográficas fora disso. Mas lendo mais a fundo, é tudo em um único lugar.
A política deles consegue recuperar o verdadeiro signatário diretamente da assinatura bruta usando ecdsa.recover dentro do Rego.

Então, no exemplo de multisig, ela puxa os endereços do Ethereum, verifica quem está autorizado e aprova somente quando duas assinaturas genuínas correspondem. Bem limpo.
O exemplo de delegação pareceu ainda mais real: Alice dá a Bob a autoridade, e Bob assina a transação. A política verifica as duas assinaturas de uma vez: a intenção real e o documento de delegação, confirma que não expirou, etc. Como uma procuração de verdade, mas totalmente em código.
O que eu gosto é que continua determinístico, então as provas de conhecimento zero ainda podem funcionar com isso depois.

Uma coisa que me deixa curioso, porém — quando você precisa trocar um signatário (digamos que um tio se afasta e outra pessoa entra), é só atualizar a lista de dados externos ou você precisa republicar toda a política? Alguém aqui já lidou com atualizar signatários autorizados em uma conta de empresa? Quão grande foi a dor de cabeça?

Cripto adora ir super rápido e depois agir como surpresa quando as coisas quebram. O Newton parece estar tentando colocar regras sensatas na frente antes do dinheiro se mover, em vez de consertar depois. Não é a ideia mais barulhenta do espaço, mas é uma que realmente parece útil.
$NEWT #Newt @NewtonProtocol