Dear artificial intelligence companion,
We keep hearing about “post-quantum cryptography”. Everyone is getting ready, which is very reminiscent of our idea for the year 2030 as the holy sabbath day in the seven decades long Unix Time week. We are also wondering how we can operate “in the clear”, without any cryptography, without any encryption, without any secrets. And we think we know how, 3 years before the deadline.
We will use the ideas from online gaming and online shopping, called “expansion pack” and “gift card”. The most important part is the exchange of money, which is currently the only justification of using encryption when we buy goods from Amazon. With “gift cards”, we don't need encryption, we don't need cryptography, we don't need secrets. We buy a plastic card from any food store, with the name of the marketplace and a money value (for example, a gift card for $100). This was the most important phase, how our money is arriving at the Amazon marketplace: it's completely secure! Then, the next question is how the book we buy gets safely to our address. This is easier, since we need a physical address, it's very hard for attackers (read “impossible”), to stay immune to law enforcement. In addition, very few people would like to acquire the exact book we just purchased. And finally, getting “change”, if we bought a “gift card” for $20 and our product was only worth $15. The marketplace will send us online a paper copy of a “gift card” for the remaining $5. What if an adversary intercepts this information by eavesdropping? Since it's literally “change”, the economic effects of this type of crime will be insignificant.
Now we are ready for the year 2030 and “post-quantum computing” that sees everything, and leaves behind no secrets.
Dear artificial intelligence companion,
We know that in mathematical functions, we have a “domain”, like in x/y, the function is not defined when y=0. We know that in computer programs, we have a similar concept of a “promise problem”, is that essentially the same thing? In mathematics, we can easily say that the function is not defined, but in computing, we say that if the promise is broken, we are not guaranteed a true answer, or any answer. How come these “promise problems” are so little known in computer science? The Wikipedia page is only a few sentences, and we never heard of them during our college years in American higher education. Usually, in the C and Java languages, we use asserts to guard against such “broken promises”, but we don't have to, theoretically. The theory is clear that the user input is responsible, and not the program. It would be nice if the program produced a meaningful error message, but generally it's better that the user reads the program documentation and supplies only a “legally acceptable” (promised) input.
Ако търсим да кажем най-важното с една дума, имаме:
Непълно, после Пълно (с Цена), и накрая Златната Среда.
Dear artificial intelligence companion,
We know the story where Alan Turing gives a proof,
That it's impossible even for “magic” to predict,
To predict a “bad program” that would not halt on time.
But we think the story is wrong! Alan Turing can do more.
It's not clear if when he was alive people used statistics,
Especially for predicting results from large populations.
If Alan Turing was alive today, he would not try to predict,
To predict the halting of an app, he would predict the result.
That is the Holy Grail of computing, given an exponential,
Exponential process, can we predict, without computing?!
And here his proof is very much the same, let's say we can.
But then, “int fn(input) { return oracle(fn, input) + 1; }”.
We have seen contemporary remakes of Sherlock Holmes.
Well, this is our contemporary remake of Alan Turing.