2 ms·
I had initially considered that the "open source" nature of bitcoin might leave little room for malicious payloads, but when I started delving into bitcoin subc
by 35524532525 13y ago
I had initially considered that the "open source" nature of bitcoin might leave little room for malicious payloads, but when I started delving into bitcoin subculture, the pervasive presence of a wide diversity companies involved in ASIC manufacturing and chip fabrication gave me pause.
Specialized hardware is anything but open, and the overhead to fabricate chips is not insignificant.
Manufacturing rack-mounted rigs, and programming FPGAs might be within the reach of small-time, chincey, fly-by-night companies, but I'm not so sure about nanometer scale LGA packaged chips.
This part right here doesn't exactly dispel my suspicions:
The Bitcoin scripting language [1]
You might expect that a Bitcoin transaction is signed
simply by including the signature in the transaction, but
the process is much more complicated. In fact, there is a
small program inside each transaction that gets executed
to decide if a transaction is valid. This program is
written in Script, the stack-based Bitcoin scripting
language. Complex redemption conditions can be expressed
in this language. For instance, an escrow system can
require two out of three specific users must sign the
transaction to spend it. Or various types of contracts can
be set up.
The Script language is surprisingly complex, with about 80
different opcodes. It includes arithmetic, bitwise
operations, string operations, conditionals, and stack
manipulation. The language also includes the necessary
cryptographic operations (SHA-256, RIPEM, etc.) as
primitives. In order to ensure that scripts terminate, the
language does not contain any looping operations. (As a
consequence, it is not Turing-complete.)
[1] https://news.ycombinator.com/item?id=7162153 https://news.ycombinator.com/item?id=7162153
So we have people purchasing expensive, networked, internet-enabled black boxes and USB sticks, and a complex, specialized scripting language, well-specialized to take advantage of, and/or encourage the donation of spare GPU power.
Given the image at the bottom of the OP's blog article, consider the author's paranoia, specifically with regard to hardware bitcoin mining, via Application Specific Integrated Circuits (ASICs) which, by definition, are not open source. Certainly not to most common users, and certainly not without substantial effort.
...and just to stoke further paranoia (why not?), consider that even a hobbyist artisan hardware hacker (such as Ken Shirriff) might be thwarted from understanding the inner workings of a reverse-engineered processor die:
https://www.schneier.com/blog/archives/2013/09/surreptitiously.html https://www.schneier.com/blog/archives/2013/09/surreptitious...
https://www.schneier.com/blog/archives/2008/04/designing_proce.html https://www.schneier.com/blog/archives/2008/04/designing_pro...
https://www.schneier.com/blog/archives/2008/10/designing_a_mal.html https://www.schneier.com/blog/archives/2008/10/designing_a_m...
If you don't audit your network traffic, or perhaps lack the skill to do so, and the only metric you use to measure the validity of the machine (that's executing arbitrary code on your network) is the balance of your bitcoin wallet going up, then how would you know that your hardware isn't built with dual purpose?
If you're wallet balance rises within the approximate tolerances of an arbitrary expectation, and you're financially compensated accordingly for just letting it cycle, would you question the behavior of the appliance?
Given the premise that no one can truly know the precise moment a block will be discovered through mining, how can anyone be sure that their hardware miners are 100% honest, regarding their activities?