Recent submissions

Comment · 6 years ago
Godel's incompleteness is not that complicated. The main insight Godel had was that proofs as well as provable statements can be encoded in numbers. This is obvious to everyone reading HN -- all computing works by encoding things into numbers. And it's easy to see how you'd encode proofs, proof rules etc. into numbers. (hint: as flattened ASTs!)

The thing is, Godel didn't live in an era of pervasive computing so he came up with a wonky encoding based on products of powers of primes. This makes the proof technically challenging, but the fundamental idea is not that complex. What he was able to eventually do was encode a recursive statement of the form "this statement is not provable" where the "this" is kind of like a pointer back to the full statement. The rest is straightforward.

Comment · 6 years ago
An attack is a reason to believe that you can solve the problem. I have no idea how'd I go about solving P=NP, but I did have some thoughts on provable security against transient execution attacks. Which is why I work on the latter but not the former.
Comment · 6 years ago
You're trying to come up with a homemade ORAM. All I'll say is that this problem is harder than it seems.
Comment · 6 years ago
Websockets are subject to the same origin policy. There's nothing you can do to violate the SOP via websockets that you wouldn't be able to do with regular HTTP or XHR.
Comment · 6 years ago
Your point about the need to "popularize" zk-snarks etc. is well-taken and I upvoted you for it.

But that said, we seem to be talking past each other at this point. I don't see why my criticism of the OP was unconstructive. This is not actually a research paper, it has not undergone any sort of academic peer review, and if the goal is to present it as one example of the kinds of things that are possible to build with zkSNARKs, then it ought to be presented in that context.

I do want to note that it is possible to compose zkSNARKs in an application in ways that result in the composition not being zero-knowledge. Not saying that has happened here, but implying there's no danger with incorrect usage of zkSNARKs seems sketchy to me.

Comment · 6 years ago
When I clicked the link, I figured this would be a research paper from MIT. It took me a bit of reading to figure out it was just a student project report. That's why I posted the GP.

I stand by my comment that there doesn't appear to be anything particularly novel about this work. Especially with crypto it is important to stick with well-studied and well-understood primitives. There's a danger that someone looks at this and assumes it is being endorsed by MIT and implements it in their system.

Comment · 6 years ago
This is not a peer-reviewed research paper. It seems to be a project report likely done by undergraduates. The paper is full of typos and it is not clear what the specific novelty of the proposal is (if there is any).
Comment · 6 years ago
> In the real number field, additive inverse of a positive real number is indeed the negative of that number. The negative of that number is also obtained by the application of unary negation operator on the positive number.

This is a fact that follows from the definition of +. But + needs to be defined before you can start making assumptions about what the additive inverse is. The set over which the field is defined (Z or R) already contains -3, -2 etc. and -3 * -2 or -3 + -2 needs to be defined when you're constructing the field. It then turns out that -3 is the additive inverse of 3. You can't use this when arguing about the definition of why applying * on negative 2 and negative 3 gives you the result positive 6. Because you need to define * over all members of the field before you construct a field in the first place.

Comment · 6 years ago
You are wrong in several ways.

1. You literally cannot prove this fact from the Peano axioms because Peano arithmetic operates on natural numbers, not integers.

2. As I said in my original post at the top, negative numbers are different from the unary subtraction operator (the additive inverse in the field). The number -2 is an entity that exists by itself regardless of whether you've defined an additive inverse. It turns out that the additive inverse of every positive integer is the corresponding negative integer, but this follows from the definition of +, not the other way around.

3. Even if you give OP the benefit of the doubt regarding his dodgy proof, it is saying something about the additive inverse and its relation to multiplication. It is not saying why the result of multiplying two negative values must be positive.

4. The multiplicative operator over the field must already be defined for you to be able to prove distributivity over addition. You can't assume distributivity over an operator that is only partially defined.

--

Think about how you'd define a field. First, you need a set (let's call it Z), then you need two total operators over the set (+ and ), and two elements of the set (0 and 1) and each of these must satisfy specific properties (aka the field axioms). In particular, + and must be defined for all members of Z, not just Z+ and further + and * must be distributive. These are all facts you need to prove about Z, *, +, and 1 and only then do you have a field. You cannot work backward by assuming the field axioms (which are unfortunately named because they are not axioms at all but properties) to derive the definition o the field operators.

Comment · 6 years ago
My point is that you cannot prove something that is true by definition. The OP trying to prove that the product of two negative numbers is positive is like asking to prove that 0 + 1 = 1 in Peano arithmetic.

The OP thinks that his "proof" is showing why multiplying negative values yields a positive result. But the proof is a load of nonsense because it assumes facts like distributivity of multiplication over addition and subtraction. It is literally impossible to prove that $\forall a, b, c \in Z. (a - b) * c = (a * c - b * c)$ -- distributivity of multiplication over subtraction -- without having already defined the meaning of a * b for all integers! This leads to a circular reasoning loop that the OP's "proof" can't get out of.

The thing to realize is that multiplication is not some magic operation handed down to us by god. It is just a binary total function defined over the integers. What the OP is trying to confusedly get at is the following:

1. There is an intuitive definition of multiplication as repeated addition over natural numbers.

2. It is not clear what the corresponding definition of multiplication over negative numbers is.

3. If we want to define multiplication as a total function over the integers, we need to define what the result should be when multiplying negative integers.

4. Specifically, with (3), we are taught in school that the result of multiplying two negative numbers should be positive, but it is not clear why this seemingly arbitrary choice was made.

Unfortunately, the OP is going about this all backwards. One cannot prove what the OP wants to prove. What one can instead do is argue that the specific (but seemingly arbitrary) definition that one has chosen for multiplication is a "good" choice because it has the same properties (distributivity etc.) as multiplication over natural numbers. At its core, this is a stylistic appeal about the "naturalness" of the definition.

Comment · 6 years ago
This is not a proof of why the product of negative numbers is positive. The reason why the product of negative numbers is positive is that we define multiplication to be that way.

Also, this post conflates the unary negation operator with negative numbers. The two are not the same. In so far as this post constitutes a proof (which IMO it does not), it is a proof about the behavior of the negation operator.

A good question to ask is why we made this specific choice of definition. Why should multiplication be defined such that -2*-3 = 6? This is a question that the post does shed some light on. If we'd chosen some other definition of multiplication, a lot of the "intuitive" properties of multiplication that hold over the natural numbers (such as the distributivity of multiplication over addition and subtraction) would no longer be true over the integers.

Comment · 6 years ago
Yeah, many red states have made it illegal to strike. And of course, this eliminates any possible leverage that employees have over employers to force better treatment and that is precisely the reason why Republicans have done this.
Comment · 6 years ago
The main argument is that NIMBYs are outnumbered at the state level. They "win" at the local level because older, richer homeowners are overrepresented at community meetings.
Comment · 6 years ago
HN doesn't allow edits after a few hours.
Comment · 6 years ago
Sorry I had a typo. I meant to say very little of the content is in English. But the page title is in English and that matters because I can google for "Jagran UP budget" to get to the second article.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton