Q&A with Douglas Beardsley, Senior Engineer of Kadena
With 15 years of software engineering experience, including 8 years using Haskell professionally, Doug Beardsley co-organizes the Compose Conference and the New York Haskell Users Group and is one of the original authors of the Snap web framework.
A Senior Engineer at Kadena, Doug will be speaking at Rethink Trust engineering conference in Amsterdam on June 29th. In advance of his talk “Pact: Smart Contracts You Can Take To The Bank”, we spoke to Doug about Kadena and what makes it unique in the area of smart contracts, the key enterprise blockchain engineering challenges and improvements in the quality of blockchain software.
What makes Kadena unique in the field of smart contracts?
First, we have our own smart contract language, Pact, whereas a majority of work in the industry is either targeting EVM bytecodes or uses an existing programming language like Go or Kotlin. Amongst the minority of companies offering genuinely new languages, we are (as far as we know) the only interpreted smart contract language, which is really important: it means that the code deployed onto the blockchain is the actual code written by the programmer, not a compiled version or binary assets like jar files or object files. Finally, Pact is designed with simplicity, ease of understanding, and safety at every step, including being Turing-incomplete, having name-based contracts, and so on. Lastly, we are the only fully open-sourced, released and functional smart contract language offering Formal Verification via our innovative property-checking system, where you can prove properties right in your smart contract code.
How did the company focus on thoughtful software engineering as one of its core values? What is the background of the founders that positions it for success in the emerging enterprise blockchain space?
Stuart Popejoy has significant experience in pure functional programming with Haskell where a lot of industry-leading research on programming languages and software correctness is happening. Will Martino was previously a Tech Lead for the SEC’s Cryptocurrency Steering Committee and the Quantitative Analytics Unit. They both worked at JP Morgan in the Emerging Tech Blockchain group that Stuart directed. They have a deep technical understanding of blockchains and experience applying cutting edge software technologies to the domain. Will’s experience at the SEC makes him particularly well informed on regulatory considerations that blockchain companies will likely need to deal with in the near future.
How would you characterize the key enterprise blockchain engineering challenges that are different from the most ICO-backed systems (all slated for launch “two quarters from now”)? How do you integrate with the existing enterprise stacks? Who are your allies in the enterprise?
Well, first you need to ensure that APIs are readily available for integration with front ends, but more importantly, you need to have an existing method for exporting data to RDBMS systems, otherwise you will make enterprise integration a nightmare. Full nodes running Pact can directly write to any RDBMS greatly easing integration. Next, you need to have integrations with more key curves than just secpk256k, including traditional HSMs. Our background, with the founders hailing from the JP Morgan blockchain group, is one where we understand what enterprises need, having successfully integrated with legacy systems using the Juno project.
You work with both public and private blockchains. How do you see the co-evolution of these two worlds and what does it mean for the enterprise market?
We see them as mutually beneficial. With Pact as a common cornerstone, lessons learned on both sides can benefit the other.
What is your roadmap to make Pact adopted broadly?
In addition to our existing corporate deployments, which have already created a vibrant user base, we are initiating community activities across the US and internationally, and have given workshops in Pact at great software conferences like LambdaConf. For example, we will be having a workshop in Taipei later in June.
What can we all do together as a community to improve the quality of blockchain software?
Use more modern programming languages and technologies that give more guarantees about the correctness of code via things like strong static type systems, formal verification, code that is correct by construction, etc.
What are you looking forward to at Rethink Trust?
Meeting other people building and using blockchains.