Publicidade

O Evangelho de Satoshi Nakamoto – Cap. 33 vers. 10

Por Leonardo Broering Jahn

Boa noite amigos!

No ultimo versículo vimos a nona parte da tradução de “A Formal Language for Analyzing Contracts”. Hoje a décima.

CONTINUA APÓS A PUBLICIDADE

Mais Alguns Exemplos Avançados

Nesta seção, examinaremos maneiras de construir acordos multipartidários, distinguir eventos ambientais de lançados, e examinar uma série de outros recursos mais avançados ou maneiras de usar nossa linguagem.

Concluiremos o ciclo de vida da opção americana que elaboramos acima “escrevendo” a opção – criando-a a partir de uma security subjacente rightA e vendendo-a por rightX. Aqui, o Titular (a mesma parte que o Titular acima, neste caso a pessoa que comprará a opção por escrito) primeiro verifica que a Contraparte realmente detém a security subjacente (rightA) junto à Corretora. O Titular confia no Corretor para garantir que a Contraparte continue mantendo o valor mobiliário até que a opção seja exercida ou expirada. O contrato entre o Corretor e o Titular é escrowRight ().) 

CONTINUA APÓS A PUBLICIDADE

Como a Contraparte, o criador da opção, não está pagando nada antecipadamente por uma opção à rightB, esse direito não precisa ser garantido.

escrowRight(right, escrow, newHolder, currentHolder,
            newHolderReleaseEvents, currentHolderReleaseEvents) =
    to escrow right
    then
    when (holderReleaseEvents)
        to rightHolder right then terminate
    when (counterpartyReleaseEvents)
        to currentHolder right then terminate

writeCallOptionAmerican(rightA, rightB, rightX, time) =
    escrowRight(rightA, Holder, Counterparty,
            (optionExercised), (optionExpired))
    then
            to Counterparty callOptionAmercian(rightA, rightB, time)
            with to Holder rightX

CONTINUA APÓS A PUBLICIDADE

Agora, reformulamos a opção em si para tirar proveito do escrow [garantia]. rightA é transferido para o Titular pelo throw [lance] após o exercício ou de volta à Contraparte se a opção expirar. 

callOptionAmerican(escrowRight, rightB, time) =
    when beforeTime(time)
        when choiceOf(Holder)
            { throw optionExercised at escrowRight }
            with to Counterparty rightB
            then terminate
    when afterTime(time)
        throw optionExpired at escrowRight
        then terminate

Podemos pensar nos eventos como sendo de dois tipos. Os primeiros, eventos ambientais, ocorrem espontaneamente no ambiente ou são gerados por uma entidade externa à nossa especificação, como um usuário ou um cronograma. O segundo, eventos lançados, são eventos que lançamos explicitamente como acima.

CONTINUA APÓS A PUBLICIDADE

Neste manual, expressei cláusulas contratuais em termos de direitos. Freqüentemente, a linguagem do contrato é expressa em termos de obrigações, o que pode ser feito como uma imagem espelhada –to Holder right é o mesmo que from Counterparty obligation e vice-versa. Use from para distinguir uma obrigação.  

Fim da décima parte, no próximo versículo vemos a parte 11. Abraços!

CONTINUA APÓS A PUBLICIDADE
Compartilhe este artigo
@leonardobjahn Natural de Florianópolis, SC 27 anos Evangelista Bitcoin Graduando Administração na UFSC Professor particular e tradutor de Inglês
Sair da versão mobile