MozaikPay Docs
Como funcionaNos bastidores

Contas inteligentes e abstração de contas

O que é uma conta inteligente, em que ela difere de uma conta cripto clássica e o que ela torna possível.

Sua carteira MozaikPay não é uma conta cripto clássica. Ela é uma conta inteligente, um pequeno programa que vive na Base, guarda seus dólares digitais e define as próprias regras para movê-los. Esta página explica o que isso significa e o que isso torna possível.

A conta clássica

Em redes no estilo do Ethereum, a conta básica não passa de um par de chaves. O endereço deriva da chave, e a rede aplica uma única regra fixa. Uma instrução com uma assinatura válida daquela chave pode fazer qualquer coisa, e uma instrução sem ela não pode fazer nada.

Essa simplicidade é a origem da maioria das arestas afiadas do mundo cripto. A chave é a conta, então nunca pode ser trocada, e qualquer um que a descubra é dono do dinheiro, para sempre. Não existe reserva, porque a rede reconhece exatamente uma chave, e cada conta paga as próprias taxas de rede, na moeda da própria rede, sem exceção.

Contas feitas de código

A abstração de contas troca essa regra fixa por uma que dá para escrever. Sob um padrão chamado ERC-4337, uma conta pode ser um contrato, um programa na rede que guarda fundos e decide por conta própria quais instruções estão validamente autorizadas. Como ele decide depende do código que carrega dentro.

A mudança soa técnica, e muda tudo sobre como uma carteira pode se comportar. As chaves deixam de ser a conta e viram credenciais que a conta reconhece, o que significa que podem ser limitadas a certos trabalhos, e podem ser substituídas.

O que a nossa conta faz com essa liberdade

Duas chaves com poderes diferentes. A conta reconhece uma chave de gastos e uma chave de recuperação, e verifica qual delas assinou cada instrução contra o que a instrução pede. Pagamentos precisam da chave de gastos, trocas de chave precisam da chave de recuperação, e um par errado é rejeitado pela própria rede. O modelo de duas chaves explica por que os trabalhos são divididos assim.

Fechaduras que podem ser trocadas. Como as chaves são credenciais e não a conta em si, perder um telefone significa girar uma chave, não abandonar a carteira. Seu endereço, seu saldo e seu histórico ficam exatamente onde estão enquanto uma chave de gastos nova assume.

Taxas que outra pessoa pode pagar. As taxas de rede de uma conta inteligente podem ser cobertas por um patrocinador. A gente cobre as suas, e é por isso que você nunca tem ETH e nunca vê a palavra gas. Patrocínio de gas explica a maquinaria.

Dinheiro que pode esperar. Um link de pagamento precisa de um lugar onde o dinheiro espere até ser resgatado. Ele espera em um pequeno contrato companheiro que pode fazer duas coisas, pagar quem tem o link ou devolver o dinheiro para você, e nada mais, não importa quem peça.

Deliberadamente pequeno

Contas definidas por código cortam dos dois lados. Um contrato pode codificar qualquer regra, o que significa que também poderia codificar uma ruim, um papel de administrador, um interruptor escondido. A proteção é o minimalismo e a abertura. Nosso contrato de conta faz as poucas coisas listadas acima e nada mais. Ele não tem dono, não tem interruptor de pausa e não tem função reservada para o MozaikPay. O código-fonte é público no GitHub, e o contrato implantado está na Base para qualquer um verificar.

As contas podem ser atualizadas conforme o design melhora, e esse poder pertence só à sua chave de recuperação. A gente pode publicar uma versão melhor do contrato, e só a sua chave pode mover a sua conta para ela.

As instruções chegam à sua conta assinadas no seu telefone e entregues pela maquinaria compartilhada da rede. Transferências onchain segue esse caminho de ponta a ponta.

Nesta página