The Master’s Topic

We soon decided on the master’s thesis topic. Since I was a founder of Expert Solutions and we were trying to get an e-commerce operation off the ground, I had started studying ways to pay online. Until then, the two options available to us were equally bad: sending your credit card number and hoping it wouldn’t be misused, or making a bank deposit, emailing the receipt, and hoping your purchase would be delivered. Neither method was secure. That’s how I discovered the universe of electronic payment systems — and it’s worth remembering that, at the time, there was still no bitcoin, and decentralized blockchains in the modern sense were still many years away.

I talked to my advisor and we decided I’d do a literature review as preparation for the thesis project. Soon I’d have to present that project to a committee to be approved to continue in the program. It was a period of lots of reading and lots of learning. I discovered systems considered revolutionary: eCash, which promised fully anonymous payments; SET, which had just been introduced by the major credit card networks; and various micropayment systems, which were meant to allow you to pay cents or fractions of a cent. The idea was to use those micropayments to pay for access to content on the internet. The era of internet advertising was still just getting started.

In order to work with cryptography in an academic environment, it was essential to understand and master LaTeX, the system used to write articles — especially those involving mathematical formulas. Using Microsoft Word was unthinkable. So I had to learn LaTeX and get better at writing mathematical expressions. I even used non-standard symbols, created by combining two or more overlapping ones, in a paper about using formal methods to analyze secure protocols. By that time I was already quite proficient in LaTeX, and I even found a program that provided a graphical front end for writing documents with LaTeX, which helped a lot with writing those articles.

While learning LaTeX, I discovered it had been created by Leslie Lamport and, in one of the master’s courses, we studied Lamport’s paper on clocks and event ordering in distributed systems. LaTeX was built on top of TeX, developed by Donald Knuth, author of the classic The Art of Computer Programming. It was funny to realize I was, in some way, in very good company on this journey.

One practical problem in writing the papers and thesis chapters was the endless number of versions. I’d revise, my advisor would revise, and soon you’d have files with names like “chapter1_revised_final_really.tex.” Since LaTeX files were plain text, just like source code, I thought of using a version control system. The most common one at the time, present in many Unix environments, was CVS. I started using it for my papers. But there was a limitation in how I used it: I still had to email files to my advisor for review, and that sometimes caused confusion with multiple versions and file names.