Sei sulla pagina 1di 4

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

Estudo de arquiteturas dos blockchains de Bitcoin e Ethereum


Antônio Unias de Lucena Marco Aurélio Amaral Henriques (Orientador)

Departamento de Engenharia de Computação e Automação Industrial (DCA)


Faculdade de Engenharia Elétrica e de Computação (FEEC)
Universidade Estadual de Campinas (Unicamp)
CEP 13083-852 – Campinas, SP, Brasil

{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.

Keywords – blockchain, Bitcoin, Ethereum, cryptocurrency, cryptography.

1. Introdução modificar alguns aspectos do modelo do


blockchain do Bitcoin e este é o foco deste
O blokchain surgiu com a criptomoeda trabalho.
Bitcoin e tinha por objetivo ser um livro-razão
em que todas as transações financeiras de todos 2. Blockchain
os usuários de Bitcoin ficassem armazenadas de
forma a não ocorrer o problema de gasto duplo O blockchain foi proposto por Satoshi
(utilizacão de uma mesma quantia monetária em Nakamoto como solução para o problema de
transações financeiras diferentes) e não ser gasto duplo ao se utilizar a criptomoeda Bitcoin
necessário um órgão centralizador para validar [1]. Na forma proposta por Nakamoto, qualquer
as transações financeiras efetuadas. Percebeu-se transação financeira é visível a todos os
que este conceito de um conjunto com os membros da rede Bitcoin e uma transação é
elementos encadeados e fortemente protegidos realizada mediante a transferência de valor de
contra adulterações poderia ser interessante em um nó para outro da rede, sendo nó qualquer
outras aplicações em que adulterações não são ponto da rede previamente identificado.
desejadas: contratos e eleições digitais; em Além disso, todas as transações são
aplicações em que é há elevada necessidade de armazenadas em uma lista encadeada de tal
garantia contra erros e modificações: forma a permitir que qualquer membro da rede
armazenamento de dados; em aplicações com o acesse o registro das transações e não seja
objetivo de garantir propriedade: distribuição de necessário um agente centralizador para
mídias; e em aplicações em que é importante gerenciar, mediar e controlar as transações
garantir se determinado elemento pertence a um realizadas entre os membros desta rede. Assim,
conjunto: identificadores pessoais. percebe-se que o blockchain surgiu para ser uma
O conceito do blockchain é tão inovador espécie de livro-razão distribuído, disponível a
que o impacto previsto de sua utilização é todos os usuários de uma rede, com o histórico
comparado com aquele causado pelo surgimento de todas as transações já realizadas.
da Internet e com o recente impacto ocasionado Outra característica do blockchain proposto
pelas mídias sociais. Além disso, há um grande por Nakamoto é que o mesmo deveria ser
expectativa quanto ao uso de blockchain robusto a adulterações e qualquer tentativa de
aplicado à Internet das coisas (IoT), outro fraude no livro-razão existente seria facilmente
conceito inovador que está emergindo na detectada por todos os usuários da criptomoeda
atualidade. Bitcoin. Para se obter esta robustez a
No entanto, para se aplicar o conceito de modificações, os elementos do livro-razão são
blockchain em aplicações diferentes de ligados entre si, formando uma cadeia.
transações financeiras é necessário adaptar e
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

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

Além de aplicações como livro-razão em é possível conceber um sistema de votação


criptomoedas, o sistema financeiro tem prestado eletrônica em que adulterações em certas etapas
especial atenção a arquiteturas utilizando do processo se tornem muito mais difíceis ou
blockchain com o intuito de utilizá-lo como um simplesmente impossíveis. Um modelo de
mecanismo de armazenamento e processamento votação eletrônica usando blockchain já foi
de transações financeiras, caso do protocolo de proposto para ser utilizado na Ucrânia [5] e
pagamento Stellar [2]. espera-se que propostas similares apareçam pelo
mundo.
b) Armazenamento de Dados
Com o advento da era digital, é cada vez e) Identificadores Pessoais
maior a necessidade de se armazenar de forma É esperado que identificadores pessoais
confiável dados gerados por pessoas e empresas. (carteira de identidade, passaporte, carteira de
Por isso, a ideia de uma rede distribuída e motorista, cartão de crédito, etc) alcancem outro
robusta a ataques e tentativas de fraude e patamar de segurança, se a eles for aplicado as
adulteração é bem interessante para o características de um blockchain: elementos
armazenamento permanente e inalterável de fortemente resistentes a alterações e ligados
dados de qualquer natureza. Algumas propostas entre si [3].
têm surgido nesta linha [3] e será cada vez mais
comum encontrar no futuro sistemas de 2.3 Arquiteturas de blockchains
armazenamento distribuídos baseados no
conceito de blockchain. Uma arquitetura de um blockchain se difere
de outra principalmente através do processo de
c) Distribuição de Mídias criação de novos elementos do blockchain:
A popularização da Internet provocou mineração. Uma arquitetura pode ser mais bem
grandes perdas financeiras à indústria sucedida em determinadas aplicações
fonográfica, já que usuários da Internet dependendo do seu mecanismo de consenso. A
passaram a utilizar programas como Napster, seguir são explicitados alguns dos principais
Kazaa e programas baseados no protocolo bit- problemas das principais arquiteturas de
torrent para obter cópias de arquivos de músicas blockchain em uso na atualidade: Bitcoin e
e filmes, em vez de comprá-los. O uso de Ethereum.
blockchain na distribuição de conteúdo
multimídia poderá fazer com que qualquer a) Bitcoin
arquivo de música ou filme possa ser utilizado A arquitetura do blockchain do Bitcoin tem os
apenas pelo dono de determinado nó, seguintes aspectos negativos: alto intervalo
impossibilitando a cópia e distribuição gratuita tempo para confirmação de transações
do arquivo para outras pessoas. A venda de um financeiras (aproximadamente 60 minutos),
arquivo de mídia seria a transferência do mesmo necessidade de grande poder computacional, o
para o domínio de outra chave pública que leva o processo de mineração a se
pertencente a outro usuário dentro da rede concentrar cada vez mais nas mãos de poucos
blockchain, de forma similar ao que ocorre com usuários [6] e elevado gasto de energia elétrica.
a transferência de uma criptomoeda [4]. O consumo do processo de mineração do
Bitcoin é tão elevado que estima-se que em
d) Votação eletrônica 2020 a mineração do Bitcoin consumará tanta
Os principais modelos atuais de votações energia quanto a Dinamarca [7].
eletrônicas são centralizados e a totalização dos
votos é normalmente realizada após a b) Ethereum
transferência do conteúdo da memória de cada Se o Bitcoin foi criado como uma
urna para o órgão controlador da eleição. Assim, alternativa de moeda digital em relação ao
abre-se espaço para a adulteração do resultado sistema monetário tradicional, o Ethereum, por
dos votos antes de sua transferência para o sua vez, foi concebido para ser uma rede peer-
órgão controlador e, caso este órgão não seja to-peer de máquinas virtuais e foi criado como
imparcial, ele mesmo poderá participar em uma uma plataforma para criar e executar smart
adulteração. Com o uso de urnas eletrônicas contracts ou aplicações descentralizadas sobre
configuradas como nós de uma rede blockchain, blockchain [8]. Esta rede não é gratuita e para
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

utilizá-la, o usuário do Ethereum necessita problemas que os mesmos enfrentam


adquirir sua criptomoeda, o Ether, que atualmente.
atualmente é a segunda criptomoeda do mundo
em capitalização de mercado, atrás somente do Referências
Bitcoin. Além de trazer a proposta de efetuar
serviços sobre blockchain, o Ethereum propôs [1] Nakamoto, Satoshi. "Bitcoin: A peer-to-peer
soluções para determinados problemas do electronic cash system." (2008).
Bitcoin, tais como longo intervalo de https://bitcoin.org/bitcoin.pdf (acessado em
confirmação entre blocos e centralização da 03/04/2016).
mineração em torno de poucos usuários. O [2] Mattila, Juri. The Blockchain Phenomenon.
blockchain de Ethereum surge, portanto, como http://www.brie.berkeley.edu/wp-
uma interessante e promissora alternativa às content/uploads/2015/02/Juri-Mattila-.pdf
limitações de Bitcoin. Entretanto, ele apresenta (acessado em 30 de agosto de 2016).
um elevado nível de complexidade e isto poderá [3] Swan, Melanie. Blockchain: Blueprint for a
trazer dificuldades à sua segurança e à sua new economy. " O'Reilly Media, Inc.",
ampla adoção. Percebe-se a necessidade de 2015.
alternativas que reúnam o enorme potencial de [4] The future of the web looks a lot like
Ethereum com a simplicidade da arquitetura do Bitcoin.
Bitcoin. http://spectrum.ieee.org/computing/network
s/the-future-of-the-web-looks-a-lot-like-
3. Proposta bitcoin (acessado 30 de agosto de 2016).
[5] Ukraine Government Plans to Trial
O presente trabalho tem como proposta Ethereum Blockchain-Based Election
contribuir no desenvolvimento de novas formas Platform.
de se realizar o processo de mineração em redes https://bitcoinmagazine.com/articles/ukraine
baseadas em blockchain e bem como no -government-plans-to-trial-ethereum-
desenvolvimento de novas aplicações blockchain-based-election-platform-
utilizando-se blockchain. Após obter um 1455641691 (acessado em 3 de Julho de
aprofundado conhecimento da arquitetura dos 2016).
dois principais sistemas de blockchain em uso [6] One Bitcoin group now controls 51% of
atualmente, esperamos trabalhar em propostas total mining power, threatening entire
que facilitem ainda mais a adoção desta nova currency’s safety.
tecnologia em diferentes ramos de atividade. http://www.extremetech.com/extreme/1844
27-one-bitcoin-group-now-controls-51-of-
4. Conclusões total-mining-power-threatening-entire-
currencys-safety (acessado em 3 de Julho de
O conceito de blockchain representa uma 2016).
área muito atraente para pesquisas e novas [7] Bitcoin Could Consume as Much Electricity
aplicações, prometendo uma vasta gama de as Denmark by 2020.
possibilidades. É de se esperar que o blockchain http://motherboard.vice.com/read/bitcoin-
que (i) conseguir explorar todo o potencial da could-consume-as-much-electricity-as-
nova tecnologia enquanto fornece uma resposta denmark-by-2020 (acessado em 1 de Julho
ao elevado consumo de energia do blockchain de 2016).
do Bitcoin, (ii) fornecer um mecanismo de [8] Wood, G. (2014). Ethereum: A secure
criação de novos blocos em que não haja decentralised generalised transaction ledger.
concentração de mineração na mão de usuários Ethereum Project Yellow Paper.
com maior poder computacional e (iii) ser
escalável, permitindo milhões de transações por
segundo, se transforme no blockchain
dominante e conquiste o mercado de novos
serviços digitais, ditando o rumo deste mercado.
Sendo assim, o presente trabalho tem como
diretriz a proposta de pesquisar e buscar novas
aplicações para blockchains e soluções aos

Potrebbero piacerti anche