Beruflich Dokumente
Kultur Dokumente
So Carlos SP
Estudo sobre Bitcoin: escalabilidade da blockchain
USP So Carlos
Junho de 2016
Rodrigues, Elias Italiano
Estudo sobre Bitcoin: escalabilidade da blockchain /
Elias Italiano Rodrigues. So Carlos SP, 2016.
26 p.; 29,7 cm.
Rosane Minghim
Convidado 1
v
A compreenso humana, aps ter adotado uma opinio,
coleciona quaisquer instncias que a confirmem,
e ainda que as instncias contrrias possam ser muito mais numerosas e influentes,
ela no as percebe, ou ento as rejeita,
de modo que sua opinio permanea inabalada.
(Francis Bacon)
vii
RESUMO
RODRIGUES, E. I.. Estudo sobre Bitcoin: escalabilidade da blockchain. 2016. 26 f. Mono-
grafia (Graduao) Instituto de Cincias Matemticas e de Computao (ICMC/USP), So
Carlos SP.
O surgimento do Bitcoin e demais criptomoedas trouxe uma viso diferente para o atual sistema
econmico. A possibilidade de criar uma moeda descentralizada sem uma autoridade central
para sua emisso e nem para pagamentos, com qualidades de uma moeda segundo a teoria da
Escola Austraca, nunca antes foi possvel. Baseada na Internet, as criptomoedas funcionam por
meio de um sistema distribudo em que os ns contribuem para manter o histrico das transaes
(blockchain) por meio de uma atividade conhecida como minerao. O sistema usa de incentivos
para que os ns trabalhem honestamente e a rede segura desde que a maioria deles sejam
honestos. Porm, h um fator que nos impede de depender somente das criptomoedas como
forma de dinheiro: a escalabilidade da blockchain. Este trabalho tem como objetivo apresentar
uma introduo ao assunto e analisar o problema de escalabilidade.
ix
ABSTRACT
RODRIGUES, E. I.. Estudo sobre Bitcoin: escalabilidade da blockchain. 2016. 26 f. Mono-
grafia (Graduao) Instituto de Cincias Matemticas e de Computao (ICMC/USP), So
Carlos SP.
The rise of Bitcoin and other cryptocurrencies brought a different view to the current economic
system. The possibility of creating a decentralized currency with no central authority to issue
nor for payments, with qualities of a currency according to the Austrian School theory, has never
been possible before. Based on the Internet, cryptocurrency works through a distributed system
in which nodes contribute to keep the history of transactions (blockchain) by means of an activity
known as mining. The system uses incentives so that nodes work honestly and the network is
safe as long as most of them are honest. But there is a factor that prevents us from depending
only on cryptocurrency as a form of money: the scalability of blockchain. This paper aims to
present an introduction to the subject and analyze the scalability problem.
xi
LISTA DE ILUSTRAES
xiii
SUMRIO
1 INTRODUO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Contextualizao e Motivao . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 Organizao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 BITCOIN E CRIPTOMOEDAS . . . . . . . . . . . . . . . . . . . . . 3
2.1 Consideraes Iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Origem do Material Bibliogrfico . . . . . . . . . . . . . . . . . . . . . 3
2.3 O que Bitcoin? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.4 Desenvolvimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.5 Altcoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.6 Mas Bitcoin Tem Valor? . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.7 Consideraes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4 ESCALABILIDADE DA BLOCKCHAIN . . . . . . . . . . . . . . . . 15
4.1 Consideraes Iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.2 Cenrio Atual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.3 Core, XT, Classic e Unlimited . . . . . . . . . . . . . . . . . . . . . . . 16
4.4 Fee Market . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.5 Flexcap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.6 SegWit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.7 Lightning Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.8 Consideraes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5 CONCLUSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.1 Contribuies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.2 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
REFERNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
xvi
1
Captulo 1
INTRODUO
1.2 Objetivos
Este trabalho tem como objetivo apresentar um estudo sobre Bitcoin com enfoque nas
tecnologias, em particular o problema da escalabilidade da blockchain, e brevemente sobre a
escola de pensamento econmico que o sustenta. Visa tambm contribuir como material em
portugus para disseminao de informao sobre criptomoeda no Brasil.
1.3 Organizao
O desenvolvimento deste documento est organizado da seguinte maneira. O Captulo 2
apresenta a principal bibliografia deste trabalho e uma viso geral do Bitcoin, seu cenrio atual,
seu desenvolvimento e tambm conceitos de valor e moeda. O Captulo 3 mostra um resumo dos
principais componentes de uma criptomoeda para servir de introduo ao Captulo 4, que trata
do problema atual de escalabilidade da blockchain. Por fim, so feitas concluses sobre o estudo
no Captulo 5.
3
Captulo 2
BITCOIN E CRIPTOMOEDAS
por alguns como a maior inovao tecnolgica desde a criao da Internet e tem recebido
interesse de grandes investidores (GRASSEGGER, 2016).
Devido a nossa falha educao sobre economia e tecnologia, entender o que Bitcoin no
uma tarefa fcil e exige uma reeducao na rea. Bitcoin uma moeda digital e um sistema de
pagamento online, peer-to-peer, de cdigo-fonte aberto e totalmente descentralizada, isto , no
depende de uma autoridade central para emiti-la e nem para realizar pagamentos. Seu alcance
tanto quanto a Internet for possvel de prover. Para enviar e receber bitcoins necessrio apenas
possuir um dispositivo eletrnico conectado Internet e capaz de executar um aplicativo de
carteira. A transferncia feita diretamente de carteira para carteira, de modo pseudoannimo e
no h necessidade de criao de contas: cada usurio gera diversos endereos hash para usar
nas transaes.
Outra inovao que as transaes so irreversveis, isto , uma vez que A transferiu
uma quantia x para B e esta transao foi aceita na blockchain (espcie de livro-razo pblico
com o histrico de todas as transaes), no possvel revert-la. Essa caracterstica inerente a
concepo do Bitcoin e fundamental para evitar o problema do gasto duplo.
No momento em que este trabalho escrito, a quantidade de unidades de bitcoin dispon-
veis na rede cerca de 15,4 milhes e por definio essa quantidade cresce at atingir um total
de aproximadamente 21 milhes sendo o crescimento atual de em mdia 25 unidades a cada
10 minutos e essa quantidade diminui pela metade a cada 210 mil blocos (aproximadamente a
cada 4 anos) o que torna a oferta monetria previsvel.
A primeira taxa de cmbio entre Bitcoin e uma moeda fiduciria ocorreu em outubro de
2009 em que 1 BTC13 valia menos que um centavo de dlar americano (BITCOIN HISTORY,
2016). Na atual cotao, em comparao com o real, 1 BTC vale R$ 1.645,00 14 (valor ainda
muito baixo, pois 1 bitcoin divisvel em at 8 casas decimais e no apenas em duas como
o real). Apesar de crescente, o uso de bitcoins como meio de pagamento no comrcio dirio
ainda pequeno devido baixa quantidade de transaes por segundo e ao pouco conhecimento
da tecnologia pelos usurios. Ento suas principais aplicaes esto no uso como poupana e
como intercmbio em transferncias de dinheiro entre pessoas de pases diferentes. Grficos e
estatsticas sobre o estado da rede Bitcoin podem ser consultados no site blockchain.info.
Entretanto, Bitcoin ainda um sistema experimental. No momento, sua escalabilidade
seu maior problema e se solucionado causar uma secesso no dinheiro como o conhecemos
hoje, podendo levar governos e bancos tradicionais obsolescncia.
necessidade de um decreto governamental algo que contraria as teorias monetrias dominantes na academia.
(ULRICH, Fernando. Por que Satoshi Nakamoto merece o Prmio Nobel de Economia. 15 nov. 2015. Disponvel
em: <http://www.mises.org.br/Article.aspx?id=2223>. Acesso em: 13 abr. 2016).
13 Cdigo da moeda bitcoin.
14 ltimo preo na FOXBIT segundo o site Exchange War. Disponvel em: <http://exchangewar.info/coinprice?
BTC_BRL>. Acesso em: 17 abr. 2016.
6 Captulo 2. Bitcoin e Criptomoedas
2.4 Desenvolvimento
parte do software oficial, vrios aplicativos de carteira podem ser encontrados para
mobile, desktop, hardware e Web18 com diferentes nveis de segurana e funcionalidades. E
com relao aos investimentos, existe um considervel interesse de empresas em startups com
projetos envolvendo Bitcoin/blockchain, somando cerca de US$ 1 bilho at novembro de 2015
(PAGLIERY, 2015).
2.5 Altcoins
Aps o surgimento do Bitcoin, diversas criptomoedas alternativas, as altcoins, fo-
ram surgindo como modificaes, forks19,20 , do cdigo-fonte original de Nakamoto. Entre os
principais motivos para a criao de uma altcoin, tem-se:
Concorrncia: altcoin que tem o mesmo propsito do Bitcoin (servir como moeda e
meio de pagamento) e seu objetivo competir tentando ser uma moeda melhor. Para
isso, possui algoritmos/parmetros e/ou protocolos diferentes e pode implementar novas
funcionalidades que o Bitcoin no possui. Exemplos: Litecoin, Decred, Dash.
Inovao: altcoin que busca um novo propsito a ser explorado com a tecnologia do
Bitcoin. Exemplos: Namecoin (nomes de domnio .bit), Ethereum (smart contracts).
Entretenimento, didtica: altcoin cujo propsito servir de porta de entrada para usurios
que queiram ter seu primeiro contato com uma criptomoeda, mas ainda tm receio de se
envolver com a tecnologia. Exemplos: Dogecoin, Dilmacoin.
Moeda, ento, mais bem entendida como uma qualidade de uma mercadoria de
servir como um meio de troca, como um bem que intercambiado no mercado e
circula de mo em mo sem jamais, ou por um longo perodo, ser consumido de
fato. Tal qualidade potencializada ou debilitada por atributos variados intrnsecos
a uma mercadoria escassez, durabilidade, homogeneidade espacial e temporal,
divisibilidade, maleabilidade, transportabilidade, etc. e atributos artificiais
conferidos por influncias externas e estrangeiras natureza da mercadoria leis
estatais de curso forado, restries legais de uso, etc. [...] moeda qualquer bem
econmico empregado indefinidamente como meio de troca, independentemente de
sua liquidez frente a outros bens monetrios e de seus possveis usos alternativos.
[...]
Bitcoin , portanto, uma moeda, um bem econmico empregado indefinidamente
como meio de troca, embora com liquidez inferior da maior parte das moedas
fiducirias nacionais neste instante da histria.
E ainda, esclarece24 :
Captulo 3
3.2 Endereos
As criptomoedas baseiam-se no esquema de criptografia de chaves pblicas e privadas,
sendo o algoritmo ECDSA implementado no Bitcoin. Cada usurio possui um conjunto de
chaves pblicas gerados a partir de chaves privadas. As chaves pblicas so ento usadas para
gerar um hash de 160 bits que depois codificado com Base58Check em uma string alfa-
numrica comeando com o dgito 1 ou 3 (Figura 1). Essa string final chamada de endereo1 .
Usurios podem gerar novos endereos indefinidamente e, como prtica comum para preservar a
pseudoanonimidade, usa-se um endereo novo a cada vez que se recebe uma transao.
Public Key
Chave pblica
correspondente a
uma chave privada
ECDSA. Usa-se alguns pr-
Hash processamentos
Function combinados com
SHA256 e RIPEMD-160.
Base58Check
Encode
Bitcoin Address:
17NJGu7kMncocFEKfLDwmGwvTSgPjMqpHF
3.3 Transaes
As transaes possuem endereos de entrada e de sada e so feitas diretamente de
endereo para endereo. Como ilustra a Figura 2, mais do que um endereo pode ser usado
na entrada para compor o valor que se deseja transferir e mais do que um endereo pode ser
informado na sada. O valor total de sada deve ser menor ou igual ao valor total de entrada
caso seja menor, a diferena dada como taxa de transao para o minerador que incorporar a
transao em seu bloco, como ser explicado na Seo 3.6. Para autenticar uma transao, ela
deve ser assinada digitalmente pelos endereos de entrada com suas chaves privadas.
Input: Output:
1HB5XML...bifRoD4miY36v
Endereo de
signed 1.54881443 Bob recebe
Endereos de
Alice cujos 3 bitcoins
1J78i1Ls49...45o4Gh972B94 1PTpzE3uTx...txM7SYuQVE
valores foram
combinados o signed 1.00132219 3.00000000
Endereo de
suficiente para Alice recebe
pagar 3 bitcoins 1LiCkmZhP...yJgXmybnGCA 1Nuv4UV75d9JXo...edboP9n o troco.
ao Bob.
signed 0.87610000 0.42603662
3.42623662 3.42603662
3.4 Carteiras
As carteiras, wallets, so aplicativos de computador/smartphone/Web capazes de guardar
chaves privadas e gerenciar um conjunto de endereos, acompanhando o valor total deles e
realizando operaes: criar, assinar e enviar transaes. Geralmente, fazem uso de QR code para
ler mais facilmente os endereos. A Figura 3 mostra um exemplo de carteira para smartphone
com sistema operacional Android. Uma carteira no necessariamente precisa ser um n completo
na rede, ela pode operar de maneira mais leve, consultando apenas blocos de seu interesse para
verificar suas transaes. Existem atualmente trs tipos de tecnologias de carteira:
3.4. Carteiras 11
Determinstica (usa uma semente): contm chaves privadas que so geradas a partir de
uma nica semente. Somente o backup da semente j suficiente para recuperar todas as
chaves derivadas.
3.5 Blockchain
Blockchain um banco de dados pblico, distribudo pela Internet entre os mineradores.
Nele so registradas todas as transaes realizadas com a criptomoeda. O significado do nome
vem de sua implementao: estruturas de dados em que um bloco de dados aponta (possui
um ponteiro) para o bloco anterior, seu bloco pai, formando uma cadeia de blocos (Figura 4).
Esse ponteiro implementado utilizando o hash do bloco anterior, mantendo assim a integridade
dos dados na cadeia, pois qualquer modificao em dados anteriores mudar o valor do hash do
ponteiro. Cada bloco contm um conjunto de transaes que acessvel por meio de uma rvore
de dados que tambm implementa ponteiros hash (Merkle Tree).
O processo de minerao incrementa essa cadeia adicionando um novo bloco no final
(append-only). Logo, todas as transaes contidas nesse bloco so salvas e quanto mais mi-
neradores consentirem que determinado bloco faz parte da blockchain, mais efetivamente as
transaes desse bloco esto confirmadas.
3.6 Minerao
Minerao o processo pelo qual novas unidades de moeda so inseridas na rede. A
minerao tambm responsvel por realizar as transaes e pela segurana da rede contra
fraudes, ataques e gastos duplos.
Os mineradores so ns na rede que guardam uma cpia dos registros das transaes
(blockchain) e executam a atividade de minerao. Eles competem para encontrar o prximo
bloco jargo para o processo de Proof-of-Work: um trabalho difcil de ser feito, porm fcil
de ser verificado. No Bitcoin, ele consiste em encontrar um nonce tal que o hash do cabealho
do bloco seja inferior a um determinado coeficiente de dificuldade (target). Essa dificuldade
por definio ajustada a cada 2016 blocos de modo que se mantenha a taxa esperada de 1 bloco a
cada 10 minutos4 .
Dessa forma, uma vez que um minerador encontra o nonce que satisfaz o hash do bloco
em que est trabalhando, ele faz broadcasting desse novo bloco na rede. Os demais mineradores
verificam a legitimidade do bloco e ento o aceitam, incorporando-o em sua cpia da blockchain.
Esse ato de aceitao chamado de confirmao e normalmente usa-se a heurstica de pelo
menos 6 confirmaes para considerar que um bloco efetivamente faz parte da blockchain. O
protocolo dos mineradores o de sempre seguir com a cadeia mais longa.
Como a rede descentralizada e os ns podem entrar e sair de maneira independente, no
possvel contabilizar a quantidade de ns em operao para dar-lhes uma recompensa pelo seu
trabalho prestado. Assim, o Proof-of-Work promove uma distribuio justa de recompensas, pois a
probabilidade de um n encontrar o prximo bloco proporcional ao seu poder computacional
4 Mais informaes em: <https://en.bitcoin.it/wiki/Difficulty>. Acesso em: 12 abr. 2016.
3.6. Minerao 13
dentro da rede. Atualmente, para cada novo bloco inserido na blockchain, o minerador ganha 25
unidades de bitcoin (cerca de R$ 41.125,00) e por definio esse valor diminui pela metade a
cada 210 000 blocos (cerca de 4 anos). Essa recompensa representa a emisso de novas unidades
de moeda e realizada por meio de uma transao especial, chamada coinbase transaction,
criada pelo prprio minerador e atribuda a um endereo de sua escolha.
H( ) H( ) H( ) H( )
coinbase
0x0000
Campo coinbase pode ter
qualquer valor. usado caso
todos os nonces possveis j
foram tentados.
Figura 4 Ilustrao simplificada da estrutura de dados na blockchain5 .
corre o risco de ter sua transao ignorada pelos mineradores. Historicamente, essa taxa no
era requerida, mas hoje quase todos mineradores esperam receber taxas e no futuro, quando a
recompensa por encontrar blocos for reduzida a zero, as taxas de transao sero o principal
meio de recompensa para os mineradores.
Existe uma gama de tpicos que envolvem a minerao, entre eles, minerao em pools,
51% attack, DoS, consenso distribudo, teoria dos jogos etc, mas resumidamente pode-se dizer
que os mineradores executam quatro funes: i) armazenam e propagam a blockchain, ii) validam
novas transaes, iii) emitem novas unidades da criptomoeda e iv) votam em um consenso com
seu poder computacional.
Vista a possibilidade de descentralizar a moeda, os entusiastas j pensam adiante: Por
que no descentralizamos tudo?. A blockchain e o processo de minerao tornam-se os princi-
pais objetos de estudo para alcanar a descentralizao em outros servios na sociedade, como
contratos, licenas, declaraes de propriedade etc.
3.7 Bootstrapping
Tecnicamente criar uma nova criptomoeda uma tarefa facilitada devido aos projetos de
criptomoedas serem de cdigo-fonte aberto. Porm, existe um difcil caminho para conseguir
que ela adquira valor e seja comumente aceita como meio de troca. Esse processo, chamado de
bootstrapping, envolve conquistar mineradores, stakeholders, desenvolvedores e atingir uma
liquidez satisfatria. Durante essa fase, enquanto no se consegue uma quantidade razovel de
mineradores interessados em participar do projeto, a nova criptomoeda sensvel a ataques e
portanto insegura. Logo, essa uma etapa difcil e tcnicas so necessrias para se suceder.
Para a criptomoeda obter valor, necessrio adquirir qualidades que incentivem as
pessoas a valoriz-la. Uma comunidade de desenvolvedores fortalece a moeda, pois cria-se a
confiana de que ela est sendo pesquisada e aprimorada (correo de bugs, implementao
de novas funcionalidades, melhorias na segurana e escalabilidade etc). Assim como pessoas
interessadas em comprar/vender a moeda por outras moedas, ou melhor, negociar um produto/
servio diretamente na nova moeda, criam a confiana de que ela pode ser usada como meio de
troca.
Captulo 4
ESCALABILIDADE DA BLOCKCHAIN
resultar em uma moeda semelhante s moedas fiducirias atuais2 . Em outras palavras, a atual
ineficincia o preo da liberdade.
Classic: semelhante ao XT, o Classic tem o propsito de promover um hard fork para
aumentar o tamanho do bloco, porm menos agressivo, propondo inicialmente uma nica
mudana de 1 MB para 2 MB. Alm disso, o Classic trata sobre a governana do Bitcoin,
tentando trazer as decises para um modelo de votao entre as entidades envolvidas
na rede: mineradores, desenvolvedores, usurios e stakeholders; removendo ento a de-
pendncia que existe nas decises dos desenvolvedores do Bitcoin Core. Tem crescido
e ganhado suporte de mineradores, de empresas como Blockchain.info e Coinbase e de
desenvolvedores como Gavin Andresen e Jeff Garzik.
Unlimited: a ideia desse cliente liberdade: Bitcoin deve ser o que os seus usurios
definem pelo cdigo que escolhem executar. Nessa implementao, os mineradores podem
escolher o limite do tamanho do bloco a partir de uma opo de configurao no software,
trazendo essa deciso do protocolo para a aplicao. Tal deciso se baseia em fazer emergir
um valor para o tamanho mximo do bloco por meio do livre mercado e dar aos usurios o
poder de deciso sobre as mudanas que devem ocorrer.
Ao minerar um bloco, o minerador tem uma recompensa esperada que depende do bloco
(emisso de novas unidades de moeda + taxas de transao) e do custo computacional para
encontrar o nonce que satisfaz o hash de acordo com a dificuldade (target) atual. A chance de
minerar o bloco e ganhar essa recompensa, como j visto, proporcional ao poder computacional
do minerador com relao a toda a rede. Dado que um bloco foi minerado, o minerador ainda
precisa rapidamente propag-lo na rede para que ele seja logo aceito pelos demais peers. Durante
a propagao, existe o risco do bloco se tornar rfo, ou seja, ele no ser propagado a tempo
suficiente para que os demais peers o reconheam e o incorporem em suas cpias da blockchain
eles podem ter aceitado o bloco de um outro minerador poucos instantes antes. Assim, a
probabilidade de um bloco torna-se rfo proporcional ao seu tempo de propagao na rede,
que depende de seu tamanho. Esse risco deve ser levado em conta pelo minerador, pois representa
um prejuzo, uma vez que ele est investindo seus recursos computacionais. Toda essa situao
ilustrada pela equao de lucro5 que reproduzida aqui de maneira simplificada como:
hashPowerminerador
lucro = (recompensa + f ees) (1 Prfo )
hashPowerRede
O minerador ento tem que escolher da sua lista de transaes disponveis (mempool) aquelas
tais que maximizem o seu lucro e minimizem seu prejuzo. Esta proposta ordena a mempool em
ordem decrescente de densidade, definida como a taxa da transao divido pelo tamanho (bytes)
da mesma, e as escolhe como um algoritmo para o problema da mochila. Com tal abordagem,
possvel visualizar uma curva nesse espao (fee por bloco)6 .
Tomando o caso neutro em que um minerador teria lucro/prejuzo minerando um bloco
vazio (sem transaes), possvel obter uma curva (custo por bloco) que serve como compa-
rao para determinar se um bloco escolhido um bom candidato minerao7 . Criadas tais
ferramentas, pode-se ento escolher o melhor bloco sendo aquele na mempool cujo ponto no
grfico maximiza a distncia entre as curvas, ou em outras palavras, quando as derivadas (oferta
e demanda: preo/byte por byte) se interceptam, representando o equilbrio do livre mercado.
Um minerador, querendo maximizar seu lucro, no arisca criar um bloco demasiadamente
grande. Ao criar tal bloco, ele est correndo o risco de perder todo seu trabalho, pois o bloco
pode se tornar rfo. Logo, o minerador vai buscar por um limite sadio que maximize seu lucro.
Em tal configurao, tem-se os seguintes cenrios possveis. O primeiro o cenrio
saudvel em que a oferta e a demanda de blocos existem e os mineradores trabalham para
atingi-la com o melhor tamanho de bloco. O segundo o no-saudvel em que o custo por bloco
no tem um limite, implicando que o minerador pode criar blocos to grandes quanto queira;
porm este cenrio no compatvel com a realidade, pois o custo do bloco proporcional ao
seu tamanho devido ao risco de propag-lo e ele se tornar rfo. Por fim, pode no haver um
mercado o que no um problema.
5 (RIZUN, 2015, p. 4, Eq. 5)
6 (RIZUN, 2015, p. 5, Fig. 3)
7 (RIZUN, 2015, p. 6, Fig. 4)
4.5. Flexcap 19
4.5 Flexcap
Flexcap uma proposta sobre o tamanho mximo do bloco e diz que: ele deve ser flexvel,
podendo ser aumentado ou diminudo atravs de um sistema de votao que acompanhado
de um custo para quem vota. Parte da ideia de que impossvel prever qual o melhor tamanho
mximo para um bloco, mas que esse limite precisa aumentar ou diminuir para atingir uma
demanda (FRIEDENBACH, 2015).
Nesse esquema, um minerador renuncia parte da recompensa pelo bloco minerado
(emisso de novas unidades de moeda + taxas de transao) para poder aumentar o tamanho
mximo do bloco. No caso oposto, ele reivindica a recompensa renunciada anteriormente para
diminuir o tamanho. O limite base o atual de 1 MB e uma funo no-linear descreve o
custo, isto , quanto da recompensa do bloco o minerador deve renunciar para poder aumentar
o tamanho acima do limite base. A funo tal que, aps certo ponto, ela torna cada vez mais
caro o aumento do tamanho do bloco. O formato dessa funo parcialmente definido pelos
usurios por um processo de votao usando Bitcoin Days Destroyed (BDD)8 em que os usurios,
criadores das transaes, possam decidir se deve ser mais caro ou mais barato aumentar o limite
do bloco.
O custo para votar faz-se necessrio, porque envolvendo recursos escassos (poder compu-
tacional para o minerador e BDD para o usurio) refora a segurana contra ataques ao esquema
de votao dado que o atacante tem prejuzo.
Na funo proposta para o custo de aumentar/diminuir o tamanho mximo, existem
constantes cujas definies no so claras. S o fato de definir tal funo j uma interveno
dos desenvolvedores na economia do Bitcoin, o que justamente gostaria-se de evitar. Uma funo
definida pelos desenvolvedores, no final, torna-se como uma imposio de taxa de transao
mnima (o que j existe atualmente e, novamente, deseja-se evitar). Ainda assim, distinguir
usurios de minadores no possvel.
Semelhantes propostas visavam implementar uma funo para descrever o crescimento
do tamanho mximo do bloco como os BIP 101 e 103.
4.6 SegWit
Segregated Witness (SegWit) trata-se de uma uma engenharia de software tal que resolva
problemas do software sem afetar fortemente o funcionamento do Bitcoin e impulsione sua
8 Somente o volume de transaes no reflete verdadeiramente a atividade econmica do Bitcoin, pois transaes
so baratas e usurios/mineradores podem repetidamente transacionar consigo mesmos. Bitcoin Days Destroyed
(BDD) uma medida que leva em considerao o tempo desde a ltima vez que os bitcoins da transao foram
usados. Assim, uma transao de 1 BTC que est parado h 100 dias, 1 1 BTC 100 dias = 100 BDD, e cem
transaes de 1 BTC no mesmo dia, 100 1 BTC 1 dia = 100 BDD, so considerados como tendo a mesma
atividade econmica. Vale ressaltar que BDD no uma medida perfeita, mas diminui os rudos do volume de
transaes.
20 Captulo 4. Escalabilidade da Blockchain
escalabilidade (WUILLE, 2015). Parte da ideia de que somente ns completos precisam manter
uma cpia inteira da blockchain para validao das transaes, ou seja, alm dos dados das
transaes, guardar tambm as assinaturas digitais. Prope-se ento que as assinaturas sejam
desvinculadas das transaes, podendo ser guardadas separadamente (Figura 5). De imediato,
essa abordagem resulta numa otimizao de espao em disco (cerca de 60%) para os ns que
no desejam guardar as assinaturas. Um melhor aproveitamento do tamanho mximo do bloco
tambm alcanado.
Uma das principais correes do SegWit a respeito do problema de maleabilidade dos
identificadores das transaes (txid). Hoje possvel que algum n na rede altere uma transao
de maneira que seu hash torne-se invlido (e tambm sua txid), mas sem invalidar o contedo
da mesma. Esse problema ocorre devido a como o OpenSSL e o algoritmo ECDSA efetuam a
verificao da assinatura9 . Uma implicao imediata dessa correo conseguir que aplicativos
de carteira verifiquem o saldo mais rapidamente, pois podem confiar nas txids. Essa e outras
correes tcnicas preparam o ambiente para inovaes como Lightning Network.
Cabealho do bloco.
H( ) rvore das
transaes.
rvore das
assinaturas.
Coinbase
Transaction.
Transao com as
Assinaturas. assinaturas separadas.
Desde quando SegWit foi apresentado, ele tem tido um crescente suporte pela comuni-
dade Bitcoin, pois possui baixo risco de implementao e adoo (soft fork), no interferindo
nas regras de consenso.
9 Disponvel em: <https://bitcoin.org/en/developer-guide#transaction-malleability>. Acesso em 27 mai. 2016.
4.7. Lightning Network 21
Figura 6 Ilustrao simplificada de uma rede de canais de pagamentos. Alice deseja transacionar com Dave e para
isso usa um roteamento possvel por meio de Bob e Carol. Primeiramente, Dave recebe de Carol, depois
Carol recebe de Bob e por fim Bob recebe de Alice.
22 Captulo 4. Escalabilidade da Blockchain
Captulo 5
CONCLUSO
Ainda assim, toda hesitao quanto ao rumo do projeto Bitcoin bastante compreensvel,
visto que ms decises podem causar grandes prejuzos s entidades envolvidas e, de modo geral,
criptomoeda ainda uma tecnologia nova e em constante debate e desenvolvimento. Ademais,
no to cedo altcoins conseguiro competir ao mesmo nvel com o Bitcoin, uma vez que a
maioria dos investimentos e dos desenvolvedores experientes esto focados nele. Espera-se por
grandes mudanas nas prximas dcadas e inovaes no uso de blockchains como visionado
pela Ethereum.
5.1 Contribuies
Este trabalho rene e comenta sobre assuntos relacionados a rea de Criptomoeda e serve
para introduzir pessoas interessadas ao tema e ao problema atual de escalabilidade da blockchain
por meio de algumas propostas. Alm dos profissionais altamente experientes que investem em
projetos de criptomoeda, espera-se que a pesquisa sobre criptomoedas no mbito acadmico,
que alis ainda pequena no Brasil, cresa nos prximos anos e possa fortalecer a tecnologia
com apoio da academia.
Pesquisar para este trabalho proporcionou bons momentos de estudos sobre tecnologias
interessantes e com um evidente potencial disruptivo, podendo causar grandes mudanas sociais,
assim como fez o surgimento da Internet.
REFERNCIAS
BITCOIN HISTORY. The Complete History of Bitcoin [Timeline]. 2016. Disponvel em:
<http://historyofbitcoin.org>. Acesso em: 12 abr. 2016. Citado na pgina 5.
FRIEDENBACH, M. A flexible limit: trading subsidy for larger blocks. 2015. Disponvel
em: <https://scalingbitcoin.org/hongkong2015/presentations/DAY2/3_tweaking_the_chain_2_
friedenbach.pdf> e <https://www.youtube.com/watch?v=vfIs_trEhao&t=35m45s>. Acesso em:
06 mai. 2016. Citado na pgina 19.
HE, D.; HABERMEIER, K.; LECKOW, R.; HAKSAR, V.; ALMEIDA, Y.; KASHIMA, M.;
KYRIAKOS-SAAD, N.; OURA, H.; SEDIK, T. S.; STETSENKO, N.; VERDUGO-YEPES, C.
Virtual Currencies and Beyond: Initial Considerations. International Monetary Fund, 2016.
Disponvel em: <https://www.imf.org/external/pubs/ft/sdn/2016/sdn1603.pdf>. Acesso em: 12
abr. 2016. Citado na pgina 4.
HEARN, M. The resolution of the Bitcoin experiment. 2016. Disponvel em: <https://medium.
com/@octskyward/the-resolution-of-the-bitcoin-experiment-dabb30201f7>. Acesso em: 12 abr.
2016. Citado na pgina 6.
MEIKLEJOHN, S.; POMAROLE, M.; JORDAN, G.; LEVCHENKO, K.; MCCOY, D.; VO-
ELKER, G. M.; SAVAGE, S. A Fistful of Bitcoins: Characterizing Payments Among Men
with No Names. 2013. Disponvel em: <https://cseweb.ucsd.edu/~smeiklejohn/files/imc13.pdf>.
Acesso em: 13 abr. 2016. Citado na pgina 10.
NARAYANAN, A.; BONNEAU, J.; FELTEN, E.; MILLER, A.; GOLDFEDER, S. Bitcoin
and Cryptocurrency Technologies. Princeton University Press, 2016. No prelo. Disponvel
em: <https://d28rh4a8wq0iu5.cloudfront.net/bitcointech/readings/princeton_bitcoin_book.pdf>.
Acesso em: 12 abr. 2016. Citado 2 vezes nas pginas 3 e 13.
26 Referncias
PAGLIERY, J. Record $1 billion invested in Bitcoin firms so far. 2015. Disponvel em: <http:
//money.cnn.com/2015/11/02/technology/bitcoin-1-billion-invested>. Acesso em: 13 abr. 2016.
Citado na pgina 6.
POON, J.; DRYJA, T. The Bitcoin Lightning Network: Scalable Off-Chain Instant Pay-
ments. 2016. Disponvel em: <https://lightning.network/lightning-network-paper.pdf> e <https:
//www.youtube.com/watch?v=8zVzw912wPo>. Acesso em: 06 mai. 2016. Citado na pgina 21.
RIZUN, P. R. A Transaction Fee Market Exists Without a Block Size Limit. 2015. Disponvel
em: <https://scalingbitcoin.org/papers/feemarket.pdf> e <https://www.youtube.com/watch?v=
ad0Pjj_ms2k>. Acesso em: 05 mai. 2016. Citado 2 vezes nas pginas 17 e 18.
ULRICH, F. Bitcoin a moeda na era digital. Instituto Ludwig von Mises Brasil, 2014.
Disponvel em: <http://www.mises.org.br/Ebook.aspx?id=99>. Acesso em: 12 abr. 2016. Citado
2 vezes nas pginas 4 e 8.