Análise

Audiência: Arquitetos, desenvolvedores de aplicações e contratos inteligentes, professionais de negócio

Vamos analisar o papel comercial com um pouco mais de detalhes. Participantes do PaperNet como MagnetoCorp e DigiBank usam transações de papel comercial para alcançar seus objetivos de negócios - vamos examinar a estrutura de um papel comercial e as transações que o afetam ao longo do tempo. Também consideraremos quais as organizações no PaperNet precisam assinar uma transação com base nas relações de confiança entre as organizações da rede. Mais tarde, vamos nos concentrar em como o dinheiro flui entre compradores e vendedores; por enquanto, vamos nos concentrar no primeiro papel emitido pela MagnetoCorp.

Ciclo de vida do papel comercial

Um papel 00001 é emitido pela MagnetoCorp em 31 de maio. Olhando para o primeiro estado deste papel, com suas diferentes propriedades e valores:

Emitente = MagnetoCorp
Papel = 00001
Proprietário = MagnetoCorp
Data emissão = 31 Maio 2020
Vencimento = 30 Novembro 2020
Valor = 5M USD
Estado atual = emitido

Este estado de papel é resultado da transação de emissão e traz o primeiro papel comercial da MagnetoCorp à existência! Observe como este papel tem um valor de US$ 5 milhões para resgate no final do ano. Veja como o Emissor e o Proprietário são os mesmos quando o papel 00001 é emitido. Observe que este papel pode ser identificado exclusivamente como MagnetoCorp00001 - uma composição das propriedades Emitente e Papel. Finalmente, veja como a propriedade Estado atual = emitido identifica rapidamente o estágio do papel 00001 da MagnetoCorp em seu ciclo de vida.

Logo após a emissão, o papel é comprado pelo DigiBank. Passado alguns momentos, observe como o mesmo papel comercial mudou como resultado desta transação de compra:

Emitente = MagnetoCorp
Papel = 00001
Proprietário = DigiBank
Data emissão = 31 Maio 2020
Vencimento = 30 Novembro 2020
Valor = 5M USD
Estado atual = negociado

A mudança mais significativa é a de Proprietário - veja como o papel inicialmente propriedade da MagnetoCorp agora é propriedade do DigiBank. Poderíamos imaginar como o papel poderia ser posteriormente vendido para BrokerHouse ou HedgeMatic, e a mudança correspondente para Proprietário. Observe como o Estado atual nos permite identificar facilmente que o papel agora está negociado.

Após 6 meses, se o DigiBank ainda detém o papel comercial, ele pode resgatá-lo com a MagnetoCorp:

Emitente = MagnetoCorp
Papel = 00001
Proprietário = MagnetoCorp
Data emissão = 31 Maio 2020
Vencimento = 30 Novembro 2020
Valor = 5M USD
Current state = resgatado

Esta transação de resgate final encerrou o ciclo de vida do papel comercial - pode ser considerada fechada. Muitas vezes, é obrigatório manter um registro dos papéis comerciais resgatados, e o estado resgatado nos permite identificá-los rapidamente. O valor do Proprietário de um papel pode ser usado para realizar o controle de acesso na transação de resgate, comparando o Proprietário com a identidade do criador da transação. O Fabric suporta isso por meio da API chaincode getCreator(). Se Go for usado como uma linguagem chaincode, a biblioteca de chaincode de identidade do cliente pode ser usada para recuperar atributos adicionais do criador da transação.

Transações

Vimos que o ciclo de vida do papel 00001 é relativamente simples - ele muda status entre emitido, negociado e resgatado como resultado de uma transação de emissão, compra ou resgate.

Essas três transações são iniciadas por MagnetoCorp e DigiBank (duas vezes) e conduzem as mudanças de estado do papel 00001. Vamos dar uma olhada nas transações que afetam este papel com um pouco mais de detalhes:

Emissão

Examine a primeira transação iniciada pela MagnetoCorp:

Txn = emissão
Emitente = MagnetoCorp
Papel = 00001
Hora emissão = 31 Maio 2020 09:00:00 EST
Vencimento = 30 Novembro 2020
Valor = 5M USD

Veja como a transação emissão possui uma estrutura com propriedades e valores. Essa estrutura de transação é diferente, mas corresponde exatamente à estrutura do papel 00001. Isso porque são coisas diferentes - o papel 00001 reflete um estado do PaperNet que é resultado da transação emissão. É a lógica por trás da transação emissão (que não podemos ver) que pega essas propriedades e cria este papel. Como a transação cria o papel, isso significa que há uma relação muito próxima entre essas estruturas.

A única organização envolvida na transação de emissão é a MagnetoCorp. Naturalmente, a MagnetoCorp precisa assinar a transação. Em geral, o emissor de um papel é obrigado a assinar uma transação que emite um novo papel.

Compra

Em seguida, vamos examinar a transação de compra que transfere a propriedade do papel 00001 da MagnetoCorp para o DigiBank:

Txn = compra
Emitente = MagnetoCorp
Papel = 00001
Proprietário atual = MagnetoCorp
Novo proprietário = DigiBank
Hora compra = 31 Maio 2020 10:00:00 EST
Preço = 4.94M USD

Veja como a transação compra tem menos propriedades que acabam neste artigo. Isso porque esta transação apenas modifica este papel. É apenas New owner = DigiBank que muda como resultado desta transação; tudo o mais é o mesmo. Tudo bem - a coisa mais importante sobre a transação compra é a mudança de propriedade e, de fato, nesta transação, há um reconhecimento do atual proprietário do papel, MagnetoCorp.

Você pode se perguntar por que as propriedades Hora compra e Preço não são capturadas no papel 00001? Isso nos remete à diferença entre a transação e o papel. O preço de 4,94 M USD é, na verdade, uma propriedade da transação, e não uma propriedade deste documento. Passe algum tempo pensando sobre essa diferença; não é tão óbvio quanto parece. Veremos mais tarde que o ledger registrará ambas as informações - o histórico de todas as transações que afetam este papel, bem como seu estado mais recente. Ter clareza sobre essa separação de informações é muito importante.

Vale lembrar também que o papel 00001 pode ser comprado e vendido diversas vezes. Embora estejamos avançando um pouco em nosso cenário, vamos examinar quais transações podemos ver se o papel 00001 muda de propriedade.

Se tivermos uma compra por BigFund:

Txn = compra
Emitente = MagnetoCorp
Papel = 00001
Proprietário atual = DigiBank
Novo proprietário = BigFund
Hora compra = 2 Junho 2020 12:20:00 EST
Preço = 4.93M USD

Seguido por uma compra subsequente pela HedgeMatic:

Txn = compra
Emitente = MagnetoCorp
Papel = 00001
Proprietário atual = BigFund
Novo proprietário = HedgeMatic
Hora compra = 3 Junho 2020 15:59:00 EST
Preço = 4.90M USD

Veja como os proprietários do papel mudam e como, em nosso exemplo, o preço muda. Você consegue pensar em um motivo pelo qual o preço dos papéis comerciais da MagnetoCorp pode estar caindo?

Intuitivamente, uma transação de compra exige que tanto a organização vendedora quanto a compradora precisem assinar tal transação de forma que haja prova do acordo mútuo entre as duas partes que fazem parte do negócio.

Resgate

A transação resgate para papel 00001 representa o fim de seu ciclo de vida. Em nosso exemplo relativamente simples, o HedgeMatic inicia a transação que transfere o papel comercial de volta para a MagnetoCorp:

Txn = resgate
Emitente = MagnetoCorp
Paper = 00001
Proprietário atual = HedgeMatic
Hora resgate = 30 Novembro 2020 12:00:00 EST

Novamente, observe como a transação de resgate tem muito poucas propriedades; todas as mudanças no papel 00001 podem ser dados calculados pela lógica de transação de resgate: o Emissor se tornará o novo proprietário, e o Estado atual mudará para resgatado. A propriedade Current owner é especificada em nosso exemplo, para que possa ser verificada com o atual detentor do papel.

Do ponto de vista da confiança, o mesmo raciocínio da transação compra também se aplica à instrução resgate: ambas as organizações envolvidas na transação devem assiná-la.

O Ledger

Neste tópico, vimos como as transações e os estados de papel resultantes são os dois conceitos mais importantes no PaperNet. Na verdade, veremos esses dois elementos fundamentais em qualquer ledger distribuída do Hyperledger Fabric - um estado mundial, que contém o valor atual de todos os objetos, e um blockchain que registra o histórico de todas as transações que resultaram no estado mundial atual.

As aprovações necessárias nas transações são aplicadas por meio de regras, que são avaliadas antes de anexar uma transação ao ledger. Somente se as assinaturas necessárias estiverem presentes, o Fabric aceitará uma transação como válida.

Agora você está em um ótimo lugar para traduzir essas ideias em um contrato inteligente. Não se preocupe se sua programação estiver um pouco enferrujada, forneceremos dicas e sugestões para entender o código do programa. Dominar o contrato inteligente de papel comercial é o primeiro grande passo para projetar seu próprio aplicativo. Ou, se você é um analista de negócios que se sente confortável com um pouco de programação, não tenha medo de cavar um pouco mais fundo!