Facebook Libra Is Architecturally Unsound
Typical blockchain and Libra hatchet job, except this time under the veneer of someone with software skills. I will make some counterpoints.<p>&gt; <i>Byzantine fault tolerance is a fairly niche area of distributed systems research that concerns the ability of a networked system to endure arbitrary failures of its components while taking corrective actions critical to the system’s operation. Networks that are byzantine tolerant must resist several types of attacks including restarts, crashes, malicious payloads, and malicious voting in leader elections. This design decision is central to Libra and it makes zero sense.</i><p>BFT consensus is standard in blockchain. Libra is building a protocol and reference implementation but anyone can build their own implementation, just as Bitcoin and Ethereum have several clients written independently as separate open source projects. As Facebook intends to be just one member of the Libra consortium, and anyone (member or not) can write software to the protocol spec, BFT is the logical choice.<p>If Libra was trying to be a centralized entity owned by Facebook, then BFT consensus would make no sense. But it&#x27;s not - Libra is supposed to be a decentralized blockchain payment system, similar to Bitcoin, so BFT is the logical (and standard!) choice.<p>&gt; <i>Libra has no transaction privacy. By the admission of the whitepaper the system is designed to be pseudonymous meaning the addresses used at the protocol are derived from elliptic curve public keys and contain no metadata about the accounts.</i><p>This means the same level of anonymity as provided by Bitcoin. Post-transaction analysis may identify the owners of keys by cross-referencing known addresses, but onchain it is unknown. Again, very standard in blockchain. There are various techniques to improve privacy, such as how SiaCoin generates new addresses for every transaction by default, but again I want to emphasize that the shrill language used by the author is coming from someone who doesn&#x27;t understand the technology. I agree with him that Facebook could (and probably will) improve on Bitcoin&#x27;s pseudo-anonymity, but claiming outright that this is some sort of grand oversight is just plain wrong.<p>&gt; <i>Libra HotStuff BFT is not capable of achieving the throughput necessary for a payment rail... There is no technical reason that cross border payments could also not settle instantly, except for the differences in rules and requirements across the jurisdictions involved.</i><p>This is more about the philosophy of our payments infrastructure. Let&#x27;s assume Facebook solves scaling, which is a problem many blockchains have solved (or are solving) in various ways. For example, Bitcoin&#x27;s lightning network moves small transactions off-chain to settle later in one transaction that batches them. I&#x27;m not saying that&#x27;s a good solution, either for Bitcoin or for Libra, I&#x27;m just saying the scaling problem can be solved even if the consensus algorithm is limiting.<p>On the question of &quot;why use blockchain for payments at all&quot;, this is more philosophical. You have monopoly-controlled payment systems that tightly control who can integrate with them and improvements to the core level take years &#x2F; decades (see ACH in the USA). Blockchain is one major way that software is eating finance - companies and individuals will be able to hack away at the system and build novel innovations with much less friction. Whether you think this is a good thing is a matter of philosophy.<p>&gt; <i>Libra’s Move language is not sound... In the public blockchains, smart contracts refer to logic deployed on public networks which allows escrowing, laundering money, and the issuance of extralegal securities and gambling products. These are typically done in a shockingly badly designed language called Solidity, which from an academic PL perspective, makes PHP look like a work of genius.</i><p>Clearly biased, Solidity has its warts but it is successfully being used for billions of dollars in real-world transactions per day. The author is something of a compiler hacker according to his Github so I assume he feels qualified and passionate to speak on this. But Move has not been battle-tested yet so I would at least let it get finished and deployed before claiming it&#x27;s dead-on-arrival.<p>&gt; <i>Libra’s cryptography engineering is unsound.</i><p>Facebook, like many other companies, can pay for audits and formal verification of crypto libraries. As Libra will not be production-ready for years (it isn&#x27;t live today!), I think we can give Facebook the benefit of the doubt on this. They are a massive company with near-limitless resources.<p>I want to conclude by saying that blockchain and cryptocurrency are knee-jerk hated by Hacker News, and have been so for years. You typically won&#x27;t find positive (or even neutral) opinions on it, nor casual HN comments discussing the minutiae of the underlying tech the way you would for (say) Rust.<p>People who are deep into this scene are posting on other websites that aren&#x27;t as negative on the subject. There are indeed highly technical and competent people who work in this space. However it remains quite niche given its outsized mindshare in society. I encourage people to keep an open mind, there are very interesting problems to be solved if you can avoid the overwhelming criticism.