We use cookies and other tracking technologies to improve your browsing experience on our site, analyze site traffic, and understand where our audience is coming from. To find out more, please read our privacy policy.

By choosing 'I Accept', you consent to our use of cookies and other tracking technologies.

We use cookies and other tracking technologies to improve your browsing experience on our site, analyze site traffic, and understand where our audience is coming from. To find out more, please read our privacy policy.

By choosing 'I Accept', you consent to our use of cookies and other tracking technologies. Less

We use cookies and other tracking technologies... More

Login or register
to publish this job!

Login or register
to save this job!

Login or register
to save interesting jobs!

Login or register
to get access to all your job applications!

Login or register to start contributing with an article!

Login or register
to see more jobs from this company!

Login or register
to boost this post!

Show some love to the author of this blog by giving their post some rocket fuel 馃殌.

Login or register to search for your ideal job!

Login or register to start working on this issue!

Login or register
to save articles!

Login to see the application

Engineers who find a new job through WorksHub average a 15% increase in salary 馃殌

You will be redirected back to this page right after signin

Blog hero image

OCaml's connection to 位-calculus and O(1) Labs' Coda protocol!

Charles Moller 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.

Did you know that the functional programming paradigm is rooted in 位-calculus?

位-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!

OCaml is not for everyone, but it's great for some! Here's why:

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 cm@functionalworks.com 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!