Live data from Hacker News

Facebook Libra Is Architecturally Unsound

stephendiehl.com

131–140 of 347 posts

Re: Facebook Libra Is Architecturally Unsound

#131
post #119
post #73

Earlier quoted context omitted.

> but your final paragraph seems to imply the formalism isn't key to end quality? That's not what I said. I said that merely creating a verified formal specification of a language is not in itself a good path to increasing correctness, and I wouldn't focus on that as a significant cause for concern given all others. But even when you use formal methods in the development of your software -- and I'm certainly a propon…

Exactly what I needed to hear, thanks again. I reckon the only way to error-free is redundancy, i.e. 'out of the box' we just put two boxes, or actually three for "high availability"; the underlying controller being just a dead man's switch — if A's life signal dies, failover to B; set up C as new failover; reboot A. > I personally believe that some formal methods can greatly improve correctness, and do so affordably…

> I reckon the only way to error-free is redundancy, i.e. 'out of the box' we just put two boxes, or actually three for "high availability"; the underlying controller being just a dead man's switch — if A's life signal dies, failover to B; set up C as new failover; reboot A.

You can have a lot of this automatically with "lockstep" chips, such as TI Hercules: http://www.ti.com/en/download/mcu/SPRB204.pdf?DCMP=hercules&...

Re: Facebook Libra Is Architecturally Unsound

#132
post #96

I've been thinking and it actually makes a lot of sense for new ways to be created to transfer money and pay for things (though I'm highly skeptical of having it operated by Facebook and of the ad-hoc pump-and-dump-prone and whitewashing-and-tax-avoidance-friendly properties of cryptocurrencies). But when you think about it, it's insane that transferring money is something credit cards and payment processors can regu…

The actual cost of processing payment is far less than 1.5-3% - especially with debit cards (which actually implement most of what you think "is not a thing") but even when dealing with credit cards and the necessity to include some overhead for countering card fraud and chargeback costs and whatnot, the total cost is far lower, below 1%.

How can I know this? Well, how do all these credit cards that offer cashback bonuses in the realm of typically 1-2% make this unbelievable feat of paying you for paying stuff happen? They pay for it out of the 2-3% that they get for the transaction. Let's take 2.5% as a middle ground and deduce 2% cashback, that leaves us with 0.5% from which the actual costs of doing the payment have to be covered - and the profits to be paid to shareholders, of course.

Also, Europe has this nice regulation in place limiting credit and debit card interchange fees to 0.3% for credit and 0.2% for debit cards. This regulation has been in effect for a few years already, and the only thing that disappeared were these 2%-cashback-on-every-payment cards (or similar offerings, like granting airplane miles of about the same value). Debit and credit card issuers seem to be entirely able to operate under these conditions, which means that their actual costs of doing business must be under these fractions of a percent.

Re: Facebook Libra Is Architecturally Unsound

#133

> Libra has no capacity for consumer protection mechanisms. You can replace Libra quote above with your favorite cryptocurrency and that pretty much sums up what I feel on the crypto space.

What are you talking about? Fiat currency isn't reprogrammable--how would you implement a consumer protection mechanism on it? Pick your favorite consumer protection mechanism, and I'll pick my favorite cryptocurrency and let's compare: A) the up front implemention cost of the protection mechanism in fiat currency B) the up front implemention cost of the protection mechanism in the crypto C) the year-over-year cost i…

>I bet A and C are going to be in the hundreds of millions, if not billions, while B is going to be in the tens of millions and D is going to be in the thousands of dollars.

Bitcoin is incredibly wasteful. If we're talking about digital transactions we already have credit cards and digital transfers. A block chain isn't required for those benefits.

Supply chain tracking is interesting but literally no one is talking about that. Its also an even harder problem. Its really not verifiable at all because you're now relying on data from outside the chain, ie how many widgets were created, whether the label on the real life widget is unique or forged, etc.

Re: Facebook Libra Is Architecturally Unsound

#134

Earlier quoted context omitted.

Regarding your claim that blockchain has almost no good use cases, I see news every week which disagrees. Here is the first article I could find from just today which shows a great use case. Coca Cola is expanding their blockchain trial project to a $21 billion-a-year supply chain because they found very significant savings. https://www.coindesk.com/coca-cola-supply-chain-firm-to-expa...

Why would Coca-Cola need to use a block chain? They can run their own code on their own servers.

Because while the core innovation of blockchain is a trusted database a context without trust, the core benefit of blockchain is reduced transaction costs.

A blockchain is a singleton global computer of program code and data. It turns out this is sufficient to represent capital (money) on that computer.

In practice this results in dramatically reduced transaction costs. For example you can transfer money with an API call.

Another example is that an API can be "implemented with money". The https://uniswap.io/ API allows you to exchange currencies without any API keys or middlemen. But, the Uniswap API only works because there's a large amount of liquidity deposited by 3rd parties into its system, much like an inventory of food in a grocery store that shoppers can then access.

"What's the big deal?", you might say. "Uniswap sounds just like a bank. Who cares?". Well as I understand it Uniswap was built by a dude in a basement over a few months, not a multi-million dollar bank project. And you can integrate your app with Uniswap in an afternoon. If you don't think that's going to change the world then you might consider spending a few dozen hours reading https://weekinethereumnews.com/ and see if your opinion is stable :)

Re: Facebook Libra Is Architecturally Unsound

#135

Earlier quoted context omitted.

I’m consistently amazed by how many people here dont understand inflation at all and are confident they need to throw out the financial system before they figure it out. Inflation is an incentive to invest. If you invest in literally anything other than cash under your mattress inflation stops mattering completely to you, and all you have to think about is constant dollar returns. That’s why we have it. So long as yo…

Your understanding of inflation is misguided. Inflation as we have it under central banking today is theft. A GSE creates money from nothing. Large banks are allowed to have this money at near-zero cost, and lend it to others and a higher cost. It's a free profit for large banks. It's 100% organized theft. This is the scenario that create the 'too big to fail banks' that we had to give even more money to keep the sys…

Ok round 2.

> “inflation is theft”

I think you didn’t read anything I wrote because my core focus is that inflation is 100% avoidable through investment which is the behavior explicitly being incentivized via, to your point, a stick and not a carrot approach.

It’s theft like taxation is theft: it’s not.

> a GSE creates money from nothing

Yes that’s the point. The economy gets bigger and more people are born and the money supply expands. To not do so would create deflationary pressure which, again, creates a risk free return for existing money holders for no justifiable reason. In fact you haven’t justified it either, you say it as though it’s self evident.

If you don’t believe the value of existing money should go up then you agree the money supply must expand to match economic growth and population growth. All were then arguing about is how much.

> money grubbing banks...

Banks are paid for the role they serve in the economy: liquidity and security. Look at how much they make, it’s all publicly disclosed. Banks make around a 1% return on deposits (you know, the collateral for this lending thing). Almost nothing. It’s a shit business. The remaining “free magic money” is cost of doing business and paid out to employees, landlords, suppliers and so on. You know, business expenses.

Re: Facebook Libra Is Architecturally Unsound

#136
post #65
post #37

The answer to the question implied in the article -- why does Libra make such unjustified design decisions -- is simple. Some people have become enamored with blockchain despite it having almost no good use cases, and this certainly isn't one. It seems like a classic example of focusing on the technology rather than on the problem. -- Regardless of the other, far more important sections of this article, I find the se…

If you may spare a minute, I'd like to know your opinion on mission-critical software in dangerous-prone contexts (such as avionics, life support, even just economically for permanently-written "ROM" software, etc). Formal methods seem required in such projects, but your final paragraph seems to imply the formalism isn't key to end quality? (my agenda, for transparency: I want to send SOC's in space on tiny RISC-V sa…

> (my agenda, for transparency: I want to send SOC's in space on tiny RISC-V satellites, and the lowest layers of those should be 100% error-free because there's no going physically there to reboot a working shell, remote is all we have.)

Speaking from a bit of experience at Satellogic as well as folklore, trying to make the lowest levels 100% error-free isn't a good strategy. A better strategy is to make the lowest levels capable of recovering from the errors that will occur most frequently. Radiation is going to flip bits; processors are going to fail and sometimes hang; batteries are going to go low; temperatures are going to exceed specifications. If your system is built on the assumption that the lowest layers are going to be 100% error-free, you won't give sufficient attention to handling those errors when your assumption inevitably turns out to be wrong.

One suggestion: include a remotely-triggerable reset sequence in a hardware state machine. A 4-bit state machine driven by 4-bit symbols will work reliably if your channel error rate is small compared to one error per 16 symbols, and it has a false positive trigger rate of 5.4 × 10⁻²⁰. (This is of course vulnerable to malicious DoS attacks if a malicious party learns the 64-bit reset code, but in practice those have historically been an enormously smaller concern than satellites failing randomly in ways that a reset switch can correct.)

It's worth thinking through the fault tree of that reset mechanism. It needs to use omnidirectional antennas, for example, because otherwise it's dependent on attitude control. It needs to be on all the time, not just when you're passing over ground stations, because otherwise it depends on the clock and whatever kind of navigational system you have. It needs to be unencrypted, because otherwise it depends on your encryption protocol, which typically also involves clocks. It unavoidably depends on some kind of power source, but you can connect it directly to the solar panels and/or batteries, rather than through a switch. You probably want to use logic that can tolerate a fair bit of uncontrolled variation of the power supply voltage, not, say, TTL. But then you need like 4 flip-flops and a couple dozen gates. It can fail, but it's simple enough that you can make it highly reliable, unlike a RISC-V.

So, don't think in terms of making the bottom level 100% reliable. You won't get there. Think in terms of how to prevent inevitable unreliability from snowballing, how to make the satellite resilient against inevitable damage and malfunctions, as well as reducing that bottom-level unreliability to an absolute minimum.

As for blockchains, I think they're a very pragmatic solution to serious problems that are otherwise unsolvable: how can I send money to a friend in Venezuela? How can refugees carry their money safely without it being confiscated by pirates, corrupt police, or immigration authorities? How can people pay for illegal drugs without meeting in person with the vendors? How can we fund Wikileaks so they have the resources to transport Ed Snowden to safety? How can we fund Sci-Hub so that knowledge is available to everyone and not lost? Even international remittances to family members work enormously better with Bitcoin than with Western Union or SWIFT, particularly between countries with some degree of unfriendly relations.

It's a similar approach to that with satellites: we know there are bad actors in the financial system, and we want to engage in transactions with them, without giving them the opportunity to sell our credit card numbers to the Russian Mafia or take all our money. We want to prevent the small amounts of inevitable unreliability from snowballing and destroying the entire civilization. Also, we want to minimize the number of attempted ripoffs, so that our defenses against them can be less costly. It turns out that thieves, unlike cosmic rays, respond to incentives, so by making thefts more difficult to pull off, we can also decrease the number of attempted thefts.

Obviously I don't trust Facebook to design the world financial system, though. They elected Trump.

Re: Facebook Libra Is Architecturally Unsound

#137
post #3

Bitcoin is the only meaningful digital currency and sound money.

Do you believe that bitcoin is useful as an actual currency? As far as I can tell, its only use is to buy drugs and other illegal things online.

Bitcoin Cash adoption is growing around the world for restaurants https://map.bitcoin.com/

Re: Facebook Libra Is Architecturally Unsound

#138

Not being able to reserve payments is a FEATURE and not a BUG. That inherintly breaks a currency that is fast and removed of human transaction approvals. My thesis is that refunds will need to operate at a business level at a higher level. Their KYC and AML can be effective at backing that up.

It is a mis-feature - it is done intentionally, but it is a bad idea. Having to go through the legal system to reverse a fraudulent transaction is a huge hurdle compared to the current state of affairs, and it will significantly impact the use of Libra for internet payments.

Re: Facebook Libra Is Architecturally Unsound

#139
post #63

Would like to point that the work done by the curve25519 team is solid, Henry is also behind the ristretto RFC. The reason Facebook used the BFT algorithm is for pure regulatory purposes (they needed a Blockchain therefore a solid consensus algorithm with failure tolerance). The cryptographic constructions used are quite solid unlike OP claims.

Can you elaborte? You sould like you may have a unique perspective.

Re: Facebook Libra Is Architecturally Unsound

#140
post #63

Would like to point that the work done by the curve25519 team is solid, Henry is also behind the ristretto RFC. The reason Facebook used the BFT algorithm is for pure regulatory purposes (they needed a Blockchain therefore a solid consensus algorithm with failure tolerance). The cryptographic constructions used are quite solid unlike OP claims.

The article also incorrectly claims that curve25519-dalek has never had security audits. It's had at least two by reputable cryptography auditing firms (Quarkslab and NCC), the former of which is public (the NCC audit was done at the request of my former employer and is private, but like the Quarkslab audit only found minor issues):

https://blog.quarkslab.com/security-audit-of-dalek-libraries...

Post reply on HN