Live data from Hacker News

Facebook Libra Is Architecturally Unsound

stephendiehl.com

331–340 of 347 posts

Re: Facebook Libra Is Architecturally Unsound

#331

Earlier quoted context omitted.

They aren't doing that, in places I've seen, they just take your payment and let you go away with that. (I've never paid myself, but I've seen other customers do so) If it's raw bitcoin, they couldn't even be sure that the transaction is a valid one (that the wallet has the funds in the first place, not even talking about double spending). I suspect they use some kind of third party like Coinbase, and that there aren…

https://www.reddit.com/r/btc/comments/dry028/hows_an_bch_0_c...

Thanks. I'm not sure I understood the answer given in the specific post you're liking to (or at least, I don't see how it answers my question). A following response linked to this story: https://www.ccn.com/bitcoin-atm-double-spenders-police-need-... which gives a pretty good answer.

Re: Facebook Libra Is Architecturally Unsound

#332

Earlier quoted context omitted.

https://www.reddit.com/r/btc/comments/dry028/hows_an_bch_0_c...

Thanks. I'm not sure I understood the answer given in the specific post you're liking to (or at least, I don't see how it answers my question). A following response linked to this story: https://www.ccn.com/bitcoin-atm-double-spenders-police-need-... which gives a pretty good answer.

There are 2 approaches to Bitcoin Network usage in play. Bitcoin Core team went with RBF(Replace-By-Fee) which gives rise to the double spending problem as the funds can be re-directed before a transaction gets in to a block. And Bitcoin Cash protocol implementation removed the RBF to support trust in 0-confirmation. There are even more optimizations in BCH implementation of Bitcoin, you can review it here https://cash.coin.dance/development

Re: Facebook Libra Is Architecturally Unsound

#333

Earlier quoted context omitted.

Thanks. I'm not sure I understood the answer given in the specific post you're liking to (or at least, I don't see how it answers my question). A following response linked to this story: https://www.ccn.com/bitcoin-atm-double-spenders-police-need-... which gives a pretty good answer.

There are 2 approaches to Bitcoin Network usage in play. Bitcoin Core team went with RBF(Replace-By-Fee) which gives rise to the double spending problem as the funds can be re-directed before a transaction gets in to a block. And Bitcoin Cash protocol implementation removed the RBF to support trust in 0-confirmation. There are even more optimizations in BCH implementation of Bitcoin, you can review it here https://ca…

From my quite limited understanding, RBF basically allows to cancel a transaction (since you can set the fee to something that would never be accepted in a block) which is even worse than a regular double spending, because in the end, nothing at all is spent.

But even without RBF, there's nothing stopping you from spending the same coins online and in a restaurant at the same time. I'm not even sure if a restaurant would know that you and you're friend aren't actually spending the same money twice for your respective meals.

Re: Facebook Libra Is Architecturally Unsound

#334
post #65

Earlier quoted context omitted.

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 I've seen your posts in multiple threads K0SM0S, and I generally enjoy reading your thoughts and opinions. When I meet people I find interesting, I like to ask what they plan on doing with their lives. I understand completely if you don't want to share further details, but I for one would be interested in an off-topic detour into y…

Hi,

I'm not sure if you'll get this late reply.

First of all, thank you so much for your kind words, they mean the world to me, and for your interest — which is now reciprocal, I want to hear about you as well!..

I must admit I've spent way too much time trying to answer your questions in a 'concise' manner —HN's norm— but, as usual with this topic, it proved unusually hard fo me. It's rather complex, several independent yet synergistic 'moving parts' — too much repetition and cognitive bloat for a mere comment.

Thus I'm drafting something to share and discuss the concepts, if time permits it'll be up on some website (maybe reddit, maybe a forum, maybe some blog, idk...) by month's end. I'll keep you updated, if you so wish. You can reach me by email `cosmos// a t //vcx.cx` ;-)

The gist of it, FYI:

- the satellite thing is a personal research project (in very tangible ways, the experiment is to actually do it and launch). But the endgame (think 2030-2040) is a massive swarm of ~8 billion devices or more, if you catch my drift.

- However, it's an extension to a ground network which essentially aims at being an alternative infrastructure to internet. Formally it's something along the lines of a distributed, decentralized ("peer-to-peer") mesh network, fully encrypted yadi yada.

- This network is but an "optional" medium for my original idea (in ~2010) which was, in dumb terms, a communication network (which people would call 'social network' I guess, but it's not against such existing services, it's more of a global standard / spec whose primary goals are security/freedom/privacy, interoperability (like email), and to be 'unstoppable' (in the event of war, catastrophe, etc). Going back to first principles, this 'network' is not even an application but a formal protocol I suppose. It's the kind of thing that would ideally exist as an RFC 'standard' by the IETF.

This is more generally motivated by some of my philosophical values, notably freedom, empowering individuals (in the name of progress, civilization, but also happiness, self-growth).

Re: Facebook Libra Is Architecturally Unsound

#335
post #334

Earlier quoted context omitted.

> my agenda, for transparency: I want to send SOC's in space on tiny RISC-V satellites I've seen your posts in multiple threads K0SM0S, and I generally enjoy reading your thoughts and opinions. When I meet people I find interesting, I like to ask what they plan on doing with their lives. I understand completely if you don't want to share further details, but I for one would be interested in an off-topic detour into y…

Hi, I'm not sure if you'll get this late reply. First of all, thank you so much for your kind words, they mean the world to me, and for your interest — which is now reciprocal, I want to hear about you as well!.. I must admit I've spent way too much time trying to answer your questions in a 'concise' manner —HN's norm — but, as usual with this topic, it proved unusually hard fo me. It's rather complex, several indepe…

Oh yeah, mesh nets are another great thought. We definitely need our own pipes. CJDNS is beautiful (I love that addressing scheme), but lacks incentives for people/corporations to build infrastructure for non-ideological reasons. The OpenLibreNet whitepaper had the incentives theoretically correct, but didn't go anywhere. I honestly haven't kept up on this space, but I still think about it a lot.

My biggest question is how to handle payments. Bitcoin can't realistically handle the micropayments for this purpose -- I'm not waiting for a block to hash before my website loads, nor do I want to pay miner fees for every request. The best proposal I'm aware of is that nodes keep track of balances to neighboring nodes, and when you want to establish a new connection with an unknown node you need to send them an up-front payment for X amount of data in advance. (The price of data wouldn't really be per byte of course, it's bytes multiplied by the arbitrary node-selected edge-costs all the way to the actual source and back through the cheapest/fastest path as selected by the end user.) Then when you're approaching the limit you pay more in advance, aggregating the micropayments. This means the inital connection still has to wait for a block to be hashed, and it's annoying from the perspective of a user trying to find valid peers once it's profitable enough to launch malicious fake nodes that eat up-front payments and refuse to forward packets. The initial connection time issue might be mitigated by allowing a Zahavian signal worth of coins to be sent to a burn pile, like an address that is just all zeroes, since a user who was willing to burn a pile of coins covering X+Y data Z hours ago probably isn't trying to rip you off for X data now even if they haven't successfully made a payment to your specific node yet. I'd like to believe that something like IOTA could probabalistically work well enough for micropayments that we don't have to worry about that, but I'm not convinced. Ideally a connection could be established quickly enough that vehicles passing along highways/oceans could route traffic as they go, breaking apart and reforming as necessary.

IPFS is worth googling too, if you haven't seen it already.

I'll send you an email before the end of the month!

Re: Facebook Libra Is Architecturally Unsound

#336
post #334

Earlier quoted context omitted.

Hi, I'm not sure if you'll get this late reply. First of all, thank you so much for your kind words, they mean the world to me, and for your interest — which is now reciprocal, I want to hear about you as well!.. I must admit I've spent way too much time trying to answer your questions in a 'concise' manner —HN's norm — but, as usual with this topic, it proved unusually hard fo me. It's rather complex, several indepe…

Oh yeah, mesh nets are another great thought. We definitely need our own pipes. CJDNS is beautiful (I love that addressing scheme), but lacks incentives for people/corporations to build infrastructure for non-ideological reasons. The OpenLibreNet whitepaper had the incentives theoretically correct, but didn't go anywhere. I honestly haven't kept up on this space, but I still think about it a lot. My biggest question…

> CJDNS

I need to research more into that. Great pointer, thanks!

> IPFS

Yup, definitely, it's on the radar. It's still not production ready though, I'm unsure whether it will/can (I mean this particular project/implementation, not the concept).

> payments

You've definitely thought this through, maybe developed already on e.g. blockchain?

Note that my initial idea, for a neutral human communication medium/protocol, dates back before bitcoin, blockchain, etc. My "system" was designed thus works without those. The inspiration was another 'bit' network: bittorrent.

Later on when I found out about bitcoin etc., I researched the tech. While I ignore the 'currency' aspect of blockchain for this project (because 'currency' is an application; and I'm merely concerned with the protocol beneath all applications), I did find interesting ways to integrate the blockchain paradigm itself (the idea of a database that can't be tempered with, and may be distributed).

My system remains independent of its database implementation though, it should work with simple txt files, or more typically some postgres.

The naive architecture is simpler than you might think, it relies on tried-and-true enterprise-inspired models and implementations. Simple things. Where we do the magic is precisely in the execution, to make it extremely efficient (eg target the lowest viable solution space; have a "concurrency-driven design" for scaling, modularity, distribution). And as of 2019, we have incredible computing resources in the hands of half the population, so 'efficient' is 'enough'.

So there's no payment at this level. It's a protocol, a language we agree to use, and one application may be human communication, but I may be wrong about that part. The protocol stands nonetheless. We are fundamentally not far from XMPP conceptually, although we integrate much deeper (XMPP could probably be a high-level API of a node in this system).

However there's this simple equality rule: "for every bit you ask the network to process n times, you too must process n bits for the network in return". Take some, give back some.

So nodes come a la "BYOR" (Bring Your Own Resources: CPU, RAM, storage, GPU, sensors, whatever), and each node is both server / client; like bittorrent or Tor you simply receive and serve continuously.

This puts the burden of scaling entirely on users individually (remember, it's decentralized: there's no central anything, no 'final' or 'higher' authority) and you'd expect the biggest traffic producers to also be those who make a business out of it (and I'm sure there would exist many applications on this system to let users charge/pay e.g. content or merch etc). Note that "sharing" should probably mean you are willing to 'seed' said shared content, thus fairly distributing load in viral cases.

Note that the network should guarantee anonymity of all accounts (each of your chosen 'persona' is derived but your core account is never exposed and can't be compromised by misuse, only theft in-real-life).

> mesh

It's a hard problem though, I'm aware of that. The MVP may definitely 'cheat' by using regular internet to bridge the gaps (it will be necessary anyway between cities). But one primary goal is that whenever possible (i.e. within range), two devices should never communicate but through an ad hoc LAN between them. Why go to Google's server when I just need to serve a file that's locally cached in the next room, or maybe just next house?

Baby steps...

Re: Facebook Libra Is Architecturally Unsound

#337
post #65

Earlier quoted context omitted.

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…

Regarding mission-critical software in dangerous-prone contexts, there is good information from experts from the Apollo program on http://www.htius.com/

Ha! interesting, thank you for the link.

Edit: skimming through the paper, really really solid material. Much appreciated.

Re: Facebook Libra Is Architecturally Unsound

#338

Earlier quoted context omitted.

There are 2 approaches to Bitcoin Network usage in play. Bitcoin Core team went with RBF(Replace-By-Fee) which gives rise to the double spending problem as the funds can be re-directed before a transaction gets in to a block. And Bitcoin Cash protocol implementation removed the RBF to support trust in 0-confirmation. There are even more optimizations in BCH implementation of Bitcoin, you can review it here https://ca…

From my quite limited understanding, RBF basically allows to cancel a transaction (since you can set the fee to something that would never be accepted in a block) which is even worse than a regular double spending, because in the end, nothing at all is spent. But even without RBF, there's nothing stopping you from spending the same coins online and in a restaurant at the same time. I'm not even sure if a restaurant w…

0-conf transactions have timestamps and the receiving wallet/node checks for the tree of transactions to even allow the spending of unconfirmed transactions up to a limit of 25 for now, there is on-going research and testing to up this limit to 500 that was sponsored by SatoshiDice https://twitter.com/PeterRizun/status/1181980303033692162

For a list of transactions trying to double spend BCH and failing at it, see this https://doublespend.cash/

Re: Facebook Libra Is Architecturally Unsound

#339

Earlier quoted context omitted.

> The Federal Reserve is federal in the same way that Federal Express is: it's not It's analogous to hiring a contractor. The government wants a program, it simply outsourced the operation to another entity. Here's what I actually said: > The unit of exchange (money/currency) should remain relatively constant. That's the point. Maybe it will go up some, maybe it will go down some, but having it manipulated for the pr…

> It's analogous to hiring a contractor. The government wants a program, it simply outsourced the operation to another entity. No, it isn't, explicitly so. The reason the Fed operates at arms-length is explicitly to avoid having the government set monetary policy. This degree of stability allows businesses to plan and reduces their currency risk. Otherwise you face D vs. R every 4-8 years totally reversing monetary p…

> Government handles the fiscal policy, federal reserve handles monetary policy.

This is entirely semantics.

> And once you agree that this kind of adjustment achieves your objective of "relatively" stable currency

I can prove to you that it doesn't result in a stable currency. See the purchasing power of the US dollar over the last 100 years.

> This is called managing the money supply

That's what you call it. I call it theft. If an individual does not have the power to create money, then neither should a group of individuals, regardless of what color robes they're wearing.

> Otherwise you face D vs. R every 4-8 years totally reversing monetary policy

I don't think there's any risk there. They're the same party, both are spend-spend-spend.

Re: Facebook Libra Is Architecturally Unsound

#340

Earlier quoted context omitted.

New Zealands actual inflation is way, way higher than 1.5%. You are very naive and gullible if you believe that number. You also have no idea how the cost of housing is determined. Central banks have artificially manipulated interest rates to an extremely low level, where savers are forced to malinvest in things such as housing, which is also encouraged by mortgage rates being way below the reasonable cost, because a…

> New Zealands actual inflation is way, way higher than 1.5%. You are very naive and gullible if you believe that number. It's defined with a mathematical formula based on a basket of goods. You haven't provided any sources other than your gut and a baseless assertion about gullibility. I have references [1, 2]. > You also have no idea how the cost of housing is determined. It's literally on the investopedia write-up…

You are fundamentally off the mark at every single point. The basket of goods specifically excludes things such as housing which is the by far the number one cost of living here, which leaves that "inflation" figure as an utterly meaningless metric.

>> Set them at a low level. That's their job. To maintain a consistent, low, predictable rate of inflation.

Your reading comprehension failed here. I am referring to control of interest rates, which has far reaching consequences beyond inflation. This is the "fatal conceit" of socialist minded people such as yourself. No one on this planet is qualified to control interest rates.

Post reply on HN