Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
ebdc56e
Bruno Garcia spotlight:
TumaBitcoiner Sep 7, 2026
cfeb82a
Fixed images.
TumaBitcoiner Sep 7, 2026
ff226ea
Fixed images.
TumaBitcoiner Sep 7, 2026
72ca4b8
Tried fixing images.
TumaBitcoiner Sep 7, 2026
170f4f2
Added cta and button for donations.
TumaBitcoiner Sep 7, 2026
29abfd6
Fixed broken hyperlink.
TumaBitcoiner Sep 7, 2026
a65db8e
Fixed image extension.
TumaBitcoiner Sep 7, 2026
03031b6
Added new hero image for the spotlight cover and updated article.
TumaBitcoiner Sep 10, 2026
f88f2c0
Added summary.
TumaBitcoiner Sep 10, 2026
98bb8ee
Updated hero image.
TumaBitcoiner Sep 10, 2026
c5aa302
Apply batched suggestions from @jonatack
TumaBitcoiner Sep 13, 2026
a347946
Applied second batch of suggestions from @jonatack.
TumaBitcoiner Sep 13, 2026
348793f
Harden report submission with Turnstile and grant-id checks (#937)
dergigi Sep 8, 2026
8db9e47
Fix funding decisions diagram zoom rendering (#936)
dergigi Sep 9, 2026
38dee9d
Add FAQ entries for grant disclosure and board selection (#938)
dergigi Sep 9, 2026
12442a1
Update supporters list (#940)
dergigi Sep 9, 2026
192f12a
Developer Spotlight: nym21, BRK (#941)
TumaBitcoiner Sep 11, 2026
de088d5
Fix nym21 spotlight publish date (#942)
dergigi Sep 11, 2026
db67330
Add DDoS topic page (#945)
dergigi Sep 12, 2026
c0bd854
Update agreement.pdf for transparency page (#944)
Arvin21M Sep 12, 2026
e5f804c
Fixed typo in summary.
TumaBitcoiner Sep 17, 2026
d70d838
Removed old featured image and added correct one.
TumaBitcoiner Sep 17, 2026
d7e23af
Fetching new image.
TumaBitcoiner Sep 17, 2026
e3fbcc3
Updating date.
TumaBitcoiner Sep 17, 2026
ef7e8ee
Merge branch 'master' into 295-developer-spotlight-bruno-garcia
dergigi Sep 17, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
371 changes: 371 additions & 0 deletions data/blog/developer-spotlight-bruno-garcia.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,371 @@
---
title: "Bruno Garcia Is Making Bitcoin More Resilient Through Testing and Education"
date: '2026-09-17'
tags: ['bitcoin', 'research', 'spotlight']
authors: ['tuma']
images: ['/static/images/spotlight/bruno-garcia/featured.png', '/static/images/spotlight/bruno-garcia/hero.png']
draft: false
summary: "Bruno Garcia's goal is to make Bitcoin more resilient not only by testing its code, but also by bringing more Brazilian developers to it."
pullQuotes:
- "What makes Bitcoin really interesting is that it does not rely only on technical mechanisms to make the system work. It also relies on incentives."
- "What helps more is remembering that the work has a purpose."
- “A global decentralized protocol should also have a broad and decentralized base of people who understand it deeply enough to maintain, review, and challenge it.”
- "I think education is important because Bitcoin development has a very high barrier to entry."
---

Bruno Garcia was working as a software developer in the
automotive industry when [Lucas Ferreira][lucas-ferreira],
the Brazilian developer that would later found
[Vinteum][vinteum], first contacted him. Bruno was active in
the blockchain industry at the time — he had also worked for
some exchanges back then — and was contributing to open-

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is an extra space right now between "open-" and "source"

Suggested change
some exchanges back then — and was contributing to open-
some exchanges back then — and was contributing to open-source

source projects, always looking at the technological side of
things. Lucas wanted him to join a series of Socratic
Seminars held by [Chaincode Labs][chaincode-labs]. Lucas' goal?
Encouraging more Brazilian developers to contribute to the
Bitcoin open-source ecosystem.

That contact was the beginning of Bruno’s career in
Bitcoin-related [Free and Open-source Software (FOSS)][foss].
Chaincode Labs’ program was an online cohort where
developers met weekly to discuss topics about
Bitcoin development. When discussing [Taproot][taproot],
Bruno thought the topic was really interesting, but thought
that it would be better to actually learn from the [Bitcoin
Core][bitcoin-core] code itself. Thus, he started looking
directly into the code and the related tests. Something
happened, though. He found a bug in the functional tests,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
happened, though. He found a bug in the functional tests,
happened, though: He found a bug in the functional tests,

[opened a Pull Request][bitcoin-core-pr-21081] (PR) on
GitHub to solve it, and got it merged. There was a huge buzz

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
GitHub to solve it, and got it merged. There was a huge buzz
GitHub to solve it, and it was merged. There was a huge buzz

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change breaks a bit the flow of the sentence. I'll think about a change!

around that PR, not because of technical reasons, but
because Bruno was the first Brazilian developer to ever have
a PR merged in Bitcoin Core. A first step towards a less
centralized development ecosystem, which had been
historically based outside of South America.

Fixing that bug in the functional test bootstrapped his
career as an open-source developer. He started contributing
to Bitcoin Core more and more regularly, while continuing to
work in the automotive industry.

After a part-time grant from [Brink][brink], Lucas wanted
Bruno to become the first grantee completely funded by
Vinteum. He went far and wide to find economic support for
Bruno and finally found him another grant to work full-time on
FOSS. Bruno joined Vinteum as its first grantee in
the summer of 2022 and took on the role of Board Member and
Director of Education.

Bruno has been an
[OpenSats LTS grantee][bruno-garcia-lts-grant]
since 2024, following support from Brink and Vinteum.
Thanks to this financial support, Bruno is able to focus on
the fundamental work he is doing for Bitcoin with a
long-term time horizon.

—

> I'm father, husband, perhaps an amateur athlete, a
> musician, Brazilian, software engineer and researcher.
> Nothing super special, just a guy trying to build a better
> world for everyone (and strongly believe in Bitcoin and
> open source for this) while living an ordinary beautiful
> life.

Bruno is a simple guy. When he is not looking for bugs in
Bitcoin, he is busy taking care of his family, playing with
his son, running and cycling, or at church.

<Image
src="/static/images/spotlight/bruno-garcia/outdoor.jpg"
darkSrc="/static/images/spotlight/bruno-garcia/outdoor.jpg"
alt="Bruno with his son, spending some time outdoor."
width={646}
height={869}
className="w-full h-auto"
/>

Bruno has always been interested in the tech world. As a
curious high-school student, he started his programming
journey working on robots. “I found it fascinating that you
could write some code and immediately see it interact with
the physical world,” he says. Programming quickly became a
hobby and he started experimenting in different areas on his
own.

Open-source came later in his life. He was intrigued by the
possibilities shared knowledge can bring: Learning by
looking at what other people built and making your work
useful for others. He sees open-source as a “very powerful
way of learning and contributing to the world.” People with
very different backgrounds come together to discuss ideas,
review each other’s work, and build things in public. “That
philosophy resonated a lot with me, and eventually it became
a big part of how I approach software development and,
later, Bitcoin,” he adds.

> But at some point I realized that what makes Bitcoin
> really interesting is that it does not rely only on
> technical mechanisms to make the system work. It also
> relies on incentives. That changed my mind.

Bitcoin entered his life way before he started working on
it. He was quite active in local groups in Brazil, but he
was mostly looking at the technical side of it — “the
cryptography, the networking, the distributed systems
aspects.” However, what really made it click for him was
diving into game theory: The idea that you don’t need any
technical mechanism to enforce rules, but simply rely on the
incentives to make the whole system work.

—

> Sometimes finding a subtle bug, improving a test
> framework, or making it easier for future developers to
> verify a change can have a huge impact without being very
> glamorous.

Testing software can seem like the least rewarding career
path. Instead of working on some new cool features, new
consensus changes, or novel research topics — the “rockstar”
stuff —, you spend most of your time diving into other
people’s work looking for issues. Bruno is not convinced,
though. He doesn’t think that a contribution is more
valuable just because it is more visible. On the contrary,
he thinks that what he does can have a huge impact,
especially in Bitcoin.

> In many kinds of software, a bug is inconvenient. In
> Bitcoin, a bug can have consequences for people's money,
> network interoperability, or even consensus. And because
> the software is highly adversarial, you have to assume
> that every edge case will eventually be exercised.

He was already focusing on testing before entering the
Bitcoin space. His academic background and research focus
was on testing and finding ways of exposing bugs
automatically. “It was natural for me to look at [Bitcoin]
through that lens,” he points out. The story about his first
contribution to Bitcoin Core confirms it.

His work on Bitcoin Core primarily focuses on strengthening how
the codebase is tested, mainly through [fuzzing][fuzzing]
and [mutation testing][mutation-testing]. The former is a
testing technique that consists in feeding the software with
random inputs or malformed data to find possible edge cases
and bugs. The latter is a way to evaluate how good a test
is, by making small, faulty changes in the code — called
mutants — to see if tests fail or not.

<Image
src="/static/images/spotlight/bruno-garcia/bitcoincorespace.png"
darkSrc="/static/images/spotlight/bruno-garcia/bitcoincorespace.png"
alt="Bitcoin Core Space dashboard."
width={2473}
height={954}
className="w-full h-auto"
/>

He has also been working on [Bitcoinfuzz][bitcoinfuzz], an
implementation of differential fuzzing for Bitcoin-related
software. While simple fuzzing looks for bugs in a single
codebase, differential fuzzing checks for discrepancies
between different implementations of a protocol. It feeds
the same random input to multiple codebases to verify that
they keep the same behavior.

Thanks to his work on Bitcoinfuzz, Bruno was able to find
[more than 90 bugs, inconsistencies, and
mismatches][bitcoinfuzz-bugs] between different
implementations of Bitcoin, Lightning, and related software.
A huge impact on the ecosystem.

—

> A global decentralized protocol should also have a broad
> and decentralized base of people who understand it deeply
> enough to maintain, review, and challenge it.

All the work that Bruno does for Bitcoin seems to follow the
same objective: Making Bitcoin more resilient. Developing
testing tools is one way to do it. The other is certainly
through education. He is convinced that for Bitcoin to
thrive, its contributors “should be distributed not only
geographically, but also culturally and economically.”

> Bitcoin benefits from protocol developers, of course, but
> also from people coming from software testing, formal
> methods, distributed systems, economics, security, UX, and
> education.

Diversity also lies in the different expertise involved.
Bruno thinks that valuable contributions can come from
people bringing techniques and thinking outside of the usual
schemes of Bitcoin development.

He sees the need for this expertise to be created
locally. “If Bitcoin is supposed to be a decentralized,
global system, then ideally its development should not be
concentrated in a handful of companies, cities, or
countries.” Bruno thinks that having contributors in places
like Brazil can make the ecosystem stronger, more diverse,
and, as a consequence, more stable.

> That is where education fits into what we do at Vinteum.
> The goal is not just to teach people what Bitcoin is, or
> even just how Bitcoin works. It is to develop people who
> can eventually participate in the technical community
> independently: reading the code, reviewing changes, doing
> research, finding problems, and contributing upstream.

As Head of Engineering, Bruno is helping Vinteum move
forward with this vision. Together, they are trying to build
a long-term community where every new developer can become a
mentor, giving back to the other what he received at the
beginning of his journey.

To become a real community, though, a group of people needs
a place to gather, at least every now and then.
Vinteum believes in in-person gatherings and
exchanges, and so they decided to create a physical space:
[Casa 21][casa-21], a hacker house where Bitcoin
builders from Brazil — but also from all over the world —
can meet, work together, and build the future. Casa 21 has
greatly boosted the community of Brazilian builders,
which is now growing fast.

One of the programs Bruno has helped launch at Vinteum is the
[Bitcoin Dev Launchpad (BDL)][bitcoin-dev-launchpad], a
curriculum he would have loved to join as a novice open-source
source contributor. Nothing similar was available at the
time. The goal is to identify talented programmers, improve
their bitcoin knowledge and skills, and provide the means to
help them turn into full-time open source contributors.

The Bitcoin protocol is complex, the codebase is large, and much of
the knowledge “is accumulated through discussions, code
review, mentorship, and years of context.” That’s where
education fits in, helping engineers find the time,
mentorship, funding, and connections they need to contribute
to open-source projects, with the goal of making
contributing to Bitcoin become a realistic career path for
talented people in Brazil.

There is still a lot of work to do, mainly on the knowledge
transfer aspect. Most of the historical knowledge is
scattered across several platforms, mailing lists, IRC
channels, and codebases. “Making that knowledge easier to
access, while still preserving the culture of learning by
doing, would make it easier for new contributors to become
effective” — That is the way forward in Bruno’s mind.

—

> We have reached a point where we can no longer overlook
> these advancements.

Bruno is now working with the [Red Team][red-team] — the
group of FOSS developers that is leveraging the latest AI
models to discover vulnerabilities before attackers do. The
goal is always the same: making Bitcoin more resilient.

That is becoming more and more difficult in the age of AI.
Bruno thinks that developers need to stay on top of the
latest advancements happening outside of our ecosystem,
particularly on LLMs. “By the time we gain access to the
[latest] models or secure the funds to use them, malicious
actors are already using them to exploit our applications,”
he says.

He is now looking into how to leverage these new
technologies. He noticed that Bitcoin Core sometimes
implements useful behavior around a [BIP][bips]
that is not clearly defined in the BIP itself. His idea
would be to develop a sort of harness of differential
fuzzing and LLMs, which would allow him and other
maintainers to analyze and find these discrepancies to
improve the BIPs. He says he is already working on a proof
of concept, though he deems it too immature to be shown.

—

> What helps more is remembering that the work has a
> purpose. If I improve a test, find a bug, help someone
> understand the codebase, or help a new developer become a
> contributor, that is a small contribution to making
> Bitcoin more robust and more sustainable.

Curiosity and purpose. These are the things that help Bruno
to continue everyday. “Bitcoin is one of those systems where the
more you learn, the more you realize there is still a lot to
understand,” he says. Curiosity drives him to find the next
edge case, understand why something was built in a certain
way, and design a new solution.

On the tougher days, though, curiosity might not be enough.
He needs to remember that there is an important purpose
behind what he is doing. Bruno knows that reliability of
Bitcoin software matters, that any small contribution can
make it more robust. And by making Bitcoin more robust, he
knows he is working to make the world a better place.

He is proud of everything he has been doing for Bitcoin —
every Bitcoin Core contribution or PR review, for example.
However, he is particularly fond of all the work he has done
that started as a simple research project but evolved into
something able to find real bugs and edge cases.

And even when the work seems to lead nowhere — or the
progress seems too slow to feel useful — he tries to
remember one of the important lessons of FOSS. The work you
do is cumulative, and it becomes part of something that
other people can inspect, improve, and build on.

> Sometimes a small improvement, a careful review, or
> helping someone else move forward is already meaningful.

Bootstrapping and growing a Bitcoin development community in
Brazil is another thing to be proud of — and probably as
meaningful as the technical work.

> Helping create an environment where Brazilian developers
> can contribute upstream, interact with experienced Bitcoin
> developers, and see Bitcoin open-source development as
> something they can realistically pursue is very meaningful
> to me.

---

Bruno Garcia has been an [LTS grantee][bruno-garcia-lts-grant] since 2024.
"OpenSats helped me to stay focused on meaningful work by ensuring
financial support", Bruno says. Our support for Bruno's work was made possible
thanks to your generous donations to [The General Fund][general-fund].

For comments, corrections, or suggestions about our
[Spotlight series][opensats-spotlight], please reach out
to spotlight@opensats.org.

---

<DonateRecurringButton designation="general" />


[lucas-ferreira]: https://nostr.at/npub1pumdyz7qfu0suamv4nrl0vcg574dtl5mwazva6nyjxhpwc4ccxxqca3ane
[vinteum]: https://www.vinteum.org/
[chaincode-labs]: https://chaincode.com/
[foss]: /topics/foss
[taproot]: /topics/taproot
[bitcoin-core]: /projects/bitcoin-core
[bitcoin-core-pr-21081]: https://github.com/bitcoin/bitcoin/pull/21081
[brink]: https://brink.dev/
[bruno-garcia-lts-grant]: /blog/bruno-garcia-receives-lts-grant
[fuzzing]: /topics/fuzzing
[mutation-testing]: /topics/mutation-testing
[bitcoinfuzz]: /projects/bitcoinfuzz
[bitcoinfuzz-bugs]: https://github.com/bitcoinfuzz/bitcoinfuzz#bugsinconsistencesmismatches-found-by-bitcoinfuzz
[casa-21]: https://casa21.vinteum.org/
[bitcoin-dev-launchpad]: /blog/let-a-thousand-flowers-bloom#bitcoin-dev-launchpad
[red-team]: /blog/code-red-supporting-first-responders
[bips]: /projects/bips
[opensats-spotlight]: /spotlight
[general-fund]: /funds/general
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading