Thomas Sibut-Pinote is Senior R&D Engineer at Functori, one of the core protocol development teams working on the Tezos blockchain. Based in Paris, Sibut-Pinote became interested in blockchains around 2012, and joined Functori after completing his PHD in computer science, specializing in formal methods and formal proof.
The Blokhaus team caught up with Sibut-Pinote at the recent Tez/Dev event in Paris, where he described his journey from computer science student to becoming a Tezos developer. Along the way, he explained the advantages of Tezos' core programming languages OCaml and Michelson, and the qualities that make them ideal for formal verification.
You'll find extracts from Thomas Sibut-Pinote's interview below, and the full video is available to watch at the top of this page.
What brought Thomas Sibut-Pinote to Tezos?
I was really interested in programming languages and formal proof and the OCaml language. Tezos kind of combines all those interests, and gave me point of entry to actually contribute to these ideas. From my perspective of having studied formal methods and formal proof, the OCaml language and the Michelson language and [their] rigorousness in terms of types, in terms of semantics, makes [them] an ideal language to play with, to generate tools for.
OCaml is a general-purpose programming language originally developed in the 1990s, and maintained by the French Institute for Research in Computer Science and Automation. A powerful and high-performance language, according to OCaml.or, OCaml "provides a combination of efficiency, expressiveness, and practicality that is matched by no other language."
What makes OCaml special:
What I like about Tezos compared to other blockchains is that it's programmed in OCaml, which is a very type-safe language. It's very easy to formalize, which is my specialty from my PhD. So it's really easy to write code and generate code that will lend itself well to formal verification. A lot of the errors that you might make in other languages on other blockchains will be caught right away with the compiler and its type safety.
Thomas Sibut-Pinote's mission to make smart contracts easier
What I'm really proud of is improving the productivity and ease of development of smart contracts. It used to be really cumbersome. You used to maybe not make the changes you would like to make to your smart contract because it [would be] such a pain to redeploy, recompile it, [and] change all the interfaces. The tool I've been building has been consistently making this much easier to do. I've gone from spending months developing a smart contract to getting a prototype ready in a few days.
Describe blockchain in one word (or two):
If I could describe blockchain in one word, I would say... I guess it's two words. I would say shared computer. The notion that there's this global machine that we can all access and we can modify its memory, we can call programs, we can add programs to it, but it's this one thing that we can all interact inside of. That's always been very fascinating to me, this idea of shared reality.