Rethink Trust Blockchain Conference
Rethink Trust Conference

Q&A with Douglas Beardsley, Senior Engineer of Kadena

publish date June 21, 2018 Tags share article

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.

Why do many blockchain developers think JavaScript, Python, and Solidity are OK when 50% (~8K out of 16K) smart contracts were audited as buggy or prone to attacks? What can you say about the state of software engineering among the blockchain companies as a whole?

The fact that huge numbers of developers use incredibly error-prone languages like Javascript, PHP, etc suggests that most people don’t think critically about the tools they use and are more focused on cranking out code (even if buggy) than getting it right.  In many applications, this is acceptable because it gets you 80% of the way there. However, the stakes are a lot higher in the blockchain world where your code is stored in tamper-proof append-only stores and large amounts of money are on the line. These realities do not seem to have yet been fully appreciated by the majority of blockchain software engineers.

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.


Don’t miss Doug Beardsley at Rethink Trust engineering conference in Amsterdam on June 29th. Book your ticket now.