MolochDAO Interview with Thomas Jay Rush of TrueBlocks
Grantee Interview Series
During the conversation, Rush spoke with the calm authority of someone who’s been working in computer science since the 1980’s. While he’s felt disappointment with some of the directions that modern technology has gone, it seems clear that he still feels hope in technology’s potential to make the world a better place.
ReallyBoringGuild: We would love to get started with an overview of who you are, about TrueBlocks and just describing any sort of major services that the project has to offer.
Thomas Jay Rush: I guess, if I had to summarize at a really high level, it would be that we’ve decentralized by creating Ethereum node blockchain software.
In order to get to the data that’s being produced on Ethereum blockchain software, I have to go to Etherscan or Infura, or I have to go do analytics. It just doesn’t make any sense to me right from the very start. Why do I have to go to those places? I should be able to run node software myself and dig into this data as deeply as I want. That’s been fundamental from the beginning: to get anything I want straight from the node.
It’s really hard though, because the node software isn’t designed to do that. It’s designed, from its first task, to join the Ethereum network and participate in the Ethereum consensus mechanism. It’s data is not really organized well for querying the way that I want to query. So that is what TrueBlocks is: it’s a way to query the data directly from the node.
RBG: When I was looking at your website, it looked like there was a previous web2 life. I would love to hear just a little bit about that transition and how you ended up going into web3.
TJR: Sure, so there was pre internet life prior to the World Wide Web in the 1990s, which was sort of corporate-y. I worked for IBM and stuff like that. When I was at IBM and had just encountered the web, some college kid told me that there’s already 15 websites. I said, there’s 15 websites? Six weeks later, there were 1000 websites, then 10 weeks later, there were 250,000 websites or something like that. The mindset was that we are going to change the world. We’re going to share information with every human being. It’s going to be amazing, oh my God the world’s changing. And it did change, but it kind of changed in ways that a lot of people didn’t anticipate.
We did get that sort of globally available data, but we also got this spying mentality, where everything you do is being watched. I was in love with those ideas that everybody has data.
In the mid 2000s, I got kind of disillusioned. I thought, I don’t want to do this anymore and went to become a poet for about nine years.
I was teaching writing and doing all kinds of stuff that was kind of weird and then I heard about Ethereum. The people were literally saying the same words, the same ideas, as we were saying back in the 90s. I thought, I’m back in!
I was supposed to sign some contract to teach poetry on January 10, 2015, but when on December 15, 2014 I heard about Ethereum, I never signed that contract.
I’m really into this idea that we can change the world. I want the world to change. Basically the world kind of sucks, to be honest.
RBG: That’s very interesting, I cannot see a poet getting into the blockchain. Well, glad we have you back in the community. Your vision of making it a better place for us is definitely inspiring.
With this grant proposal, you mentioned that the POC of account explorer allows users to extract a review of full and complete transactional history. Would you like to provide a little bit more about this?
TJR: Yeah, I can try. On Bitcoin, you don’t have smart contracts, so an account is more at the top level of the data. Getting a list of everything that ever happened on a single account in Bitcoin is easier than on Ethereum. What happens in Ethereum smart contracts is that my address might get used in the smart contract, but nobody tells me that my address got used. It’s just a process, a piece of data in some smart contract. On Bitcoin, I can scan the chain and easily find all the appearances of my address. On Ethereum that’s way way way harder. The balance of my account might change inside of a smart contract, like I might become the owner of a token, for example. That could happen in a smart contract and I could never know.
Luckily people have kind of figured that out and stopped giving people ownership of tokens without telling them or without an event. But back in the day, people were just giving me tokens and they weren’t making events, so I couldn’t tell how many tokens I had. That’s just one example. It gets way way way more complicated when you have 35 smart contracts all interacting with each other and the events are being generated for the UI. They’re not being generated from an accounting perspective. It’s very easy to lose track of who has what.
I don’t think people are ever going to use this system if they can’t do accounting, if they can’t just know where their data is and especially if they can’t know that without going to Etherscan. Etherscan literally just becomes a bank. They can get regulated. They can get all the same exact things that we thought we were trying to prevent and improve. The only way I can see my data is through Etherscan and the only way I can interact with the chain is through Infura. If somebody wants to regulate that, they go to that office, knock on the door and we’re all regulated. I think that’s just a disaster; it’s just not a good idea.
It’s 18 decimal places accurate, every 14 seconds on an automated system that everyone has access to. I want to dig as deeply as I can, directly into the chain, to get my data and I want to do my own accounting. I don’t want to rely on anyone to do the accounting.
RBG: Does the software come with a running node? Can anyone who is interested in running a node be able to get this information locally?
TJR: I run my node locally in my own building.
Another thing that happens when you’re running your own local node is that there’s no rate limit on how fast you can hit against this node software. When I try to run against Infura to query, I get rate limited immediately. When I run against my own node, I’m hitting it 5000 times faster than I can against Infura. While it appears that I’m making a mistake by going on a small machine to run small data, it’s actually faster because I don’t have to share it with 10,000 people. I wonder why nobody sees something that’s so obvious to me, that it’s better to run your own node.
One reason people are not running their own node is because, even if they do run their own node, they don’t have good access to the data. If you want your own history, you can’t get it if you don’t have TrueBlocks, basically.
RBG: Could proof of stake improve the accessibility and increased interest in TrueBlocks?
TJR: Well, I remember back in 2018, we were in Philadelphia and some of the guys from Infura were in New York. We invited them to come down and talk to our group, down in Philly. I asked one of the Infura guys what they thought about sharding and proof of stake and how it changes their business model, how it changes their infrastructure. What happens when there’s suddenly 1000 shards? He told me, don’t ever ask that question again.
I always thought, if it’s possible for a regular person to access any blockchain locally, without a third party and permissionlessly, then it’s possible to do TrueBlocks that same way. TrueBlocks is straight up against the node. I don’t have to grow any bigger than whatever the chain grows on someone’s local machine, because I’m kind of behind the node on the local machine. If it works on a local machine, to even be engaged with the blockchain, then TrueBlocks should work.
The reason I got a grant from the Ethereum foundation back in 2018 might have been because I was saying that exact thing: we can’t build this thing with 1000 shards with Etherscan; we can’t build this thing with 1000 shards with Infura. It just won’t be decentralized. If we want a decentralized solution, we’re going to have to do it differently than a web server. You can’t build a web server on a distributed system of 1000 shards; you just can’t and stay decentralized. It just doesn’t work that way. It’s a good question. I don’t know the answer, but I’m in a reasonably good position to solve it.
RBG: How did you hear about MolochDAO?
TJR: I was approached by Stellarmagnet. About a year ago, she was out in the world, trying to identify which projects to bring into MolochDAO.
There were a number of projects that she was approaching, mine, RockKey and Vulcanized. We all had a certain feel of focusing on direct data access and privacy and all those kinds of things. Initially they were thinking that the grant would be for all three of us to work together. That got a little complicated, so we split into three separate grants. I’m glad they approached me, because I would never have done that myself. I’m just too busy, digging into the rabbit hole, to come up and look around and realize, hey your wonderful project is bankrupting you.
RBG: Is the grant something that was a main fundraising push for you?
TJR: I would say grant money has definitely been the main source. I got an Ethereum foundation grant back in 2018, which is really nice and very helpful. I got a Consensus grant in 2019 and some other grants here and there. Also, it doesn’t hurt when a grant, like from MolochDAO, is in WxETH. You spend some of those ether and then the price goes up. You have more money after spending the ether than you did before you spent it. It makes everything work a lot better, as long as the price goes up.
RBG: What is there in the near future? Would you like to share something about the roadmap?
TJR: Six years ago, I started because I wanted to build a front end application that runs on a desktop and is a usable piece of software to see into your own behavior on the chain, or to see into other people’s behavior on the chain, because it’s all open data. I never could build that thing, because I had to first solve these problems of getting data directly from the node. For six years, I’ve been trying to solve that problem and I feel pretty confident that I did.
I’m still building that front end application and that’s what you’ll see in some of our YouTube videos. I’m a back end person, so my front end is pretty poor looking but that’s what I’m building, that front end user application, where you can get access to your own data straight from a node.
RBG: That would be when users can actually start checking out how to use TrueBlocks on their own?
TJR: Yeah. You asked about users earlier; I want to serve the regular people, who aren’t spending $1,000 a month to get better speed from Infura.
There’s lots of work that needs to get done to make the node more accessible and the way for the front end to work, I need the back end to be better.
RBG: Do you think you’ll be looking for any more grants to continue this process?
TJR: I’m thinking, maybe grants 10 times larger and 10 times more frequent would be good.
RBG: To keep it moving right.