19 de abril de 2024

Criptomoeda GRAM na blockchain Telegram Open Network (TON)

Criptomoeda GRAM na blockchain Telegram Open Network (TON)

Sergey Prilutsky, famoso especialista em blockchain, chefe do departamento de pesquisa da MixBytes e do projeto SmartZdurante o Telegram Eventing, compartilharam informações detalhadas sobre o projeto de Pavel Durov TON.

Os dados foram obtidos após o estudo de informações classificadas sobre o estado atual do desenvolvimento da TON e serão interessantes não apenas para especialistas, mas também para uma ampla gama de potenciais investidores.

Informação Pública

O financiamento para o desenvolvimento do projecto TON foicoletados durante duas rodadas de ICO fechadas. Graças a isso, foi possível arrecadar US$ 1,7 bilhão em investimentos, o tamanho mínimo da participação era de US$ 20 milhões, cerca de 100 investidores participaram da ICO, entre os quais Roman Abramovich.

Criptomoeda GRAM na blockchain Telegram Open Network (TON)

</p>

Todo o volume da criptomoeda interna do projeto será lançado imediatamente e totalizará 5 bilhões de moedas GRAM. Após o lançamento do projeto, os tokens da OIC dos investidores serão trocados por moedas na proporção de 1 para 1.

Recursos técnicos da blockchain TON

Na rede TON, o consenso é assegurado pornós validadores que recebem uma comissão por seus serviços. Algo semelhante é implementado no protocolo Ripple. A autenticidade da transação é confirmada usando o algoritmo BFT (tarefa dos generais bizantinos).

Criptomoeda GRAM na blockchain Telegram Open Network (TON)

</p>

Os micropagamentos não são exibidos imediatamente na blockchain,apenas o hash deles é visível. Para garantir a validade das microtransações, cada validador deve ter na conta algum depósito de segurança em moedas GRAM, fornecido pelos indicados.

O validador não pode fazer mais transações,do que ele é capaz de fornecer com moedas colaterais. No caso de um pagamento incorreto, o validador e o nomeador transferem moedas para as contas de outros validadores desse valor para cobrir suas despesas com a garantia da transação.

Cada host é responsável por sua parteblockchain, que é dividido em pedaços pequenos - shards (shardes). Com um aumento significativo na carga na rede, parte dos shards pode ser transferida para os nós da rede vizinhos.

Os desenvolvedores da TON chamaram essa idéia de "Fragmento Infinito". A estrutura semelhante da blockchain permite não apenas compartilhar facilmente fragmentos, mas também reparar automaticamente áreas danificadas.

Informações de pesquisa do ecossistema da TON

Sergei Prilutsky conduziu uma profundaestudo do projeto TON, durante o qual surgiram características interessantes do novo projeto. Abaixo, propomos familiarizar-nos com informações detalhadas sobre a estrutura e os recursos da plataforma blockchain do Telegram Open Network (TON).

A idéia do Fragmento Infinito

O principal conceito da plataforma TON é a mensagem. O usuário pode enviá-lo de fora da blockchain para o endereço de qualquer conta do sistema. Esse procedimento causa a criação de uma mensagem para outras contas da rede. Além disso, o estado de uma conta individual pode ser imaginado na forma de sua própria blockchain (accountchain). É inerentemente um repositório de mensagens recebidas e enviadas.

Muitas contas Shard (shardes) são mescladasno Shardchain, um blockchain que é servido por um nó validador. A composição interna dessa cadeia de fragmentos pode mudar dinamicamente, dependendo da carga em um nó de rede específico.

Muitos shardchains se unem em uma cadeia de trabalho(Workchain), outra estrutura de blockchain, devido ao mesmo prefixo em seu endereço. Por sua vez, todas as cadeias de trabalho formam uma masterchain, que é a blockchain geral da rede TON. Vamos nos aprofundar mais nessas estruturas.

Masterchain

Masterchain é a cadeia principal,que define as regras para todas as cadeias de blockchain de nível inferior. Seu papel é monitorar e gerenciar o estado global de toda a rede aberta do telegrama.

A peculiaridade da cadeia principal é que ela não possuiramificação e fusão de partes individuais, isto é, nisso, assemelha-se a uma blockchain clássica. Cada bloco da cadeia mestre contém hashes dos últimos blocos de fragmentos organizados em uma árvore binária e armazena o status dos contratos inteligentes do sistema, bem como seu código. Controle de PoS, dados sobre validadores, participantes da rede - tudo isso é armazenado na cadeia mestre. No entanto, não foi possível encontrar informações precisas sobre esse assunto, e as que são confiáveis ​​e não são definitivas.

O gerenciamento da Masterchain é baseado em contratos inteligentes do sistema que contêm esses parâmetros globais:

  • O número total e outras características da moeda GRAM.
  • Lista de nós do validador, parâmetros de sua participação, endereço do contrato pelo qual uma seleção mensal de novos validadores ocorre.
  • Parâmetros TVM (TON Virtual Machine), sua versão, preços mínimo e máximo de gás - semelhante ao Ethereum.
  • Contratos inteligentes de tokens adicionais e seu status.

É importante que todas as alterações nos parâmetros TON globais sejam aceitas por consenso de mais de 2/3 de todos os validadores, de acordo com o algoritmo BFT.

Workchain

A cadeia de trabalho é uma cadeia de blocos condicional que combina o mesmo tipo de cadeia de caracteres. Seu identificador é um prefixo para o número de identificação de shards, é necessário para o roteamento exato das mensagens.

TON tem muito espaço paramuitas cadeias de trabalho (2 ^ 32, o que corresponde a aproximadamente 4,3 bilhões de cadeias de trabalho) e, em cada uma delas, você pode organizar sua própria lógica de mensagens. Por exemplo, um workshop pode servir contratos Ethereum e o outro pode implementar UTXO anônimo (moedas não gastas), como é feito no ZCash.

Shardchain

Shardchayn é a principal unidade de trabalho emRede TON. O shardchain é uma cadeia de blocos separada que envia e recebe mensagens de outros shards, ou seja, é uma blockchain que atende seu conjunto de contas.

Cada validador contém uma lista completaseus cacos e apenas parte dos quarteirões dos vizinhos. O validador produz novos blocos em seu shardchyn, enviando e recebendo mensagens de outros shards. Nesse nível, já é possível separar e mesclar cadeias de blocos de cadeias de fragmentos. Esquematicamente, parece um DAG (gráfico acíclico direcionado), em que cada bloco possui vários pais, que são os últimos blocos dos shardchains unidos.

Blocos de fragmentos

Cada bloco de fragmento deve conter um determinado conjunto de dados necessário, o chamado parte indivisível. Inclui:

  • O hash do bloco anterior e, possivelmente, os hashes dos pais no caso de uma fusão de shardchaynov.
  • Assinaturas de validador para blocos já aceitos.
  • O número da última cadeia de blocos mestre conhecida.
  • Hashes do estado inicial e final do fragmento para este bloco.
  • Uma fila de mensagens de saída na forma de uma lista de mensagens enviadas para outros shards.

Accountchain

Uma cadeia de contas é uma blockchain TON de nível de entrada. Cada identificador de conta é uma chave de 256 bits + identificador de cadeia de trabalho. Por exemplo, o endereço de um contrato inteligente seria assim:

1: 81525a3672b55678d4139b993b542c5c9735ac41b653d963a42855c9834b6921a4.

E o endereço da conta do usuário é assim:

Ef + BVndfdQ45nUdlsfsmv68KBHGSgBJsfsv58dG2SE4oPMgs4.

A própria conta recebe e recebe mensagens (naturalmente, essas não são mensagens do Telegram). Eles podem conter tokens GRAM, fazer chamadas de contrato inteligentes, representar outros dados etc.

Todas as mensagens são processadas apenas quandoeles são entregues no fragmento correto. Nesse caso, eles podem se mover livremente através de fragmentos intermediários. As mensagens também podem vir de fora da blockchain TON, ou seja, ser "mensagens do nada".

Conta

Qualquer conta é um contrato inteligente, possivelmente até com um código vazio. Cada conta paga uma taxa pelo armazenamento de dados, ou seja, seu saldo diminui com o tempo.

A conta contém informações sobre o saldoTokens GRAM, código do contrato ou hash, tempo gasto na rede, começando com a aparência da célula raiz, estatísticas sobre o uso do armazém de dados (por exemplo, no momento em que o armazenamento foi pago pela última vez), uma descrição formal da interface.

Armazenamento de baixo nível, células

Todos os dados são armazenados na blockchain TON emestruturas chamadas células. Esta é a unidade básica para medir o tamanho de todos os elementos da rede: mensagens, código do contrato, uma grande variedade de dados.

Cada célula contém 1023 bits de informação e até4 links para células vizinhas. Existem 256 tipos diferentes de células, que diferem na maneira como são implementadas e no número de links para outras células. Todos eles são combinados em uma árvore com o número de links para cada elemento de 0 a 4. As células são usadas para armazenamento unificado e operação determinística no armazenamento blockchain.

Algoritmos TON internos

Já conhecemos a estrutura da blockchain TON e seus principais elementos. Agora é a vez dos princípios de seu trabalho e de seus conceitos fundamentais.

Tempo lógico

Como aprendemos anteriormente, a estrutura de dados em TONÉ um DAG, como, em princípio, em 90% de outras criptomoedas, incluindo bitcoin. Para corrigir o fato da entrega de uma mensagem ou evento no blockchain, um contador monótono é usado durante as operações com eles, e cada uma dessas mensagens contém seu próprio tempo.

Devido à falta de servidores centraissincronização de tempo, o uso de tempo absoluto na rede pode levar a vários erros. É por isso que os sistemas de mensagens decidiram parar em um momento lógico.

Mensagem

O que é uma mensagem? Isso é absolutamente qualquer operação entre os shards. Qualquer bloco de fragmentos deve ter uma mensagem recebida de uma mensagem de saída de outro bloco de fragmentos existente e válido. Para confirmar a veracidade da mensagem, apenas alguns blocos da cadeia do remetente podem ser armazenados; o armazenamento de sua parte indivisível é obrigatório.

Também é proibido processar uma mensagem recebida,até que seja recebida evidência de entrega de mensagens de saída anteriores de pelo menos o próximo fragmento. Essa abordagem força os validadores a priorizar o envio de mensagens primeiro e depois recebê-las.

Roteamento instantâneo de hipercubo

Como agora está claro, cada fragmento é, de fato, uma fila de mensagens recebidas e enviadas. Para procurar a conta desejada e o caminho mais curto para ela, é usada uma versão acelerada do algoritmo "hipercubo".

Isso leva ao fato de que, se o destino for especificadoseu shard, a transação é transferida para a conta desejada e as novas mensagens geradas por ele são colocadas na fila de mensagens enviadas. No caso em que o destinatário é o fragmento de outra pessoa, então, de acordo com as regras determinísticas de roteamento, a mensagem é transferida para as mensagens recebidas do próximo fragmento.

Habilitar o serviço de enfileiramento de mensagens em blocos é novosolução em tecnologia blockchain. Graças a essa abordagem, o status da mensagem pode ser rastreado imediatamente na blockchain. Globalmente, todo o conjunto de mensagens enviadas entre os fragmentos é um gráfico acíclico direcionado (DAG) multidimensional complexo. No entanto, no momento não há clareza final sobre o funcionamento das garantias de entrega de mensagens ao destinatário em um DAG desse tipo.

Contratos inteligentes

Em TON, criar um contrato ou conta inteligente é a mesma coisa. No caso de enviar tokens GRAM para um endereço inexistente, ele é criado como um contrato vazio com um saldo diferente de 0.

Como mencionado anteriormente, qualquer conta, algoarmazenando na blockchain, paga uma comissão pelo armazenamento. Portanto, ao criar um contrato inteligente, você precisa fornecer um saldo no GRAM para pagar pelo espaço de armazenamento, ou mesmo primeiro garantir um saldo e, em seguida, colocar o código do contrato inteligente.

Criptomoeda GRAM na blockchain Telegram Open Network (TON)

</p>

Também existem bibliotecas de contratos inteligentes prontas na cadeia principal. Cada contrato possui as seguintes propriedades:

  • O contrato pode criar um novo contrato.
  • Você pode colocar o hash a partir do código do contrato inteligente e somente depois demonstrá-lo.
  • O código do contrato inteligente pode ser alterado, mas isso deve ser fornecido no código do contrato inteligente original.
  • Você não pode armazenar o código do contrato inteligente na blockchain, mas apenas as mensagens recebidas estarão disponíveis para a conta. Código e dados serão armazenados fora do blockchain.
  • Código e estado do contrato inteligente "moribundo"(cujo saldo é próximo de 0) é substituído por um hash do seu código. Usando um hash, um contrato inteligente ainda pode ser restaurado sujeito a uma reposição de saldo, caso contrário, o hash também será excluído após alguns meses.

Em geral, podemos concluir que o comportamento e as propriedades das contas no TON são semelhantes ao mesmo tempo que o Bitcoin e o Ethereum.

TVM (TON Máquina Virtual)

TON Virtual Machine apresenta novodesenvolvimento no campo de contratos inteligentes. É determinístico e empilhável. Portanto, é facilmente escalável e faz um excelente trabalho de compactação de dados nas células. No TVM, é conveniente acompanhar as despesas do GRAM para a execução de contratos inteligentes e é muito simples restaurar contratos inteligentes.

O modelo de restrição no TVM é construído com gás e a criptografia elíptica é implementada na curva protegida ed25519.

Linguagem do contrato inteligente

A TON utiliza baixo nível e extremalinguagem determinística Fift, cujo protótipo era a linguagem FORTH (e provavelmente por isso escolheram o nome Fift). É uma linguagem concatenada e empilhável para microcontroladores. Infelizmente, para escrever contratos inteligentes com determinismo e máxima relação custo-benefício, apenas duas opções foram inventadas: EVM (Ethereum Virtual Machine) e WASM (WebAssembly).

Fift é fortemente tipado; há uma dúzia e meia de tipos, incluindo os complexos (Tuple, List, Odject).

Toda a idéia dessa linguagem é construída em torno de“Palavras” dos operadores: existem muitas palavras diferentes para manipular a pilha, funções, blocos lógicos, variáveis ​​- tudo isso está sujeito ao conceito central de um operador de “palavras”.

Por exemplo, é assim que o código para gerar dois números de Fibonacci de 1000 grandes se parece:

{ 1 0 rot { -rot over + swap rot 2dup &gt;= } até cair } : fib-gtr

1000 fib-gtr

Aqui:

  • dop (xx x), duplica o valor da parte superior da pilha. Se a pilha estiver vazia, gera um erro de exceção.
  • gota (x), exclui o valor da parte superior da pilha.
  • swap (xyyx)troca os dois valores mais próximos do topo da pilha.
  • podridão (xyzyzx), gira os três valores mais próximos do topo da pilha.
  • -rot (xyzzxy), inverte os três valores mais próximos do topo da pilha na direção oposta. Equivalente à podridão podre.
  • over (xyxyx), cria uma cópia do segundo valor na pilha e a coloca em cima da pilha.
  • dobra (xyyxy), equivalente à troca.
  • nip (xyy), remove o segundo valor da parte superior da pilha. Equivalente a trocar queda.
  • 2dup (xy-xyxy), equivalente a mais de mais.

Deve-se notar que muitos desenvolvedores ficam chocados com essa sintaxe e, antes de estudar a documentação do Fift, é recomendável estudar um no FORTH.

Por que os desenvolvedores escolheramcomo linguagem para contratos inteligentes é a Fift? Talvez porque neste formulário seja ótimo para verificação formal e mais resistente a erros, exigindo que os desenvolvedores de aplicativos compreendam completamente a sequência de execução de qualquer operação.

TON Impressões gerais

Em geral, a construção do ecossistema TON causa uma boa impressão. Entre as vantagens devem ser destacadas:

  • Uma implementação nova e econômica de armazenamento de dados. Isso indica uma abordagem séria para o problema do tamanho da blockchain.
  • Um sistema de mensagens primitivo semelhante ao usado no GO.
  • Ao processar uma cadeia de mensagens, um pool de memória na blockchain, quase todas as informações de transações são obtidas da blockchain, e não de fontes externas.
  • Cadeia de trabalho para garfos rígidos ou mudanças radicaisem consenso, criptografia, máquina virtual para contratos inteligentes. Isso permite que você, teoricamente, vincule as blockchains Bitcoin, Ethereum ou EOS ao TON como uma nova cadeia de trabalho.

Gerenciar o TON com contratos inteligentes é um método bem estabelecido. Por exemplo, no Ethereum, EOS, Polkadot etc.

Do ponto de vista do desenvolvedor, o nó TON é algumas cadeias de blocos: cadeia principal, cadeia de trabalho, cadeia de fragmentos.

As interfaces inteligentes de contrato são armazenadas próximas aos contratos inteligentes, o que é muito conveniente para o dApp, como fornece a interação mais simples com eles.

Todos os recursos de blockchain são honestamente pagos, incluindo o aluguel de data warehouse. Não há descontos para grandes titulares ou validadores de GRAM.

A única coisa que gostaria de mudar é a disponibilidade de um mecanismo mais compreensível para implementar a prova formal de entrega de mensagens. Especialmente considerando a variedade de opções de topologia de rede.

Conclusão

O projeto WhitePaper dá a impressão de queos desenvolvedores adotaram os melhores padrões de trabalho de muitos projetos modernos e, para cada um deles, fizeram algo diferente. Existem partes que funcionam como bitcoin UTXO (mensagens, contas), existem como EVM (contratos inteligentes, gerenciamento), há novos desenvolvimentos individuais (shards, roteamento) e há uma adaptação de soluções antigas ao seu projeto (linguagem de contratos inteligentes, células armazenamento).

Em geral, podemos dizer que a TON causaum grande número de desenvolvedores e usuários está naturalmente interessado. Infelizmente, até agora, além do TVM, exemplos de código de contrato inteligente e um nó de teste, que com alta probabilidade são pelo menos parcialmente uma emulação, não há mais nada. Um lançamento completo do TON só pode esperar com impaciência.

</p>