A empresa Bitlum – que desenvolve aplicativos através da rede Lightning Network – criou uma série de artigos sobre a operação desta rede especificamente para a revista ForkLog. A primeira parte descreve pré-requisitos para a criação do conceito Lightning Network e oferece análise comparativa com outros sistemas de pagamento.
A série inteira inclui as seguintes partes:
- Lightning Network parte 1: Introdução: descrição dos pré-requisitos para criar o conceito da Lightning Network e análise comparativa com outros sistemas de pagamento.
- Lightning Network parte 2: Áreas de Aplicação: uma descrição breve da tecnologia e exemplos de uso em vários campos.
- Lightning Network parte 3: Contratos Inteligentes: Explicação dos principais blocos necessários para a descrição técnica mais detalhada do conceito.
- Lightning Network parte 4: Canal de Pagamento: uma explicação do conceito do canal de pagamento e sua aplicação para troca rápida de bitcoins.
- Lightning Network parte 5: Resolvendo o Problema da Escala: Explicação do uso dos canais de pagamento para construir uma rede de pagamento e resolver o problema da escala.
Em artigos anteriores, falamos das propriedades inerentes à rede Lightning e também fornecemos uma descrição superficial da rede. Identificamos dois elementos: o nó e o canal de pagamento.
Neste artigo, nossa tarefa será compreender os principais elementos necessários para entender o termo “canal de pagamento”. Esses elementos são: contrato inteligente, htlc, multisig e time-lock.
Contrato inteligente
Primeiro, tentaremos entender por que os Bitcoins são chamados de dinheiro programável. O dispositivo para armazenar quantias em Bitcoin é diferente do conceito geral: não há contas, nem número correspondentes ao saldo associado à elas.
Em vez disso, toda vez que você transfere dinheiro para alguém, você o bloqueia com um programa chamado contrato inteligente. Para usar o dinheiro, o beneficiário deve fornecer insumos para o programa que levará a um resultado positivo de sua implementação.
O armazenamento de contratos inteligentes é feito na Blockchain, sua execução é realizada pelos mineradores – e não só por um, mas por todos ao mesmo tempo. Se um minerador tentar enganar o sistema, ele será eliminado do ciclo de emissão e perderá lucro.
A criptomoeda Ethereum levou o sistema de contratos inteligentes a um nível completamente diferente, o que permitiu pensar em criptomoedas como computadores descentralizados em que a Blockchain é usada como um repositório de programas, enquanto a comunidade de mineradores atua como uma camada de processamento.
No caso mais simples, a assinatura eletrônica serve como insumo para desbloquear dinheiro. Esta é gerada por uma carteira de criptomoedas usando uma chave privada. De fato, é por isso que a possibilidade de armazenar chaves públicas e privadas é tão importante: se você as perder, não será capaz de gerar uma assinatura eletrônica e ganhar acesso ao seu dinheiro.
Nesta série de artigos, usaremos a analogia dos cofres: toda vez que alguém lhe envia dinheiro, um cofre virtual onde a quantidade indicada fica armazenada é criado e há um bloqueio de tal forma que somente o beneficiário pode abri-lo. O cofre é um depósito de dinheiro e o contrato inteligente é seu bloqueio programável, que requer uma senha disponível apenas ao beneficiário.
De forma geral, um contrato inteligente é gerado pela carteira de criptomoedas. Se você sabe programar um contrato inteligente sozinho, ele pode assumir todas as formas. Por exemplo, você pode bloquear o dinheiro de tal forma que só aquele que dá uma resposta à expressão 2 + 2 é capaz de abri-lo.
A Lightning Network usa vários tipos de contratos inteligentes, ou melhor, um mistura deles:
- 2×2 multisig — Este é um contrato inteligente que se abre quando duas pessoas fornecem uma assinatura eletrônica. Geralmente, estas são as mesmas pessoas que fornecem dinheiro.
- hash time lock contract (htlc) — Este é um contrato inteligente que desbloqueia dinheiro se um número secreto X que inicialmente está disponível apenas para o criador do contrato inteligente for fornecido. A transferência do número X para outra pessoa significa essencialmente a transferência de dinheiro. É importante notar que, assim que as transações são transmitidas abertamente, o número X se torna visível a todos, então, em vez do número X, escreve-se h = H (X) no contrato inteligente, onde H é uma função hash. Voltaremos a explicar este tipo de contrato inteligente no último artigo do ciclo.
- time-lock — Este é um contrato inteligente que bloqueia o dinheiro apénas até o tempo especificado nele.
Fazendo combinações de vários tipos de contratos inteligentes, pode-se conseguir um comportamento interessante: por exemplo, é possível bloquear o dinheiro até 2018 e, em seguida, exigir uma assinatura eletrônica e uma solução de uma equação quadrática simples para desbloquear.
Enviando uma transação
Quando deseja-se gastar dinheiro, uma carteira de criptomoedas escaneia a Blockchain / banco de dados para a presença de seus próprios cofres e gera uma Prova-de-Posse desses cofres (SegWit). Em seguida, ela pega o endereço fornecido para o envio e gera um contrato inteligente que bloqueia a quantia no novo cofre, que só pode ser aberto pelo benficiário.
Os dados acima são combinados em uma estrutura – uma transação – e à rede de mineradores.
Figura 1: A estrutura de uma transação em Bitcoin
Depois de receber a transação, o minerador recebe as provas do fato de que você possui os cofres dos quais deseja tirar dinheiro e lança contratos inteligentes. Se o contrato inteligente retornar um resultado positivo, então o dinheiro pode ser usado. Em seguida, ele pega o contrato inteligente recebido na transação e cria um novo cofre. Após a transação entrar na Blockchain, o novo cofre pode ser considerado criado, e seus fundos – de onde o dinheiro foi retirado – são considerados gastos.
Figura 2: Enviando dinheiro da Alice para o Bob.
Conclusão
Examinamos todos os elementos necessários para entender o conceito da Lightning Network e agora vamos fornecer uma definição abstrata do canal de pagamento, cuja essência será revelada no próximo artigo.
Um canal de pagamento é uma relação entre dois usuários, fixado em um Blockchain e regulado por um contrato inteligente, que permite trocar dinheiro entre dois participantes de forma rápida sem usar a Blockchain.
No próximo artigo, veremos exatamente como os tipos de contratos inteligentes que estudamos são utilizados para criar um canal de pagamento.
Chrys é fundadora e escritora ativa do BTCSoul. Desde que ouviu falar sobre Bitcoin e criptomoedas ela não parou mais de descobrir novidades. Atualmente ela se dedica para trazer o melhor conteúdo sobre as tecnologias disruptivas para o website.