December 19, 2020

Visão geral do sistema técnico tBTC

O tBTC incorpora novos recursos de design que trazem implicações importantes para os usuários. Esta peça explica quatro deles: recibos TDT, vários tamanhos de lote, sinalizador aleatório do Keep e assinaturas de limite.

Token de depósito TBTC (TDT)
O TBTC Deposit Token (TDT) é um token não fungível que é cunhado quando um usuário solicita um depósito. Um TDT é um token ERC-721 não fungível que serve como contrapartida ao TBTC. Ele representa uma reivindicação de UTXO subjacente de um depósito no blockchain Bitcoin.

Os depósitos TBTC podem ser bloqueados ou desbloqueados. Um depósito bloqueado só pode ser resgatado pelo proprietário do depósito com o TDT correspondente. Cada TDT é exclusivo para o depósito que o faz e carrega o direito exclusivo por um período de até 6 meses para resgatar o depósito.

Assim que um depósito for totalmente qualificado por meio de uma prova da transação de financiamento de Bitcoin (chamada de SPV Relay), o titular pode solicitar o resgate e, após pagar quaisquer taxas de assinatura pendentes, ter garantido o mesmo UTXO que financiou o depósito na rede Bitcoin.

O TDT e o TBTC são intercambiáveis ​​por meio de um contrato denominado vending machine, que gerencia a troca do TDT pelo TBTC e vice-versa.

Dado um TDT, ele cunhará TBTC.
Dado o TBTC, ele o queimará e retornará um TDT específico.
O TDT é necessário para resgatar um depósito BTC bloqueado. Pense nisso como o bilhete de uma verificação rigorosa do casaco: sem ele, você não pode receber seu BTC de volta.

Os TDTs são transferíveis. Os detentores podem optar por negociá-los, por exemplo, ou usá-los como garantia em outro lugar.

Em caso de ocorrência de fraude ou emissão de colateralização, o titular de um TDT tem garantia de indenização em TBTC por meio de garantia caucionada do grupo signatário. Se o depósito for resgatado por outra conta após ter atingido o prazo, o titular do TDT tem garantia de compensação em TBTC (menos taxas de assinante). Observe que um titular de TDT ainda pode resgatar seu depósito para BTC mesmo depois de decorrido o prazo de 6 meses, se nenhum outro usuário o tiver resgatado.

Visto que há mais valor em roubar um depósito de 1 BTC do que um depósito de 0,001 BTC, o primeiro é provavelmente mais suscetível a ataques como reorganizações. Como um NFT, os TDTs permitem que esse risco seja precificado, o que é altamente relevante para aplicativos que usam o BTC como garantia. Qualquer destinatário de um TDT precisará avaliar o perfil de risco de um determinado token. Os TDTs são projetados para fornecer um benefício líquido ao isolar o risco, uma vez que os ataques contra o depósito lastreado em um TDT devem afetar apenas o detentor do TDT, em vez de toda a moeda vinculada ao fornecimento.

Lotes e tamanhos de lote
Os depósitos no tBTC são gerenciados em lotes. Para tornar o sistema racional e gerenciável, os lotes fazem parte de um conjunto de tamanhos fixos, gerenciados pelo sistema. Se um depositante deseja depositar uma quantidade maior de BTC do que o suportado pelos tamanhos de lote existentes, ele deve criar vários pedidos de depósito e financiar vários depósitos. Isso permite que cada depósito seja apoiado por um grupo de assinatura diferente, o que simplifica a ligação dos grupos de assinatura e isola o sistema mais amplo contra falhas isoladas do grupo de assinatura, maliciosas ou não.

Esse design tem implicações importantes com as quais os usuários devem estar familiarizados.

Cada depósito deve corresponder a um dos tamanhos de lote padrão

O sistema trata todas as instâncias de pagamento a maior e a menor - em que um usuário deposita uma quantia maior ou menor do que o tamanho do depósito padrão - como comportamento do usuário defeituoso. O principal efeito do pagamento a maior ou a menor no sistema é distorcer a garantia dos signatários. O sistema é projetado para repassar os custos para o usuário.

No caso de pagamento insuficiente - em que um usuário deposita um valor menor que o tamanho do lote BTC escolhido - o sistema não criará um comprovante que possa ser resgatado pelo TBTC. O usuário perde o BTC bloqueado no depósito, que pode ser dividido entre os signatários.

Os usuários devem estar bem cientes disso. Em uma situação onde o único tamanho de lote disponível é 1 BTC, por exemplo, é fácil imaginar um usuário tentando reivindicar 1 TBTC fazendo dois depósitos de 0,5 BTC cada. Um usuário que fizer isso perderá todo o seu BTC, pois o sistema simplesmente reconhecerá duas instâncias distintas de pagamento insuficiente. Resumindo, o tamanho do lote de um depósito é fixado quando o depósito é criado, e o depósito deve ser financiado com esse valor.

No caso de pagamento a maior - onde um usuário deposita mais do que o tamanho do lote BTC escolhido - o sistema irá gerar um comprovante, mas apenas para o tamanho do lote padrão, resgatável em troca desse valor em TBTC. Em um mercado eficiente, esperaríamos que isso fosse resgatado imediatamente, uma vez que o resgatador espera tomar o valor excedente bloqueado no depósito como arbitragem. A menos que o depósito seja resgatado pelo depositante original, o pagamento a maior será cancelado.

Em um exemplo de tamanho de lote de 1 BTC, um usuário que depositar 1.4 BTC receberá um comprovante que permite cunhar exatamente 1 TBTC (o valor correspondente ao tamanho do lote). Agora há um depósito de tamanho grande no sistema, que seria de se esperar que fosse resgatado rapidamente, dada a