Pular para o conteúdo principal

Mercado

Os nomes podem ser comprados e vendidos através de um mercado com depósito em garantia integrado. Todos os pagamentos são totalmente blindados.

O depósito em garantia é de custódia, e vale a pena precisar o que isso significa. O comprador paga ao endereço de protocolo do registador; o registador retém os fundos, transfere o nome e credita ao vendedor, no seu saldo interno, o montante deduzido da comissão do serviço. O vendedor levanta quando quiser. Ou seja, o registador é realmente um agente de depósito: retém o dinheiro de uma parte até que a obrigação da outra esteja cumprida.

O que não é: um depósito em garantia sem confiança na cadeia. Não existe nenhum contrato inteligente que liberte os fundos automaticamente; a custódia do registador é custódia a sério. O que a limita é o facto de as obrigações serem publicamente calculáveis — ver Confiança e privacidade para a invariante de saldo que qualquer pessoa pode auditar e para o único ponto em que a custódia não é verificável do exterior.

O consentimento do vendedor para a venda é o seu LST assinado anteriormente, cujo preço fica fixado na árvore de estado: um BUY só é válido exatamente a esse preço, e no momento da compra não é necessária qualquer assinatura do vendedor.

Vender

O vendedor assina um pedido LIST através de uma transação na cadeia e compõe um memo com o comando LIST:

PiNS:1:LST:{name}:{ed25519_pubkey}:{price}:{nonce}:{signature}

Assim o nome é colocado no Mercado.

dica
  • o preço é um número inteiro de satoshis e tem de ser maior que zero (1 PIVX = 100 000 000 satoshis)
  • LIST pode ser enviado de novo para um nome já listado, para alterar o preço; vence a listagem mais recente

Se mudar de ideias

O vendedor pode sempre retirar o domínio do Mercado enviando uma transação na cadeia com um memo que contenha o comando UNLIST:

PiNS:1:ULT:{name}:{ed25519_pubkey}:{nonce}:{signature}

Assim o nome é removido do Mercado.

dica

Os comandos são processados um a um, na fila ordenada pela cadeia de blocos PIVX. Isto significa que o seu comando UNLIST tem de ser recebido antes do comando BUY de outra pessoa.
O PIVX Names não controla a ordem das transações: depende inteiramente da forma como o PIVX produz os blocos e da ordem dos índices de transação dentro de cada bloco.

Comprar

O comprador envia uma transação para o endereço do registador com um comando BUY no memo:

PiNS:1:BUY:{name}:{buyer_pivx_address}:{ed25519_pubkey}:{nonce}:{signature}

O scanner valida:

  • O nome tem de estar à venda
  • O pagamento tem de corresponder exatamente ao preço listado
  • Se for válido: o nome passa para o comprador e a receita, deduzida a comissão do serviço, é creditada no saldo interno do vendedor
  • Se não for válido: será devolvido ao saldo interno do comprador
dica

Se várias pessoas quiserem comprar o mesmo nome ao mesmo tempo, apenas a primeira transação será processada e às restantes será devolvido o montante para o saldo interno. O utilizador pode levantar os fundos a qualquer momento, bastando indicar um endereço de levantamento no site.