Reflections on trusting trust

 

The article is short, but it contains the answer to a question that was posed since the beginning of the semester, the chicken and egg problem that stems from the C compiler being written in C, I’ve already searched for an answer of this and it introduced me to the concept of Bootstrapping, it’s a funny and accurate name for the concept, basically being using another language to compile a subset of the language and ten using the compiled language to compile the rest in an iterative way until you have your complete compiler. 

The anecdotes of the trojan horses reminds me the time I read exactly about this, where you have to give your trust to the compiler since it can be tampered with and you wouldn’t know about it, and sure it’s an old problem and various techniques have been implemented to try to solve the problem like diverse double compiling but at the end of the day it only works if you have an untampered compiler to begin with, it just checks if other compilers have been tampered with, so the problem of the trust remains, you are just passing the trust to another actor, eventually you have to trust something and climb up the ladder from there, also the amount of scrutiny it would take to analize everything you didn’t do is ridiculous. But I think this is a problem in everything we do, we trust that the moon where it’s said until you can check it yourself pointing a laser and waiting for its return, but how can you trust that your laser is not tampered with or even the laws of physics thought are not a lie, you must put your trust in a sensible thing and build from there, I think is the same in our field.

Comentarios

Entradas más populares de este blog

The mother of Compilers

Internals of GCC