Edil Medeiros

Ideas for Projects

Ideas for Projects in Bitcoin

Below you’ll find some ideas for projects to be developed in the Bitcoin space. Most are thought to be developed by undergraduate students in a two semester project. Some could clearly be expanded as Master’s projects. If you have additional ideas, please send a PR to this website.


  • Análise on-chain

Desenvolver algo semelhante ao https://bitcoinisdata.info (com um escopo inicial menor, claro), coletar a blockchain e analisar dados (por exemplo, quantas utxos existem, quais os tipos de contrato seriam os mais comuns, etc)Abordagem mais pragmática poderia usar o Bitcoin Core para acessar a blockchain e ler os dados pela interface RPC.Outra abordagem poderia ser desenvolver um cliente leve que consulta os dados via rede p2p.

  • Crawler de Bitcoin

Desenvolver algo semelhante ao https://bitnodes.io, um crawler de bitcoin que tenta descobrir informações sobre os nodes que compõem a rede, os ips, etc.

  • Minerador da signet

Reimplementar esse script: https://github.com/bitcoin/bitcoin/tree/35bf426e02210c1bbb04926f4ca2e0285fbfcd11/contrib/signet.Não acredito que seria incluído no Bitcoin Core, mas acho que poderia ser um projeto muito interessante.Minha ideia é fazer ele numa arquitetura cliente-servidor, com uma interface de linha de comando semelhante ao conjunto bitcoind+bitcoin-cli.

  • Análise de dados do repositório do Bitcoin Core

Talvez seja um trabalho interessante do ponto de vista de engenharia de software, analisar o histórico do git do Bitcoin Core (https://github.com/bitcoin/bitcoin).Mapear quem são os contribuidores mais ativos, as áreas de código mais trabalhadas ao longo do tempo, comportamento da issues e PRs, etc.

  • Outros projetos de monitoramento da rede

O b10c (https://b10c.me) desenvolve vários projetos de monitoramento da rede: https://mempool.observer/, https://mempool.observer/monitor, https://transactionfee.info/, https://miningpool.observer/, https://fork.observer/. Podemos contribuir com algum dos projetos (ele se mostrou interessado em mentorar esse tipo de trabalho recentemente).

Ver https://github.com/0xB10C/project-ideas/issues/8

  • Krux (https://selfcustody.github.io/krux/)

A Krux é uma wallet em hardware cujo principal desenvolvedor é um colega meu. Podemos escolher uma ou duas issues marcadas como [Enhancement] (https://github.com/selfcustody/krux/issues) e implementar.

  • Padronização da interface RPC do Bitcoin Core

Esse é um projeto um pouco mais ambicioso, mas acho que daria para implementar um piloto, em especial já visando um mestrado na sequência.Problema: o Bitcoin Core tem duas interfaces: p2p e RPC. A interface RPC é usada pelos operadores do nó para enviar comandos para o software, é a interface utilizada pela maioria dos clientes que precisam interagir com um nó de bitcoin. É uma interface JSON que funciona como um HTTP server, mas os métodos são uma bagunça, mudam toda hora e é difícil implementar um cliente de forma automática (todo mundo faz clientes custom-made para partes mais específicas). Existe um desejo de padronizar essa interface de forma a gerar clientes de forma automática (ver discussão em https://github.com/bitcoin/bitcoin/issues/29912 e https://github.com/rust-bitcoin/corepc/issues/4). Acho que seria possível pegar o trabalho começado em https://github.com/casey/bitcoin/tree/rpc-json que exporta um json e montar um programa que gera código do cliente a partir dessa especificação em formato de máquina.

  • Nerdminer v3

Nerdminer é um pequeno hardware de mineração com microcontroladores. Ele é a base de outros projetos mais sérios que usam ASICs industriais. O hardware sae conecta numa pool de mineração por meio de um protocolo chamado Stratum. Esse protocolo tem uma nova versão (https://stratumprotocol.org) com implementação de referência em Rust. Uma ideia seria reimplementar o nerdminer (https://github.com/BitMaker-hub/NerdMiner_v2) em Rust. Essas placas ESP-32 tem suporte para Rust embarcado, seria um projeto bem de ponta também e no escopo do TCC teria que ser dividido em partes menores para não ficar com escopo muito grande.

  • Bitaxe + Stratum v2

Mesma coisa acima, mas visando placas com hashrate maior (https://bitaxe.org).

  • Covenant

Essa também é uma discussão de fronteira, investigar as diferentes propostas de covenants para o Bitcoin (https://covenants.info). A ideia seria começar uma pesquisa na linha deste relatório: https://bitcoinrollups.org

Get in touch

Avenco comes with a built-in contact form.