BitNotíciasBitNotícias
  • Últimas Notícias
  • Mercado
  • Regulação
  • Web3
  • Onde Investir
    • Criptomoedas Promissoras
    • Criptomoedas com Potencial
    • Memecoins
    • Inteligência Artificial
  • Guias
    • Passo a Passo para Iniciantes
    • Melhores Corretoras de Criptomoedas
    • Melhores Carteiras de Criptomoedas
    • Melhores Cartões Cripto
    • Comprar Criptomoedas
  • Análises
    • Cartões
    • Carteiras
    • Corretoras
Você está lendo: O Evangelho de Satoshi Nakamoto – Cap. 33 vers. 12
Compartilhe
BitNotíciasBitNotícias
Pesquise:
  • Últimas Notícias
  • Mercado
  • Regulação
  • Web3
  • Onde Investir
    • Criptomoedas Promissoras
    • Criptomoedas com Potencial
    • Memecoins
    • Inteligência Artificial
  • Guias
    • Passo a Passo para Iniciantes
    • Melhores Corretoras de Criptomoedas
    • Melhores Carteiras de Criptomoedas
    • Melhores Cartões Cripto
    • Comprar Criptomoedas
  • Análises
    • Cartões
    • Carteiras
    • Corretoras
BitNotícias nas Redes:
© 2019 – 2024 BitNotícias. Todos os direitos reservado
BitNotícias > Notícias > O Evangelho de Satoshi Nakamoto – Cap. 33 vers. 12
Notícias

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

Por Leonardo Broering Jahn
Atualizado em: 07/01/2025
Compartilhe
Compartilhe

Boa noite amigos!

No versículo anterior vimos a parte 11 da tradução de “A Formal Language for Analyzing Contracts”. No de hoje a décima segunda.

CONTINUA APÓS A PUBLICIDADE

Acima [no versículo anterior, no caso] é uma transcrição do comportamento da máquina. Agora, tornamos ainda mais como um contrato. Aqui, incorporamos o cliente e suas escolhas, que geraram implicitamente os eventos das moedas no código acima – aqui as moedas são direitos do Titular. Pensar mais na parte, e não na máquina, nos permite reconhecer que, a cada passo, o cliente deseja feedback sobre quanto dinheiro investiu, assim, to Counterparty display(moneyAmount). Essa exibição é feita pelo Titular (a máquina de venda automática como um agente do fornecedor) como um direito da Contraparte (o cliente). Para permitir uma melhor escolha do cliente, adicionamos uma nova construção à nossa linguagem: choiceOf(agent, right), que permite ao cliente várias opções, com base no direito que ele deseja transferir para a contraparte do agente (aqui a máquina de venda, o Detentor).

sellCandy(candyPrice = $0.90) =
    variable moneyAmount = $0.00
    then
        # coins also fall into a temporary till tempTill
    when choiceOf(Counterparty, nickel)
        to TempTill nickel
        then to Counterparty add(moneyAmount, $0.05)
        then to Counterparty display(moneyAmount)
    when choiceOf(Counterparty, dime)
        to TempTill dime
        then to Counterparty add(moneyAmount, $0.10)
        then to Counterparty display(moneyAmount)
    when choiceOf(Counterparty, quarter)
        to TempTill quarter
        then to Counterparty add(moneyAmount, $0.25)
        then to Counterparty display(moneyAmount)
    when choiceOf(Counterparty, moneyReturn)
        to Counterparty dropCoins(tempTill, returnTill)
        with moneyAmount = $0.00
        then to Counterparty display(moneyAmount)
    when threshold(moneyAmount, candyPrice)
        to Holder (nickel | dime | quarter)
            to CounterParty redirectNewCoinsTo(returnTill)
        also display(“ready to dispense — please select candy”)
        then when (candySelection)
            to Counterparty dropCandy(candyRacks, candySelection)
            with to PermanentTill dropCoins(TempTill)
            with moneyAmount = $0.00
    continue

Como é que especificamos o comportamento de uma máquina de venda automática em uma linguagem projetada para a elaboração de contratos? As moedas de 5, 10 e 25 centavos, e as operações como jogar moedas de uma gaveta para outra podem ser pensadas como direitos e obrigações? Eu acho que sim. Eles não são direitos e obrigações legais, com certeza. Não há contrato explícito entre o fornecedor e os clientes da máquina de doces e, se fosse o caso, provavelmente renunciaria à responsabilidade por violar a maioria das cláusulas em nosso código. O que este código descreve é o comportamento lógico e típico de uma máquina de venda automática. Ele também reifica o entendimento implícito que muitos clientes têm ao usar uma máquina de venda automática. Assim, ele modela um “encontro de mentes” semelhante ao contrato entre o cliente e o fornecedor, mediado pela máquina.

CONTINUA APÓS A PUBLICIDADE

Aqui está uma facada na descrição formal do hipotético “auto repo auto”. O carro é controlado por um proplet e ele analisa os títulos de propriedade para determinar a autoridade de propriedade. O proplet permite que apenas o proprietário intitulado entre e conduza o carro. “Titular” é o banco que fez o empréstimo e “Contraparte” é o novo proprietário. Como acima, ignoramos o vendedor de carros; o banco originalmente dono do carro. Este exemplo destaca a capacidade do idioma de descrever sucintamente contratos, mas também sua incapacidade de descrever a segurança real que aplicará o contrato. Obviamente, falta muito aqui, incluindo os itens que faltam no contrato de empréstimo de carro acima. Do ponto de vista de contratos inteligentes, a principal coisa que falta é que não há nada para motivar o “Holder getTitle (car)” no último when, nem qualquer maneira especificada aqui para aplicá-lo. E, é claro, toda conexão entre propriedade e autoridade para entrar, dar partida e dirigir o carro está aqui implícita – o comportamento real do proplet a esse respeito teria que levar em conta a segurança, o uso de emergência, etc.

Durante todo esse trabalho, na verdade, apenas adicionamos uma cláusula ao nosso contrato de compra de carro acima. A cláusula perde o título e está estruturada como as cláusulas de dano que vimos. Um evento breachedPerformance() é gerado se for detectado (pelo Titular, por um auditor de terceiros ou pelo proplet) que a Counterparty falhou em efetuar um pagamento de acordo com o cronograma especificado pelo loan [empréstimo].

loan(payment, schedule) =
    for schedule
        when withinPeriod(schedule.next)
            payment
carPurchase(car, downPayment, monthlyPayment, schedule)  =
    to Counterparty getTitle(car)  with to Holder downPayment
    then
    to Holder loan(monthlyPayment, schedule)
    when breachedPerformance(loan)
        to Holder getTitle(car)

CONTINUA APÓS A PUBLICIDADE

Fim da parte 12, no próximo a a décima terceira parte. Grande abraço!

Volkswagen anuncia uso da blockchain da Solana em táxis autônomos da ID.Buzz
SharpLink Gaming aumenta tesouraria com mais de 205.000 ETH e aponta liderança institucional
Algorand domina 66% do mercado de ações tokenizadas
Criptomoeda FLOKI pode subir 120% com doação da Valhalla de US$ 10 mil
Robinhood transforma o mercado ao lançar plataforma privada de tokenização na União Europeia
TagsEvangelhoSatoshi Nakamoto
Compartilhe este artigo
Facebook Whatsapp Whatsapp Telegram Copiar Link
PorLeonardo Broering Jahn
@leonardobjahn Natural de Florianópolis, SC 27 anos Evangelista Bitcoin Graduando Administração na UFSC Professor particular e tradutor de Inglês
Publicidade

Últimas Notícias

Bitcoin pronto para disparar Analistas veem fuga de alta no radar
Preço do Bitcoin se prepara para possível explosão de alta em 9 de julho
3 min
ReserveOne lançará reserva digital de US$ 1 bilhão com foco em Bitcoin
ReserveOne lançará reserva digital de US$ 1 bilhão com foco em Bitcoin
2 min
Goldman Sachs crava S&P 500 em 6.600 até dezembro
Goldman Sachs crava: S&P 500 em 6.600 até dezembro
3 min

Destaque

  • Últimas Notícias
  • Mercado
  • Regulação
  • Tecnologia
  • Web3
  • Eventos

Reviews

  • Cartões
  • Wallets
  • Exchanges

Guias

  • Investir Agora
  • Comprar Criptomoedas
  • Melhores Corretoras
  • Carteira de Criptomoedas
  • Cartões de Criptomoedas
  • Glossário

Tudo Sobre

  • Bitcoin
  • Ethereum
  • Polygon
  • Solana
  • Mineração
  • Web3

Sobre Nós

  • MediaKit
  • Quem Somos
  • Política Editorial
  • Política de Privacidade
  • Política de Cookies
  • Contato
Cookie Settings
BitNotícias nas Redes:
© 2019 – 2024 BitNotícias. Todos os direitos reservado
Welcome Back!

Sign in to your account

Username or Email Address
Password

Lost your password?