7 ms·
Congressman: I was really surprised about the Rust language. So my first question is, why was the Rust language chosen as the implementation language for Libra
by cj 7y ago
Congressman: I was really surprised about the Rust language. So my first question is, why was the Rust language chosen as the implementation language for Libra? Do you believe it's mature enough to handle the security challenges that will affect these large cryptocurrency transactions?
Facebook: [We will own & control the code.]
Congressman: It looks like Libra was built on the nightly build of the Rust programming language. It's interesting because that's not how we did releases at the DoD. What features of Rust are only available in the nightly build that aren't in the official releases of Rust? Does Facebook see it as a concern that they are dependent on unofficially released features of the Rust language? Why the nightly releases? Do you see this as a function of the prototyping phase of this?
Facebook: [No answer]
- itslennysfault 7y agoIt's probably mostly just async/await, but I bet they were hoping it'd make it into stable before they launched.
- steveklabnik 7y agohttps://github.com/libra/libra/blob/master/scripts/nightly_features.sh https://github.com/libra/libra/blob/master/scripts/nightly_f... From Reddit: > The intention of that particular script is to eventually help us move towards eliminating the use of nightly features and limit depending on new ones so that we can eventually be on stable. Some features (like async/await) we'll need to wait until they've graduated to stable while others we should be able to make sufficient changes to stop relying on them.
- profalseidol 7y agoIt's cool to see a congressman who has this level of software dev knowledge.
- casefields 7y agoHe's a Republican from Virginia. Former Air Force Intelligence Office and NSA contractor: https://en.wikipedia.org/wiki/Denver_Riggleman https://en.wikipedia.org/wiki/Denver_Riggleman
- jumbopapa 7y agoI looked him up and I was still somewhat surprised by his knowledge because Wikipedia doesn't say anything about him having a development background. I suppose part of being in intelligence is being able to quickly learn information about your targets and identify risk factors. He does well!
- throwaway3627 7y agoBeto O'Rourke, POTUS candidate and currently in COTUS, was part of cDc.
- sjs382 7y agoHis term ended in January. Currently, Beto doesn't hold an office.
- StavrosK 7y agoThe center for disease control or the cult of the dead cow?
- 0815test 7y agoYes.
- steveklabnik 7y agoThe latter.
- buildzr 7y agoThat's fucking awesome, on the other hand, Rust code is running live in production in Firefox, exposed to the internet and actually offers a much higher degree of safety than many comparable languages - these questions they should have been able to answer readily.
- rstuart4133 7y agoThe good senator illustrating the noisy wheel syndrome. Ken Thompson's reflections on trust have been repeated over and over again, and is now a mainstream meme. But the fact that it's a often repeated common meme doesn't mean it's a practical threat. I'm not aware of it ever being responsible for an actual security breech. That's pretty significant - because there must be thousands of breaches each and every day. That isn't surprising, as it would particularly difficult for open source GNU, LLVM, and Rust because people are literally compiling code and comparing the assembler output to the previous versions. He probably also isn't aware of how large computer companies like Facebook operate. Again, a single failure doesn't effect them like a single in a fighter plane. In fact a chaos monkeys that randomly knock out bits of production infrastructure are a useful technique for them. I'm sure the senator it thinking in terms of a chaos monkey randomly knocking out engines, airfoils, and computers on a flying plane. The quality of compiler is a concern - but it is one the software engineer will be well aware. Asking a software engineer if he is sure of the quality compiler he is using is like asking a racing driver is he concerned about the quality of fuel he is using.
- elgenie 7y agoThe first question summary is … poor. Congressman's biggest concern after poking around on github seemed to be about international committers and a "native Nigerian" committing a lot of the code. (based on looking around the github-generated contributors pages for the libra and rust repos, I have no idea who he's talking about). The second answer was: "This is a very technical question. We'll get back to you." Which is to be expected; there's no reason for Mr. Marcus to risk a felony by bullshitting in front of Congress about technical decisions.
- zwp 7y ago> I have no idea who he's talking about This comment buried below: https://news.ycombinator.com/item?id=20467750 https://news.ycombinator.com/item?id=20467750 points to this repo "A javascript client for libra": https://github.com/perfectmak/libra-core https://github.com/perfectmak/libra-core @perfectmak is in Lagos.
- mr_overalls 7y ago> Congressman's biggest concern after poking around on github seemed to be about international committers and a "native Nigerian" committing a lot of the code. He comes from a DoD background. Security is probably his concern here.
- slaymaker1907 7y agoI think the congressman doesn’t quite understand that Rust nightly is far more stable than nightly anything else. It’s really more of a beta than a nightly sort of build assuming projects using it exercise even a small amount of restraint in which nightly features they use.
- jjakque 7y agoI'm having trouble understanding implications to answers of these 2 questions when deciding legitimacy of Libra. To elaborate my confusion: * Why does choice of a programming language plays a part of deciding such product (a currency platform) is valid? If this is written in now-antagonized programming language (say, JavaScript, PHP etc), does such decision makes the product less legitimate? * Similar with version/release of a programming language, how does knowing the answer to this question plays a part?
- sesteel 7y agoTraditionally, government people have trust issues with programming languages as the compiler is, itself, an attack vector. If you are using a nightly release of the compiler, it may be assumed by some that the compiler is not vetted for security and could inject unstable or malicious code into another critical codebase. Also, Rust is considered very young for security type work, people rightly assume there are unfound weaknesses due to the newness of the language and related libraries. Nevertheless, the government has allowed people to use Java for decades for highly secure codebases and it has had all kinds of issues.
- apta 7y ago> Nevertheless, the government has allowed people to use Java for decades for highly secure codebases and it has had all kinds of issues. That's interesting. What sorts of issues? Do you have sources for further reading?
- knightofmars 7y agoIt's just a passing swipe at Java, everyone's favorite language to hate. All languages have "had all kinds of issues", which are remedied by regular maintenance cycles that patch the required elements (JVM, libs, etc) when CVEs are announced. Java is in a unique position because it has been used extensively in government contract work. Some of that work was done well and some of it wasn't, which largely was based on the capability of the contractor used to do the work. It doesn't matter (well to an extent) what language you're writing your code in if you don't apply proper security precautions (SQL injection for example). Additionally, a number of years ago _desktop_ and _applet_ Java caused major security problems for businesses and governments (similar to the problems with Adobe Flash).
- bitwize 7y agoYeah, the DoD actually commissioned a safe (for the time) programming language with known, reliable semantics for its software systems. The result was Ada. Compared to that environment, even Rust is very move-fast-break-things. I think I understand ESR's gripes about Rust much better now.