10 May 2021
3 min read
λ-calculus, or lambda calculus, is roughly 90 years old! Let's take a quick look at it and it's functional programming language descendant, OCaml.
λ-calculus, created by Alonso Church back in the 1930s, originated as a formal system of mathematical logic for computation based on function abstraction and application language containing only functions. It wasn't until 1958 that John McCarthy created a computer language, Lisp, that was rooted in λ-calculus, but that was dynamic. Finally, in the 70's the "Meta Language" was discovered and statically-typed, functional languages were born!
OCaml came about 20 years later in the early 90's, but hasn't been used much commercially. Like many true FP languages (like Haskell) not many companies implement OCaml into their codebase, and many startups tried and failed until recently.
Introduction to O(1) Labs, Coda Protocol, and ultimately their DSL, snarky!
O(1) Labs successfully launched their Coda protocol in June and thereby developing snarky, their very own DSL for data encryption.
Coda is a cryptocurrency protocol with a constant-sized blockchain that will allow any client to instantly validate the state of the ledger. Snarky is an OCaml front-end for writing R1CS SNARKs. Church would be proud!
Who are O(1) Labs and what's the company culture like?
They have a small, collaborative team and have a ton of independence while working on fascinating cross-disciplinary problems that span cryptography, engineering, product design, economics, and sociology - offering competitive compensation (salary/equity) as well as top-of-the-market benefits!
Real-life application using blockchain technology!
Given election season is around the corner let's take a look at one implementation for Coda, in reference to an election protocol: Government requests vote, votes are taken, privately and are encrypted by snarky and then verified by zkSnarks using commitments. The verified votes are counted and then the most popular is committed as the winner. All anonymous and all recorded on a ledger.
Simply put, input a request (or in this case poll), votes are then encrypted as a commitment, verifying the identity of the commitment by legitimizing it. And then after verifying the legitimacy those commitments make all the counts and determine what is most popular, see the paragraph at the bottom for greater detail!
How do O(1) Labs differ from other "Blockchain Startups"?
O(1) is addressing traditional issues in the blockchain space in a unique manner, for instance, scalability is solved by "compressing blocks and providing zero-knowledge proofs" implemented in a concise and efficient manner using small-scale blockchains. Furthermore, "Coda's testnet compresses its entire blockchain into a one-kilobyte zk-SNARK proof, which serves as a cryptographic certificate of the protocol state's integrity... providing the same level of security as a standard blockchain with at a fraction of the hardware requirements, enabling full verification of the chain from any device." as Helen Partz mentions in this article.
Check out what all the hype surrounding OCaml is about!
High-speed compiler, allocator, and garbage collector, yet reads like a dynamic language (Python)
Static typing without a need to write any type annotations by hand
The type system is expressive enough to find some classes of logic errors, not just misplaced variables
A powerful type system that provides useful abstractions as well as fewer memory leaks
If you have relevant exposure to true FP languages like OCaml, O(1) Labs are looking to add seasoned engineers to their team including a Senior Protocol Engineer, a Senior Front End Engineer (or Full-Stack using OCaml), and an SRE: click here to see all available roles.
You don't need experience in cryptography or OCaml they just want someone who has a strong aptitude for picking up new technologies, cryptography, as well as previous Functional Programming experience. Don't worry, they'll teach you all about snarky!
All about the vision, connecting the dots!
Alonso Church had a vision of a simple language containing only functions. O(1) has the vision to make software transparent, legible, and respectful using Church's simplicity. To do that they have developed the first cryptocurrency protocol that can deliver on the promise of supporting real-world applications and widespread adoption that blockchain technology offers.
If you are or you know someone interested in positions leveraging high-performance functionally typed code have them view our FunctionalWorks platform for active roles or reach out to me directly at firstname.lastname@example.org for more information on O(1) Labs or other companies across the globe looking for passionate seasoned engineers to join thier team!
Regardless of if you are looking for a new job or not, I hope you enjoyed this information and I'm always looking to have stimulated conversations on technologies and what business' will prove me wrong!
See other articles by Charles
Ground Floor, Verse Building, 18 Brunswick Place, London, N1 6DZ
108 E 16th Street, New York, NY 10003
Join over 111,000 others and get access to exclusive content, job opportunities and more!