segunda-feira, 2 de setembro de 2019

Transações e a Linguagem de Scripting do Bitcoin

Leitura:
Chapter 2: "Transactions" do livro Mastering Bitcoin 2nd Edition - Programming the Open Blockchain
Transactions
Script
What's a UTXO? A Guide To Unspent Transaction Output (UTXO)

Audiovisual:
Bitcoin Lesson | Script
Advanced Bitcoin Scripting -- Part 1: Transactions & Multisig
Advanced Bitcoin Scripting -- Part 2: SegWit, Consensus, & Trustware
Bitcoin Scripts

4 comentários:

  1. Com essa visão mais ampla e interna do funcionamento das transações, além do conhecimento mesmo que supérfluo da linguagem de script, a confiança no sistema fica mais forte. As operações são feitas em vários níveis de processamento e por vários computadores, sempre tem alguém para conferir e validar as operações, é bom para todos, já que quem valida ganha uma pequena quantia, quem faz a transação, tem a garantia que foi bem feita e de forma segura através da blockchain. A maior dificuldade a ser analisada é a chave privada, como no caso do dono da QuadrigaCX, que faleceu e todo o dinheiro que ali estava investido ficou perdido, visto que ele era o único que possuía a chave. Caso esteja atrelada a um sistema, por exemplo, caso esse sistema seja invadida, a chave será mal utilizada, se ficar num HW, pode ser perdido ... Enfim, apesar de garantir a unicidade e segurança, ainda tem seus poréns.

    ResponderExcluir
  2. Atualmente o principal problema que vejo no bitcoin é o tempo necessário para confinação da compra, softwares maliciosos podem simular a leitura do QR e simular uma transação. Ao vendedor "ver" que o cliente pagou a quantia, em um restaurante por exemplo, pode ser enganado e liberar o cliente.

    Apesar de outras moedas minimizarem este problema, ao custo de uma menor segurança, este tempo de 10 minutos, restringe bastante os casos de uso das criptomoedas em geral.

    ResponderExcluir
  3. Entender como o BitCoin e sua Ledger gerencia e garante confiança das transações é importante para nós que somos entusiastas na área. Mas, para leigos, as carteiras de hoje em dia já abstraem bastante coisa.
    O conceito de SALDO é muito mais simples do que o conceito de UTXO; Para se "ter dinheiro" no BitCoin é preciso ter um conjunto dessas UTXO para seu identificador. E caso queira pagar um valor que seja apenas uma fração de uma UTXO é preciso explicitar no Bloco da transação que uma parte é para o recebedor e outra parte é para si próprio, gerando uma nova UTXO de valor menor para si.

    ResponderExcluir
  4. Muito interessante o conceito de não existirem "moedas". Entretanto, me pergunto como é otimizado o processo de transações (UTXO) para se obter o saldo dado que este pode estar distribuído entre vários blocos, e nem toda carteira tem um full node disponível. Será que no futuro sempre precisaremos de servidores full node externos para ter uma carteira funcional? Outra coisa que me questiono é em relação à validação das chaves de uma carteira recém criada (dada a prática das carteiras de mudar as chaves de tempos em tempos). Como lidar com possíveis choques de criação de chaves? As transações serão somente invalidadas e efetuadas novamente com outra chave automaticamente? Como as partes humanas envolvidas na transação se atualizam disso?

    ResponderExcluir