Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
IX DCA/FEEC/University of Campinas (UNICAMP) Workshop (EADCA) Campinas, Brazil, September 29-30, 2016
{alucena, marco}@dca.fee.unicamp.br
Abstract – Since its appearance with the cryptocurrency Bitcoin, the concept of blockchain has called the attention due to its
property of providing protection against modification to elements in a chain. Now it is possible to see blockchains being used in
financial transactions and in other fields such as data storage, personal identifiers and electronic elections. Besides, there is a
great expectation about the use of blockchain and Internet of Things (IoT) together. This article presents a short introduction to
blockchain technology, the main problems faced by the blockchains of Bitcoin and Ethereum, and the guidelines to what we
consider would be an efficient blockchain.
Assim, pode-se definir o blockchain como próxima transação em conjunto com o hash da
uma base distribuída de dados que mantém uma transação anterior também têm seu valor hash
lista encadeada com todos os registros dos calculado e este processo continua até a última
elementos de uma rede, bem como registros de transação. O valor hash obtido ao final de todo
qualquer criação de novos elementos e processo é denominado Merkle root. Desta
modificação destes, impossibilitando revisão e forma, é praticamente inviável alterar qualquer
adulteração dos mesmos. Seu funcionamento se transação sem que se quebre toda esta cadeia,
baseia nos seguintes princípios: funções de mão pois seus elementos estão fortemente ligados
única (normalmente funções hash), registro do por meio de seus valores hash. Por fim, é
tempo da criação ou modificação do arquivo calculado o valor hash do resultado final da
(timestamp), assinatura digital do autor da operação entre as transações, Merkle root, com
alteração do arquivo, rede descentralizada peer- o valor hash do cabeçalho do bloco anterior do
to-peer e mecanismo de geração de um novo blockchain. Desta forma, qualquer alteração em
bloco do blockchain. uma transação ou em um bloco anterior é
Função de mão única é aquela em que é facilmente detectada por qualquer peer da rede
computacionalmente viável realizar operações blockchain.
em um sentido, mas inviável no sentido oposto,
isto é, é praticamente improvável obter o valor
de entrada da função, conhecendo-se o valor de
saída desta. A função de mão única tem a
finalidade de tornar improvável qualquer
adulteração do arquivo digital que se encontra
no blockchain. Com este objetivo, o blockchain
faz uso de funções hash, que são funções que
mapeiam uma entrada de tamanho arbitrário em
um conjunto de bits de tamanho fixo e Figura 1. Modelo simplificado do blockchain do
totalmente dependentes da entrada. Além de ser Bitcoin.
improvável obter a entrada a partir de seu hash,
obtêm-se valores totalmente diferentes para Por fim, um blockchain necessita do
qualquer alteração (mesmo que de apenas um processo de geração de novos blocos. Quando o
bit) na entrada. blockchain está atrelado a uma criptomoeda,
O registro do tempo da transação este processo pode estar ligado à criação de
(timestamp) tem por finalidade armazenar o novas moedas, o que é denominado mineração.
instante em que qualquer alteração ocorreu no Tal processo é oneroso, por se basear na
blockchain e impedir qualquer fraude temporal. resolução por força bruta de uma função
A assinatura digital, por sua vez, visa garantir inversa, e é realizado simultaneamente por
que toda e qualquer alteração em algum vários membros da rede. Aquele que for o
elemento pertencente a determinado nó da rede primeiro a encontrar a solução da função
blockchain foi realizada pelo proprietário do par inversa, poderá criar um bloco, inserir (e
de chaves pública e privada daquele nó. validar) as últimas transações dos usuários da
A rede descentralizada peer-to-peer, por sua rede e receber uma recompensa pelo esforço
vez, é crucial para o funcionamento de um (alguma taxa e/ou um certo volume de
blockchain, pois desta forma todas as alterações criptomoedas).
(acréscimos) no mesmo podem ser conferidas e
aceitas (ou rejeitadas) pela maioria dos peers, 2.1 Aplicações de Blockchain
impossibilitando assim a inserção e
consolidação de informações incorretas. Inicialmente o conceito de blockchain era
A Figura 1 ilustra como é calculado o valor voltado exclusivamente para transações
hash de um novo bloco e como cada bloco é financeiras. Porém, percebeu-se que além de
inserido no blockchain do Bitcoin. Em um bloco atuar como o livro-razão de uma criptomoeda, o
são reunidas uma ou mais transações e estas blockchain poderia ter aplicações nas seguintes
transações são organizadas como se fossem uma áreas:
árvore (Merkle tree). Uma primeira transação
tem seu valor hash calculado; em seguida, a a) Sistema Financeiro
IX Encontro de Alunos e Docentes do DCA/FEEC/UNICAMP (EADCA) Campinas, 29 e 30 de setembro de 2016
IX DCA/FEEC/University of Campinas (UNICAMP) Workshop (EADCA) Campinas, Brazil, September 29-30, 2016