TrueBlocks welcomes an Ethereum Foundation Grant
TrueBlocks is pleased to announce that we have been awarded an Ethereum Foundation grant. We thank the Foundation for its support, and a special shout out to everyone who’s helped us get this grant over the finish line.
In this blog post, we do three things: (1) we describe the “milestones” that we’ve agreed to deliver to the Foundation and the broader Ethereum community, (2) we describe the “problem” TrueBlocks seeks to address, (3) we detail our recent progress, community involvements, and social media mentions from the last few months.
To hold us accountable (which we welcome), we’ve agreed that the Foundation will pay TrueBlocks in quarterly installments over the next year upon achieving the milestones outlined below:
October 2022 milestones
- This introductory blog post and the work we discuss below under accomplishments.
January 2023 milestones
- Publish a blog post describing our accomplishments during the last quarter of 2022, plus a few articles detailing various aspects of our work.
- Release the first publicly-available docker package of
trueblocks-core. This will be a beta release but pretty far along.
- Complete a second draft of the Specification for Unchained Index used to create, query, and share the immutable Unchained Index bloom filters and chunks. (Here’s the first draft.)
- Produce an alpha version of the
April 2023 Milestones
- Publish a blog post detailing our progress during the quarter.
- Complete the port of our code base to GoLang. Note: the GoLang port will make TrueBlocks more accessible to other developers, not to mention greatly improve processing speed due to easier use of concurrency and paralelism.
- Publish version v1.0.0 of
trueblocks-corerepo to open source and make it publicly available. Move
trueblocks-dappnodetowards version v1.0.0 as well.
- Complete the documentation for
chifracommand line tools, API interfaces, and file format definitions and specifications. Improve installation instructions and Getting Started docs. Add tutorials, examples for data scientists, and other TrueBlocks articles.
June 2023 Milestones
- Publish a final blog post detailing progress for the year and summarizing our accomplishments.
- Complete version 1.0.0 of trueblocks-core.
- Complete version 1.0.0 of trueblocks-docker.
- Complete version 1.0.0 of trueblocks-dappnode.
- Complete the work needed to share the Unchained Index via content-addressable storage (most likely IPFS). Make the Unchained Index “pin by default”.
- Research (and perhaps create a proof of concept) of using TrueBlocks’ Unchained Index on (EVM-based) Layer 2 chains.
- Make suggestions on ways to improve the node software (for example, describing “indexing nodes”). Participate in public discussions about improvements to the RPCs. This work will manifest itself mostly in the form of participation in discord and forum discussions and through our documentation and specifications.
- “Make progress with node-as-a-service providers and other partners.” This item may be challenging due to the heavy “design leanings” of the TrueBlocks code base towards local-first operation.
- Show evidence of community adoption. If we are able to demonstrate the “usefulness” of locally-running node software by creating a “reproducible” index, which facilitates unfettered, private, and fast access to the blockchain data we all want, we believe our community will continue to grow. (All of this is made much easier with dAppNode.)
The impetus behind the TrueBlocks project
For those less familiar with our project, the problem we seek to address is detailed below and in our grant proposal. You may read the entire proposal here. We first show the question (in bold) and then our answer (in italics).
What is the specific problem, research question, or need you are trying to address? Why should this problem be prioritized, and what happens if it isn’t solved?
In his essay, “To Break Google’s Monopoly on Search, Make Its Index Public”, Robert Epstein says, “…there is a simple way to end Google’s monopoly…and that is to turn its “index”…into [a] commons.” The article details the ravaging effects on our society that are imposed when a single entity controls access to the world’s information. These are issues that we in the Ethereum community should take seriously.
Currently, there are two primary ways of accessing Ethereum blockchain data. The first is via old-fashioned web services such as Etherscan. The second is through new-fangled fee-per-query solutions such as The Graph. Each of these indexing solutions has problems, and while The Graph is making movements towards decentralization, both remain primarily centralized.
Because of this centralization, the entire community is vulnerable to the same privacy invasion, user capture, and excess rents that Epstein discusses. For some reason, our community seems to “trust” that the current providers will either remain benevolent or “eventually” decentralize. Neither of those two outcomes seems likely to us.
Moreover, it is our belief that in order to sustain themselves financially, in a space where economies of scale are so powerful, both of these “indexing solutions” will eventually need to capture the ever-growing data as a private good. (How else will they make money?) In short, unless we take deliberate steps to counteract the obvious trends, gatekeeper control (of blockchain data) will bite us just as hard in Web 3.0 as it has in Web 2.0.
A blockchain’s unique properties are lost when its data is served as it is today. The community has already paid for this data in the form of gas fees and complexity. The data has already been consented to and cryptographically enshrined, bringing the invaluable assurance of truth and openness. Yet, we find ourselves trusting middlemen to serve us this immutable data. Or, perhaps worse, we accept a fee-per-query marketplace where, simply due to cost, we can be excluded from accessing our own data. In short, the current solutions undermine nearly all of what we value in public blockchains: openness, trustlessness, and immutable on-chain data.
There is no denying that today’s indexing solutions solve a real problem and play an important role in the ecosystem. But, along the way, we as a community have made compromises and, in so doing, have put Web 3.0 and its promise of decentralization and data sovereignty at risk.
TrueBlocks seeks to solve this problem.
We seek to curb the dominance of today’s indexers and the vulnerabilities they subject us to by building a truly decentralized indexing solution that ensures address indexing and, by extension, the blockchain data remain a true public good. As well as making data access unstoppable and private, TrueBlocks facilitates cheaper access to the data and helps curtail the role of rent-seeking intermediaries.
A lot of words. Our job this year is to deliver on these promises.
We’ve made very nice progress in 2022, and we are committed to continuing this progress.
To give the reader a sense of some of our accomplishments thus far this year, we highlight our more recent releases below.
Releases in 2022
Chester II — This release cleaned up a few things from the previous release. Nothing major.
Release Chester II — Cleanup release · TrueBlocks/trueblocks-core
You can’t perform that action at this time. You signed in with another tab or window. You signed out in another tab or…
Chester — This release was a major change to the indexing scraper (and many other parts of the code). We nearly doubled the speed of the indexing scraper. We also laid the groundwork for much better distribution of the Unchained Index through the use of content-addressable stores. We also explored early versions of our “pinning by default” functionality.
Release Chester — Major Release — Much Better Unchained Index · TrueBlocks/trueblocks-core
Chester — Major Release — Much Better Unchained Index Pre-release Wrote first draft of the Unchained Index Spec…
Centre — In this release, we expanded upon one of the non-core parts of our codebase. This feature, called “monitoring,” allows applications to specify a collection of addresses that will be constantly monitored. Non-core features, such as monitoring, are not covered under the grant proposal.
Release Centre — Better Monitors · TrueBlocks/trueblocks-core
Removes chifra scrape monitors and chifra scrape both Adds chifra scrape run (for the block scraper) Adds chifra…
In addition to the above releases, we made progress earlier this year when we added multi-chain support. Multi-chain support allows TrueBlocks to work on any blockchain, including layer 2s and the beacon chain. Currently, we index the Ethereum mainnet, the Sepolia testnet, and the Gnosis chain. We hope the community carries these tools to other chains.
Recent Social Media Mentions
In addition to getting an increased amount of conversation in our discord, we’ve had some very nice mentions on Twitter, which we detail next.
Best in industry indexer…
A modern wonder…
We shared a very novel way to find four-byte encodings with Sourcify…
[NEW]: The Ultimate 4-byte Function Selector Database · Issue #32 · ethb3rlin/find-a-team
Introduction I am Kaan, the maintainer of Sourcify and an organizer at ETHBerlin. I won’t be hacking myself during the…
We’re useful for blockchain data analysis…
We’re solving hard problems…
We show that “commercial solutions to indexing” are not all there is…
Web-3 wouldn’t be possible without open source projects…
We are also very pleased with this intriguing mention in connection with one of our favorite projects the Portal Network. We also have a few people investigating writing EIP/ERCs. More on this next quarter.
Thanks again to the Ethereum Foundation for the vote of confidence in our work. With your support and collaboration, we expect tremendous improvement and growth in the project this year.
Thanks also to our growing community. Your input, patience, and financial support (through GitCoin) as we have moved from idea to beta and eventually to version 1.0.0 has been so helpful and really, really appreciated.
Thanks also to Dawid Szlachta and Meriam Zandi for your valuable and continued contributions to the TrueBlocks project.
Support Our Work
TrueBlocks is funded from our own personal funds and grants from The Ethereum Foundation (2018), Consensys (2019), Moloch DAO (2021), Filecoin/IPFS (2021), our GitCoin donors, and, of course, The Ethereum Foundation (2022).
If you like this article and wish to support our work, please donate to our GitCoin grant https://gitcoin.co/grants/184/trueblocks. Even small amounts have a big impact.
If you’d rather, feel free to send ETH or any other token to us directly at trueblocks.eth or