A origem do Decred

14 minuto(s) de leitura

Original version: The origin of Decred

Atualizado em:

Decred é um criptoativo que usa uma blockchain própria, todo o seu código é open source, e seu protocolo tem muito em comum com o Bitcoin. Os desenvolvedores originais do Decred desenvolviam o btcsuite do Bitcoin, um conjunto de aplicativos escritos na linguagem Go, do qual deriva o código do Decred.

O Decred surgiu porque os desenvolvedores enxergaram vários problemas organizacionais sérios no Bitcoin, os principais sendo:

  • a forma como as decisões são tomadas no Bitcoin através da mineração proof-of-work (PoW);
  • o fundo da rede; e
  • a governança do projeto

1. btcsuite/btcd

O btcd foi desenvolvido porque ter uma alternativa ao bitcoind (daemon original do Bitcoin) aumentaria a diversidade e resiliência do ecossistema do Bitcoin e da infraestrutura.

A linguagem Go foi escolhida por levar vantagens em relação à C ou C++, sendo a mais importante delas a infraestrutura de testes. Por ter uma robusta infraestrutura de testes, todo o código pode e deve ter test coverage. Essa ‘cobertura de testes’ garante que a maioria dos erros serão descobertos no início do ciclo de desenvolvimento, antes que causem erros graves e mais retrabalho. A cobertura de testes sempre foi algo levado à sério porque o btcd é um software financeiro e erros podem fazer pessoas perderem dinheiro.

Como foi dito antes, o repositório decred/dcrd (servidor de blockchain do Decred) é um fork do repositório do btcsuite/btcd, assim como o decred/dcrwallet (carteira do Decred) é um fork do btcsuite/btcwallet. Um fork significa que foi feita uma cópia do repositório original do código-fonte e depois foram feitas mudanças que geraram novas versões, que podem ou não ter sido aplicadas de volta no repositório original, dependendo da compatibilidade e do interesse dos administradores.

Figura 1 - Fork do repositório de código-fonte
Figura 1 - Fork do repositório de código-fonte

A importância do btcd no ecossistema de criptoativos pode ser vista na página de forks do btcd no Github, que mostra que o blockchain server de muitos projetos hoje no mercado deriva do btcd.

2. Mineração híbrida PoW/PoS

O conhecimento sobre mineração híbrida PoW/PoS é fundamental para entender os próximos parágrafos, portanto, uma breve introdução é necessária. Um sistema de consenso que usa apenas PoW está sujeito a vários problemas:

  • negação de serviço através da mineração de blocos vazios ou artificialmente pequenos;
  • censura por não incluir certas transações nos blocos; e
  • mineradores tendo a capacidade de bloquear ou forçar mudanças no consenso.

Na mineração PoW há queda de braço entre mineradores (que querem centralizar a mineração para aumentar o seu poder de decisão e consequentemente o seu lucro em detrimento do ecossistema), grandes empresas e corretoras (que buscam melhorar funcionalidades que suportem os negócios) e investidores (que usam como reserva de valor e meio de troca).

Uma maneira de analisar essa situação é ver o PoW como um fator de autenticação único para o sistema de consenso, onde o PoW é normalmente executado por um pequeno número de entidades que não necessariamente representam o restante dos participantes do sistema. Embora este processo seja fundamentalmente descentralizado, questões práticas levam o processo de mineração PoW a ser muito centralizado, semelhante a sistemas de terceiros de confiança (TTP - Trusted Third Parties), como bancos.

Um mecanismo PoW/PoS híbrido cria um segundo fator de autenticação para o consenso, em que os mineradores PoS podem votar a favor ou contra o bloco anterior criado por um minerador PoW. Se um número suficiente de mineradores PoS votar contra o bloco anterior, a recompensa de PoW daquele bloco pode ser reduzida ou eliminada totalmente, o que significa que os mineradores PoS atuam como uma verificação do comportamento dos mineradores PoW. Nos cenários descritos acima, os mineradores PoS podem votar contra os bloqueios feitos por mineradores PoW que eles desaprovam, fornecendo um claro incentivo para que os mineradores PoW não se envolvam no que a maioria de nós entenderia como um comportamento desonesto.

Características técnicas

Algumas características técnicas que fazem o Decred diferente de outros projetos:

  • Sistema de consenso híbrido proof-of-work/proof-of-stake (PoW/PoS) - Uma loteria descentralizada é usada para selecionar os mineradores PoS que votam nos blocos PoW. Os subsídios PoW e PoS são responsáveis por 60% e 30% do subsídio total do bloco, respectivamente. Este sistema é baseado na MC2, que é muito semelhante, mas desenvolvido independentemente da Proof-of-Activity (PoA) desenhada por Iddo Bentov, Charlie Lee, Alex Mizrahi e Meni Rosenfeld.

  • Cold staking e descentralização das stake pools - A capacidade de gerar novas moedas sem o risco de ter suas moedas online enquanto estiver minerando no PoS. O sistema de mineração PoS também foi projetado com stake pools distribuídas e descentralizadas em mente, para que até mesmo aqueles com poucas moedas possam participar da validação da rede.

  • Sistema de votação interna para seleção de hard ou soft forks - Os mineradores PoW e PoS podem votar em recursos e disputas através de bits de sinalização, fornecendo um mecanismo sensato para resolver disputas sobre os recursos da blockchain.

Mineração

Bitcoin

Figura 2 - Equação da oferta de Bitcoin
Figura 2 - Equação da oferta de Bitcoin

No início (n = 0), em 2009, cada bloco minerado recompensava o minerador com 50 BTC (50/2^0 = 50/1 = 50). Então, durante os primeiros 210.000 blocos foram emitidos 10.500.000 BTC (50 BTC * 210.000 blocos). Após 210.000 blocos, quase quatro anos, ocorreu o primeiro halving (n = 1), e a recompensa caiu pela metade (50/2^1 = 50/2 = 25 BTC). Nesses 210.000 blocos foram emitidos mais 5.250.000 BTC, totalizando 15.750.000 BTC. Quase quatro anos depois ocorreu o segundo halving (n = 2) e a recompensa caiu pela metade novamente (50/2^2 = 50/4 = 12,5 BTC). A figura a seguir mostra o resultado dessa progressão geométrica até o fim da emissão de BTCs, estimada para o ano 2140.

Figura 3 - Curva de crescimento da oferta de Bitcoin
Figura 3 - Curva de crescimento da oferta de Bitcoin

  • Novo bloco: aproximadamente a cada 10 minutos
  • Blocos por dia: 144 (24h * 60min = 1440min, 1 bloco/10min = 144 blocos/dia)
  • Ajuste da dificuldade do bloco: a cada 14 dias
  • Data estimada do último bloco com emissão de Bitcoin: maio de 2140
  • Recompensa: 100% da Coinbase (nome da transação que emite novas moedas) + 100% das taxas para PoW

Figura 4 - O minerador é recompensado com as novas moedas da Coinbase e as taxas das transações
Figura 4 - O minerador é recompensado com as novas moedas da Coinbase e as taxas das transações

Decred

Figura 5 - Equação da oferta de Decred
Figura 5 - Equação da oferta de Decred

No bloco #0 não houve transação ou emissão de DCRs. No bloco #1 foram pré-minerados 1.680.000 DCR. Desse montante, 840.000 DCR (50%) foram distribuídos entre os desenvolvedores como forma de pagamento e os outros 840.000 foram distribuidos via airdrop de 282,63 DCR para 2.972 pessoas que se cadastraram no projeto, uma forma de distribuição que os desenvolvedores criaram para que desde o início houvesse circulação de DCRs (oferta e demanda). Esse assunto será melhor abordado nas próximas seções.

A partir do bloco #2 em 08.02.2016, durante 6.142 blocos (n = 0), cada bloco minerado no Decred poderia recompensar* os mineradores com 31,19582664 DCR, então 191.604,7672 DCR (31,19582664 DCR * 6.142 blocos) poderiam ter sido emitidos*.

PoW (60%) PoS (30%) Fundo da Rede (10%) Total (100%)
18,71749598 DCR 9,35874799 DCR 3,11958266 DCR 31,19582664 DCR

Após 6.144 blocos, no bloco #6144, ocorreu a primeira redução na recompensa (n = 1). Durante os próximos 6.144 blocos (~21,33 dias), do bloco #6144 até o bloco #12287, foram emitidos 187.890,5586 DCR.

PoW (60%) PoS (30%) Fundo da Rede (10%) Total (100%)
18,53217424 DCR 9,26608712 DCR 3,08869570 DCR 30,88696697 DCR

Então veio a segunda redução (n = 2) na recompensa a partir do bloco #12288.

PoW (60%) PoS (30%) Fundo da Rede (10%) Total (100%)
18,34863787 DCR 9,17434368 DCR 3,05811456 DCR 30,58114561 DCR

A figura 6 mostra o resultado dessa progressão geométrica até o fim da mineração do Decred, estimado para o ano 2039.

Antes uma explicação*: até o bloco #4095 a única recompensa do bloco era a transação coinbase, que gerava os DCRs do minerador PoW (60% da recompensa possível) e do fundo da rede (10%), totalizando 21,83707865 DCR de recompensa por bloco. Até esse bloco não havia ainda sorteio de tickets, apenas compras. Então essa foi a recompensa máxima dos blocos #2 até o #4095. A partir do bloco #4096 os tickets comprados nos blocos anteriores começaram a ser sorteados e a recompensa dos mineradores PoS foi incluída no bloco, totalizando 31,19582664 DCR por bloco. O primeiro ticket sorteado recompensou o minerador PoS em 1,87174959 DCR (93,58% de retorno) e devolveu a ele os 2,00 DCR usados na compra do ticket, totalizando 3,87174959 DCR. A previsão de recompensas pode ser acompanhada na página Previsão de subsídio DCR, que já contabiliza a diferença da mineração PoS explicada aqui. Também a figura 5, que mostra um total de 20.638.330,04460490 DCRs, apresenta um resultado para a equação matemática já com o desconto de 4096 blocos sem a recompensa da PoS.

Figura 6 - Curva de crescimento da oferta de Decred
Figura 6 - Curva de crescimento da oferta de Decred

  • Novo bloco: aproximadamente a cada 5 minutos
  • Blocos por dia: 288 (24h * 60min = 1440min, 1 bloco/5min = 288 blocos/dia)
  • Ajuste da dificuldade do bloco: a cada 12 horas
  • Data estimada do último bloco com emissão de Decred: maio de 2039
  • Recompensa: 60% da Coinbase (nome da transação que emite novas moedas) para PoW, 30% para PoS (a recompensa PoS vem, na verdade, de uma transação identificada no bloco por “Vote”), 10% para o fundo da rede; 100% das taxas para PoW

Figura 7 - Os mineradores PoW e PoS recebem a maior parte das recompensas
Figura 7 - Os mineradores PoW e PoS recebem a maior parte das recompensas

Com o mecanismo de consenso PoW puro, ganha quem tem mais poder de mineração, o mesmo que dizer que ganha quem tem mais dinheiro. O Decred Project gosta de “skin in the game”. As “moedas” são temporariamente travadas na blockchain em troca de tickets que têm poder de voto. Em troca, quando o ticket é sorteado é remunerado (em DCRs) em 1,2% em média, a cada 20 dias em média. Esse mecanismo de mineração PoS se soma a mineração PoW comum ao Bitcoin, formando um mecanismo de dupla autenticação. Assim, os stakeholders podem votar em propostas de mudanças na rede e os tickets validam os blocos minerados via PoW. Então os mineradores não conseguem tomar decisões que prejudicam o investidor de longo prazo.

Medida de comparação

No fim do ano 2039 todos os ~20,6M de DCRs já terão sido minerados, assim como ~20,88M de BTCs (~99,45% dos 21M), se aproximando da assíntota horizontal em y = 21M. Isso significa que a progressão geométrica usada no Decred é mais suave e, dado o mesmo número aproximado de anos (BTC: 2039-2009 = 30 anos; DCR: 2039-2016 = 23 anos), coloca no mercado aproximadamente a mesma quantidade de moedas. A menor diferença entre a oferta de BTCs e DCRs deve ocorrer em 2039, quando a diferença será de ~248.000 DCRs a menos.

Figura 8 - Comparação aproximada entre a curva de crescimento da oferta de Decred x Bitcoin
Figura 8 - Comparação aproximada entre a curva de crescimento da oferta de Decred x Bitcoin

3. Financiamento e fundo da rede

É difícil manter um desenvolvimento sólido e constante sem uma fonte de financiamento ou apenas com doações. É importante saber de onde vem o dinheiro. Se são os desenvolvedores, uma empresa privada ou o MIT Media Lab faz diferença quando se avalia a possibilidade de conflito de interesses, a agenda de cada organização e seus objetivos por trás do financiamento. Então, nada mais razoável do que um projeto que pretende ser uma noção mais saudável de dinheiro possa financiar a si mesmo, sem depender de fontes e agendas externas.

Além disso, um criptoativo como o Decred é criado com valor zero ou próximo disso. Somente a sua tecnologia e sua utilidade podem valorizar o ativo. Em outras palavras, assim como o Tim Cook, CEO da Apple, tem ações que só pode vender em alguns anos, precisando valorizar a empresa no longo prazo para que possa vender as ações com lucro, os desenvolvedores do Decred criaram um criptoativo que precisava se valorizar para que tivessem retorno do seu investimento.

Os DCRs pré-minerados são 8% da oferta total de 21M de DCRs, ou seja, 1.680.000 de DCRs. A Company 0 e os desenvolvedores colocaram USD 415.000 no projeto desde abril de 2014 e receberam 4% da oferta total, 840.000 moedas (a uma taxa de USD 0,49/DCR). Nenhum desenvolvedor recebeu qualquer quantidade de moedas de graça: todas as moedas dos desenvolvedores foram compradas a essa taxa de USD 0,49 por moeda através de seu investimento inicial ou em troca de trabalho remunerado a essa taxa.

Os 4% restantes foram igualmente distribuidos (282,63 DCR, como pode ser visto na transação coinbase do bloco #1 já mostrada no parágrafo anterior) entre participantes de uma lista de airdrop como parte de um esforço para aumentar a rede do Decred, descentralizar a distribuição de moeda e fazer com que a moeda chegue até pessoas interessadas em participar do projeto.

Os desenvolvedores financiaram o projeto do próprio bolso e, portanto, há um comprometimento com o projeto. Isso é bem diferente de uma ICO, onde os desenvolvedores “vendem” um whitepaper em troca de Bitcoin ou outro ativo com valor de mercado.

ICO (Initial Coin Offering)

O termo remete à IPO (Initial Public Offering), que são as ofertas públicas iniciais de ações realizadas por empresas que abrem seu capital na bolsa de valores. São realizadas por empresas que desejam financiar seus projetos, monetizar o investimento dos fundadores da empresa e facilitar a negociação de uma parte da empresa aumentando a liquidez através do mercado. Leis e regulamentações protegem investidores e obrigam a prestação de contas antes, durante e depois do IPO.

Projetos financiados por ICOs (oferta inicial de moedas, em tradução livre) sofrem de conflitos de interesses inerentes ao seu modelo de financiamento. O desenvolvedor escreve um whitepaper, apresenta ao mercado e pede financiamento. Os termos e condições dos projetos, em alguns casos, apresentam o projeto como de alto risco, onde o investidor pode perder todo o recurso investido. É como comprar um apartamento na planta: quanto mais distante da entrega, maior o risco. Em outros casos, o investimento a ser feito é apresentado como sendo recreação, e não como investimento propriamente dito.

ICOs costumam ter dois grandes problemas: (1) no papel tudo funciona; (2) empreender é construir algo e depois colher os resultados, obter lucro. Quando realiza uma ICO o desenvolvedor recebe o lucro antes de escrever a primeira linha de código, então não há um grande incentivo em realmente construir algo depois que os recursos entraram, ainda mais quando o investimento foi feito como sendo ‘recreação’. Alguns projetos chegam a sair do papel, com características básicas, apenas cópias do código do Bitcoin ou de outro projeto funcional, com alterações em alguns parâmetros.

4. Governança do projeto

Além de suas características técnicas, o Decred Project introduz governança através de propostas e votos para garantir o crescimento no longo prazo.

Um investidor, também chamado de stakeholder, usando um cliente Decred (Decrediton ou dcrctl + dcrwallet), pode travar seus DCRs na blockchain em troca de tickets. Esses tickets dão ao stakeholder o poder de voto nas mudanças propostas na rede. Quando o ticket é sorteado através de um algoritmo da rede, o investidor recebe os seus DCRs travados de volta e mais 1/5 dos 30% dos DCRs minerados no bloco (30% dos DCRs minerados vão para os tickets, e cinco tickets são sorteados por bloco). É nesse momento do sorteio que o ticket é chamado para votar em uma proposta que fica aberta para votação durante 8.064 blocos (28 dias, com 288 blocos/dia). Qualquer pessoa poderá enviar uma proposta através da Politeia, o sistema de propostas públicas com versionamento e registro de data e hora ancorada na blockchain, e os desenvolvedores serão pagos para trabalhar nas propostas aceitas.

Para que um novo bloco seja aprovado na blockchain é necessário que pelo menos 3 de 5 tickets sejam sorteados e que esses tickets aprovem o bloco. O bloco também pode ser rejeitado e não ser incluído na blockchain.

A distribuição feita via airdrop e os percentuais de subsídio em cada bloco também impactam a governança do projeto. O airdrop distribuiu 282,63 DCRs entre 2.972 participantes, diluindo a participação dos desenvolvedores iniciais. Os percentuais de recompensa dos blocos privilegiam o minerador PoW, que investe em hardware e energia elétrica. Um percentual maior para o PoW é importante para diluir a participação dos investidores iniciais que apenas investem em PoS e não continuam comprando mais DCRs e tickets ou investindo também em PoW, caso contrário esses investidores iniciais teríam sempre uma participação garantida nas recompensas PoS e na tomada de decisão através do voto.

Essa arquitetura cria um equilíbrio de forças entre usuários, mineradores e desenvolvedores. Investidores de longo prazo, que são os mineradores PoS, decidem os rumos do projeto verificando o trabalho dos mineradores PoW, que fornecem à rede a segurança através do hash power. Os mineradores PoW também votam em propostas, mas não conseguriam agir em conluio porque suas escolhas e seus blocos minerados serão validados pelos mineradores PoS. Já os desenvolvedores são remunerados para trabalhar nas propostas que a comunidade entende que trazem mais valor ao projeto no longo prazo. Os primeiros desenvolvedores do Decred, os fundadores, também estão comprometidos com o projeto, já que financiaram seu desenvolvimento desde o início e foram pagos em DCR.

O projeto se apoia na sua Constituição que estabelece princípios básicos como emissão finita, privacidade, segurança, fungibilidade, inclusão e desenvolvimento progressivo da tecnologia.

Decred Constitution

Decred (/ˈdi:ˈkred/, /dɪˈkred/, dee-cred) is an open, progressive, and self-funding cryptocurrency with a system of community-based governance integrated into its blockchain. The project mission is to develop technology for the public benefit, with a primary focus on cryptocurrency technology. Decred, as a currency and as a project, is bound by the following set of rules, which include guiding principles, a system of governance, and a funding mechanism. These rules have been established in an effort to create an equitable and sustainable framework within which to achieve Decred‘s goals.

Referências: