Bitcoin as a computer: ‘Theory of Bitcoin: Bitcoin Class’ looks at matrix operations, logic and microprocessors

“Bitcoin can do anything that a microprocessor can do,” says Ryan X. Charles in this week’s episode of “Theory of Bitcoin – Bitcoin Class.” That opens up a lot of possibilities, if you understand the concepts—and this series continues with the now-regular trio of Bitcoin creator Dr. Craig S. Wright, founder and CEO of Coasian Ryan X. Charles, and sCrypt founder Xiaohui Liu.

The Bitcoin Class series is about thinking bigger—much bigger—about what Bitcoin can do, and what sort of system it really is. Dr. Wright’s statements that “Bitcoin is everything” have been repeated often over the years, but the exact meaning of that can be difficult to grasp, even for experienced veterans.

To be clear, this series is highly technical and Dr. Wright sets homework assignments even for his co-hosts. This week, he asks them to look at coding in a matrix function, using tables and graphs to store information and understanding how things like logical operators (AND, OR, XOR etc.) and conditional statements can be applied.

Think back to microprocessors of the past

Dr. Wright draws several analogies to help, with Xiaohui and Ryan suggesting others that might be easier to grasp. Think back to the 1960s, 70s and 80s to simpler machines (e.g. elevators) in a time when manufacturers made their own processors, he says. He promises another whiteboard session in the next episode to help understand more visually, but reminds them that the multi-dimensional nature of matrices is just the human way of understanding the structure, whereas to a machine it’s all linear.

When we combine conditionals with logical operations, “we have very powerful machines that can be constructed in a very small amount of state,” he says.

They discuss how signals are sent to microprocessors using the processor’s clock cycle to receive an output, and Dr. Wright notes that a payment channel (and its sequence of UTXOs) works as a form of clock cycle.

“I can understand conceptually what you’re talking about,” says Ryan a few times, and Xiaohui brings back his post-graduate experience coding in MATLAB (where “everything is in matrices”), though it’s clear that even these two, with all their experiences, have some work to do.

“We’re slowly getting there. Every week we’re building new things. Over time, as you start understanding bit by bit the Lego blocks, you’ll build more and more. That’s the way I look at it,” says Dr. Wright.

There are brief throwbacks to the “Traveling Salesman” problem from previous episodes—as just one example of how a developer could request an answer that other users would need to compute, and automate a reward payment for the completed task.

Questions and future possibilities

Xiaohui has a few interesting questions to consider, such as how to determine (in the code) if the answer you received is the one you wanted, especially if you don’t already know that answer (since it hasn’t been computed yet, e.g. a physics simulation). He also asks about the ways transaction fees for different operations could become more cost-efficient, and there’s a discussion of how there might be different kinds of wallets in the future to perform this task, a consumer-grade one for everyday payments, and another to handle the more complex demands of larger-scale applications.

They also ponder whether there could someday be a dedicated Bitcoin chip to perform these functions more efficiently, and Dr. Wright suggests it well could—there has been lots of work done on Forth-specific (the programming language Bitcoin Script is based on) chips, and much of it is 15 years out of patent. Hint, hint.

So can Bitcoin do absolutely anything a computer can do? Yes, but the ways need to be invented. These processes could eventually become quite lucrative for their inventors.

“Whenever someone tells us something is impossible, I show them the code and put it on the mainnet,” Xiaohui says. “And then they change the rules, move the goalposts,” Dr. Wright replies.

But developing on Bitcoin is all about doing things previously-thought impossible, and experimenting and exploring. It’s all the more reason to not listen to the naysayers, who are really just people who see something as impossible and aren’t interested in actually finding out if it is. The Bitcoin Class series introduces a lot of new ideas, hopefully they’ll provide some talented people out there with some inspiration.

To watch previous episodes of the Theory of Bitcoin, subscribe to the Theory of Bitcoin YouTube channel here.

New to Bitcoin? Check out CoinGeek’s Bitcoin for Beginners section, the ultimate resource guide to learn more about Bitcoin—as originally envisioned by Satoshi Nakamoto—and blockchain.

[10]
[10]
[id^="_form"]
[id^="_form"]
[id$="_submit"]
[id$="_submit"]
[^;]
[^;]
['on' + event]
['on' + event]
[?&]
[?&]
[^&#]
[^&#]
[(d+)]
[(d+)]
[i]
[i]
[results[1]]
[results[1]]
[elem.name]
[elem.name]
[+_a-z0-9-'&=]
[+_a-z0-9-'&=]
[+_a-z0-9-']
[+_a-z0-9-']
[a-z0-9-]
[a-z0-9-]
[a-z]
[a-z]
[el.name]
[el.name]
[10]
[10]
[id^="_form"]
[id^="_form"]
[id$="_submit"]
[id$="_submit"]
[^;]
[^;]
['on' + event]
['on' + event]
[?&]
[?&]
[^&#]
[^&#]
[(d+)]
[(d+)]
[i]
[i]
[results[1]]
[results[1]]
[elem.name]
[elem.name]
[+_a-z0-9-'&=]
[+_a-z0-9-'&=]
[+_a-z0-9-']
[+_a-z0-9-']
[a-z0-9-]
[a-z0-9-]
[a-z]
[a-z]
[el.name]
[el.name]