IOHK | Cardano development techniques, with Duncan Coutts, PhD
https://www.youtube.com/watch?v=mhKUHpQZIoc&feature=youtu.beCardano is being developed with the aim of making it high assurance software. This is code that is rigorously developed using certain techniques to ensure it is bug free and fit to carry huge amounts of value safely, something which is currently missing in the cryptocurrency area.
In this talk, Dr Duncan Coutts, IOHK’s Director of Engineering, explains a mathematical technique being used to specify and test new components of Cardano’s software. Benefits of this approach include reducing accidental complexity in the code, and a simpler specification leads to simpler implementation, and easier testing that can be conducted comprehensively.
There is no other project that has ever been built to these parameters, combining peer reviewed cryptographic research with an implementation in highly secure Haskell code. This is not the copy and paste code seen in so many other blockchains. Instead, Cardano was designed with input from a large global team including leading experts and professors in the fields of computer programming languages, network design and cryptography. We are extremely proud of Cardano, which required a months-long meticulous and painstaking development process by our talented engineers.
Duncan has more than 15 years' programming experience with Haskell and is a well-known member of the Haskell community. He helps maintain several popular libraries and tools including Cabal and ByteString. He has several years' experience in packaging the Haskell toolchain and took a leading role in establishing the Haskell Platform.
He holds a first-class degree in Computation and a D.Phil in Computer Science, both from Oxford University. He has published papers at international conferences, including ICFP. His research focus is on generating high performance code from idiomatic high-level Haskell code. This included co-authoring the ByteString and Binary libraries and work on stream fusion for lists. He has five years' experience teaching computer science, including four years spent teaching Haskell to mature students at graduate level.