I was wondering about following paragraph:
  1. Bitcoin vs. Other Cryptos:
The only proven technique for creating a digital commodity is Proof of Work (bitcoin mining) deployed in a fair, equitable fashion (i.e. no pre-mine, no ICO, no controlling foundation, no primary software development team, no series of forced hard fork upgrades that materially change the monetary protocol). If we remove the dedicated hardware (SHA-256 ASICs) and the dedicated energy that powers those mining rigs, we are left with a network secured by proprietary software running on generic computers. That places all security & control of the network in the hands of a small group of software developers, who must create virtual machines doing virtual work with virtual energy in a virtual world to create virtual security. [...]
If I understand correctly, he is talking about blockchains like Ethereum with this:
(i.e. no pre-mine, no ICO, no controlling foundation, no primary software development team, no series of forced hard fork upgrades that materially change the monetary protocol)
Now I have following question:
If we remove the dedicated hardware (SHA-256 ASICs) and the dedicated energy that powers those mining rigs, we are left with a network secured by proprietary software running on generic computers.
This sounded first like an argument against Bitcoin since he uses "SHA-256 ASICs" (which afaik are only used by Bitcoin). But "proprietary" does not make sense since Bitcoin is open source. So he is still talking about these other blockchains he mentioned in the parentheses. But then I don't know why he is using "proprietary". Isn't Ethereum open-source, too? Or is he just (wrongly) generalizing since some other blockchains use proprietary software?
Also, I think
who must create virtual machines doing virtual work with virtual energy in a virtual world to create virtual security.
is a clear reference to a Ethereum developer meeting where Vitalik used similar words. So he is talking about (blockchains like) Ethereum.
I think this paragraph is a bit hard to understand. I would have asked Saylor on twitter directly about this but I have no twitter and no intention to have it.
I think he's using the word in reference to ownership, rather than proprietary vs open source software.
To reword:
...we are left with a network secured by [privately owned] software running on generic computers.
I think this makes more sense in the context of the message, especially when referencing the series of hard forks.
reply
Ah, I see. That would make sense! However, what about the SHA256-ASICs part?
reply
ASICs are like a moat with regards to security. An external attacker needs to specifically manufacture (or otherwise acquire) machines which are only good at a single task (hashing with SHA-256) in order to even attempt to overpower the network. If you remove that moat, you are more susceptible to attack.
reply
Yes, I know that. But it's confusing to mention SHA256-ASICs when only bitcoin uses them (afaik). Maybe he just used them as an example for dedicated hardware?
reply
Yes, I think it's just an example of dedicated hardware.
reply
Okay, I can live with that haha
reply
If you didn’t have mining machines, you would need a centralized software of some sort to coordinate validation of the Network, and that is probably what he meant by proprietary.
reply
The ASICs are doing a very well known and standardized secure hash. An ASIC resistant proof of work will be less understood and likely eternally modified to avoid the next ASIC innovation to support the said hash. In addition to a constantly morphing, custom, and not well understood proof of work algorithm, the hash will use GPUs which in turn use proprietary drivers and libraries to support the optimal use of the GPU hardware. To rely on an assumption of 'One-CPU/One-Miner' and that somehow this design goal will prevent loads of money from bringing into being a customized mining supercomputer is to assume the game ends because you moved the goalposts. The reason Bitcoin is a success, in part, is due to its simplicity. To use a convoluted and 'proprietary' (or customized) POW algorithm is to muddy the design. Every computer scientist understands the essentials of sha256 and trusts that its sufficiently irreversible. This use of standard data structures and algorithms to build a distributed federation protocol is necessary for trust. This is the reason bitcoin hasn't adopted zkSnarks, not only is the cryptography novel but the seed signing ceremony requires trust. Bitcoin is designed to be trustless, and this is why it on its own can be trusted. What Saylor is saying here is that to change the hash to something ASIC resistant and poorly understood is to strain this trust.
reply
In addition to a constantly morphing, custom, and not well understood proof of work algorithm, the hash will use GPUs which in turn use proprietary drivers and libraries to support the optimal use of the GPU hardware.
Ah, interesting. Didn't think of this before. Also, GPU manufacturers (like Nvidia) have tried to implement mining resistancy; making this whole ordeal even more awkward.
The reason Bitcoin is a success, in part, is due to its simplicity.
Yes, I agree.
What Saylor is saying here is that to change the hash to something ASIC resistant and poorly understood is to strain this trust.
Ahh, another interesting perspective on what he may meant. I can see your point when removing the parentheses (which make this paragraph a bit hard to read):
The only proven technique for creating a digital commodity is Proof of Work. If we remove the dedicated hardware (SHA-256 ASICs) and the dedicated energy that powers those mining rigs, we are left with a network secured by proprietary software running on generic computers.
So yes, he actually means the SHA-256 ASICs and the energy needed for PoW. Removing those would result in proprietary software on generic computers as you explained.
That makes a lot of sense, thank you! I think I would accept this answer if I would need to accept an answer.
PS: I also mentioned here why I don't think ASIC resistancy does what it intends to do: #70865
Would love to hear your opinion. Is what I said there similar to what you said here?
reply
After reading carefully, I assume Saylor's point is, after a hardfork or change to mining or consensus validation, specific GPU-like processors would be needed. The processors and the PCB would all become proprietary closed systems (as opposed to using generic processor types on specialized but various PCB types, like now.) The need for specialized (non-generic) processors (proprietary hardware) would likely require proprietary software developed in lockstep, to make use of hardware specs.
I'm not sure what hardware and software different security systems require to validate it, but seems less feasible to distribute with higher barriers due to the restraints.
Saylor seems to make sense here. Confusing but correct. I'm a layman, just my 2sats.
reply
Yes, I think your explanation is similar to #72092
I think the parentheses just caught me off guard.
reply
That explains it well.
I may well have read the article and the comment, and replied as an exercise to try to understand, and explain it to myself.
Good post.
reply
He might have meant non-proprietary. Might've also just been a slip given he's been in corporate town selling proprietary software for decades.
reply
I think he used the word proprietary in place of the concept "custom and single-use", and not in the sense of closed source and owned by one entity. One might consider such a code as being owned by the POW-algorithm developers since the details of how such a proof of work is designed and implemented and the theory around its security will likely not be peer reviewed or blessed by industry as generally useful and trustworthy. Imagine if people went around poking holes in the security of SHA256... This would be devastating for not only bitcoin, but nearly every encryption protocol in existence.
reply
I think he used the word proprietary in place of the concept "custom and single-use"
That sounds far fetched to be honest. I don't think Saylor would use "proprietary" in such a convoluted way. I think the usage of "proprietary" is very wide spread to be the opposite of open source.
I think he meant what this comment explained: #72092
reply
Reading it again, it looks like hyperbole and he's using the 'proprietary software' phrase to mean opaque to understanding by everyone other than the core developers, but it could also include the possibility of actual proprietary components which would (intentionally or unintentionally) tie the algorithm to some specific private hardware or software intellectual property or trade secret.
reply
It could mean either or both. Proprietary could mean the GPU supplier's custom acceleration facilities and drivers. It could also be a poor choice of words given his background in developing custom software which typically is referred as proprietary. In either case, there is something nonstandard about both, and this is what I think he's objecting to.
reply
So you agree it's confusing? I wonder if someone already mentioned it to him. I think he should correct it.
But still, even replacing "proprietary" with "non-proprietary" doesn't make sense. He stills says
That places all security & control of the network in the hands of a small group of software developers, who must create virtual machines doing virtual work with virtual energy in a virtual world to create virtual security.
afterwards and is (clearly?) talking about Ethereum before (and after, as the quote about "virtual machines ..." shows.
So SHA-256 ASICs also doesn't make sense to me.
I can see what he's getting at. But I am not sure everyone else is when reading this
reply
It's definitely confusing.
reply
I think he's talking about "blockchain-as-a-service" companies like Infura. Basically trusting someone else to run a node and only access it through their proprietary api.
reply
I see, we have many opinions what he meant here, haha.
But still, what about the SHA256-ASICs part then?
reply