O que é Sui (SUI) e como funciona?

O que é Sui (SUI)?
Sui é uma blockchain Layer 1 permissionless. Isto significa que é uma rede autónoma na qual os developers podem construir smart contracts e aplicações on-chain. Pode, portanto, ser vista como uma blockchain separada, tal como a Ethereum, por exemplo. Assim, não é necessária autorização de uma parte central para utilizar a rede e a plataforma foi concebida para executar transacções de forma rápida e segura.
A Sui armazena activos, recursos e outros dados como objectos. Pode ver-se um objecto deste tipo como um item digital com dados próprios, um proprietário e um histórico de alterações. Este modelo de objectos é uma parte importante de como a Sui processa transacções.
SUI é o token nativo da rede. Utiliza-se SUI, entre outras coisas, para pagar custos de transacção. Além disso, SUI pode ser delegado a validadores para staking e o token confere direito de voto na governação on-chain, como propostas de actualizações do protocolo.
A Sui Mainnet entrou publicamente em funcionamento a 3 de maio de 2023.
Pontos principais
- A Sui é uma blockchain Layer 1 para smart contracts e aplicações on-chain.
- SUI é o token para taxas, staking e governação on-chain.
- A rede trata activos e dados como objectos com um proprietário e uma versão claros.
- Transacções independentes podem ser processadas em paralelo.
- Transacções em torno do mesmo objecto partilhado têm de ser ordenadas através de consenso.
Como funciona a Sui?
A Sui utiliza delegated proof of stake. Nesse modelo, os validadores ajudam a rede a verificar e processar transacções. Os validadores bloqueiam SUI como garantia. Os detentores de SUI também podem delegar os seus tokens a um validador. O peso de voto de um validador depende do total de stake atribuído a esse validador.
Os validadores formam em conjunto uma comissão. Essa comissão não muda durante uma epoch, um período fixo que na Sui Mainnet dura cerca de 24 horas. Para decisões importantes, é necessário mais de dois terços do peso de voto total. A isso chama-se quórum.
Quando envia uma transacção, primeiro assina-a com a sua wallet. Através de um full node, a transacção chega aos validadores. Estes verificam, entre outras coisas, a assinatura, os objectos utilizados, se tem permissão para usar esses objectos e se tem orçamento de gas suficiente. Gas é a remuneração pela execução de uma transacção.
Para o consenso, a Sui utiliza Mysticeti. Trata-se de um protocolo de consenso baseado em DAG. Aqui, um DAG é uma estrutura na qual os validadores podem fazer várias propostas em paralelo, em vez de processarem tudo estritamente uma coisa de cada vez.
As transacções aceites são executadas pelos validadores da mesma forma pré-determinada. Assim, uma transacção é concluída na totalidade ou falha. Se falhar, os custos de gas utilizados podem, ainda assim, ser debitados.
Uma transacção torna-se definitiva quando os efeitos são certificados por um quórum de validadores, ou quando a transacção consta num checkpoint certificado. Em termos simples: a rede confirmou então suficientemente que o resultado ficou fixado.
Visão geral da Sui (SUI)
Qual é o modelo de objectos da Sui?
Um objecto é a unidade básica de armazenamento da Sui. Pense num token, num activo digital ou noutros dados na blockchain. Cada objecto tem um ID globalmente único, um proprietário, um número de versão e informação sobre a última transacção que utilizou o objecto.
Esse número de versão muda a cada alteração. Por isso, um remetente e os validadores podem referir-se exactamente à mesma versão de um objecto. Para isso, uma transacção inclui uma referência ao objecto com um ID, uma versão e um hash. Um hash é um valor de verificação digital único dos dados.
A Sui distingue vários tipos de objectos:
- Objectos pertencentes a um endereço: pertencem a um endereço específico. Só esse endereço os pode utilizar em transacções.
- Objectos partilhados: estão acessíveis a todos. Se alguém os quiser alterar, o consenso tem de determinar a ordem das alterações.
- Objectos imutáveis: não têm proprietário e não podem ser alterados, transferidos ou removidos.
Os smart contracts na Sui são escritos como packages Move. Um package deste tipo pode criar e manipular objectos de acordo com as regras nele definidas. Um object-object publicado é imutável e não pode ser removido.
Há uma diferença prática importante: num objecto imutável, mais tarde não é possível remover ou reduzir dados. Por isso, também não é possível receber um storage rebate para esses objectos. Um storage rebate é um reembolso parcial de custos de armazenamento pagos anteriormente.
Como é que a Sui processa transacções em paralelo?
Numa transacção Sui, tem de ficar claro antecipadamente quais os objectos de entrada utilizados. Assim, a rede consegue ver quais as transacções que são independentes e quais as que competem pelo mesmo objecto.
Se duas transacções utilizarem objectos diferentes, podem ser agendadas e executadas em paralelo. Pode imaginar-se como duas pessoas a fazerem algo ao mesmo tempo com os seus próprios pertences: não precisam de esperar uma pela outra.
Nos objectos pertencentes a um endereço, não é necessária uma ordem global de consenso se as transacções forem independentes. Isso torna possível processar essas transacções em paralelo.
O funcionamento é diferente quando várias transacções querem alterar o mesmo objecto partilhado. Nesse caso, o consenso tem primeiro de determinar qual a transacção que tem prioridade e qual será a próxima versão desse objecto. Assim que as versões necessárias ficam definidas, as transacções Move podem voltar a ser executadas em paralelo, inclusive em vários cores.
Processar em paralelo não significa, portanto, que cada transacção fique sempre concluída ao mesmo ritmo. Muitas transacções em torno do mesmo objecto partilhado têm uma dependência comum e, por isso, têm primeiro de ser ordenadas.
Também as transacções em conflito com o mesmo objecto pertencente a um endereço podem causar problemas. Nesses casos, uma transacção pode ser rejeitada, ou o objecto pode ficar temporariamente inutilizável até à epoch seguinte.
Quem são os fundadores da Sui?
As primeiras partes da Sui foram concebidas em 2021 por Evan Cheng, Adeniyi Abiodun, Sam Blackshear, George Danezis e Kostas Chalkias. A ideia baseou-se em investigação em que tinham trabalhado anteriormente na Meta para a Diem, um projecto que antes se chamava Libra.
Os cinco são também cofundadores da Mysten Labs. A Mysten Labs desenvolveu o código original da Sui e foi a primeira contribuinte para a rede.
Evan Cheng é cofundador e CEO da Mysten Labs. Sam Blackshear é cofundador e CTO. Adeniyi Abiodun é cofundador e CPO, Kostas Chalkias é cofundador e Chief Cryptographer, e George Danezis é cofundador e Chief Scientist.
A própria Sui é uma rede permissionless, não uma empresa. Os cargos na Mysten Labs não significam, portanto, que estas pessoas sejam proprietárias ou que controlem a rede actual.
Quais são as vantagens da Sui?
A Sui tem várias características que vale a pena compreender:
- Processamento paralelo de transacções independentes. Como as transacções indicam explicitamente os seus objectos de entrada, a rede consegue ver quais as transacções que podem correr de forma independente.
- Estado claro dos objectos. Os objectos têm um ID único e um número de versão. Assim, as transacções referem-se a um estado específico de um objecto.
- Modelo de propriedade explícito. Um objecto pode ser propriedade pessoal, ser utilizado de forma partilhada ou ser imutável. Isso torna claro como um objecto pode ser utilizado.
- Move para objectos on-chain. O Move foi concebido para packages que manipulam objectos na blockchain.
- Oferta máxima fixa. Podem existir no máximo 10 mil milhões de SUI.
- Delegated staking. Pode delegar SUI a um validador sem transferir as suas chaves privadas ou a propriedade directa dos seus tokens para esse validador.
- Storage rebate parcial. Ao remover ou reduzir dados removíveis, pode ser devolvida uma parte dos custos de armazenamento pagos anteriormente.
Quais são as desvantagens da Sui?
O design da Sui também traz compromissos claros:
- Os objectos partilhados precisam de consenso. Se muitas transacções quiserem alterar o mesmo objecto partilhado, não podem ser todas processadas de forma totalmente independente.
- Conflitos em torno de objectos pertencentes a um endereço. Muitas transacções em conflito com o mesmo objecto podem ser rejeitadas ou fazer com que o objecto fique inutilizável até à epoch seguinte.
- O armazenamento custa dinheiro. Além do execution gas, também paga custos de armazenamento quando cria ou altera objectos com dados na blockchain.
- Nem todos os custos de armazenamento são recuperados. Ao remover dados mais tarde, só é possível recuperar uma parte dos custos de armazenamento.
- Os objectos imutáveis são permanentes. Não podem ser alterados nem removidos e não dão direito a storage rebate.
- O peso de voto segue o stake. No delegated proof of stake, a influência dos validadores está ligada ao stake que lhes é delegado.
- Manter o histórico exige espaço de armazenamento. Os full nodes que guardam o histórico completo de objectos e transacções precisam de muito mais capacidade de armazenamento do que os validadores ou os pruning nodes.
Conclusão
A Sui é uma blockchain Layer 1 para smart contracts e aplicações on-chain. O token SUI é utilizado para custos de transacção, staking e governação.
O núcleo da Sui é o modelo de objectos. Os activos e os dados são tratados como objectos com um proprietário, uma versão e um ID único. Isso permite que a rede veja antecipadamente quais as transacções independentes e as processe em paralelo.
Isso não funciona para tudo ao mesmo tempo. As transacções que querem alterar o mesmo objecto partilhado têm de ser ordenadas através de consenso. Trabalhar com objectos on-chain também implica custos de armazenamento e possíveis conflitos em torno do mesmo objecto. A Sui combina, portanto, processamento paralelo quando isso é possível com consenso quando vários utilizadores querem alterar os mesmos dados.