“Pact 3.0 generally makes available the features that makes hybrid blockchains a reality. … We now have the smart contract language for hybrid blockchains.”
That’s Stuart Popejoy, the former blockchain team lead at investment banking giant J.P. Morgan and founder of a multi-million dollar enterprise blockchain startup called Kadena.
Today, Popejoy and the Kadena team released a new version of their native computer programming language, called Pact, designed to enable safe and simple smart contract development on the blockchain. The third major release of the code, Popejoy argues that the expanded feature set of Pact 3.0 finally supports cross-blockchain smart contract execution between private and public networks.
“A programmer is [now] able to write a very simple smart contract that is able to exchange data back and forth between the public and private parts of a hybrid blockchain application without ever leaving the comfort of the Pact smart contract,” Popejoy told CoinDesk.
More specifically, today’s release of Pact 3.0 has three key feature sets.
First, Pact 3.0 offers simple payment verification (SPV) support. This means that developers can deploy smart contract environments on a Kadena blockchain that independently verifies transactions happening off-chain on other blockchain networks.
Some of the immediate implications of this tooling as outlined by Popejoy include “proving that something happened on a public blockchain in a private blockchain, proving that something happened on a private blockchain in a public blockchain, [and] proving that something happened on some other [proof-of-work] blockchain (i.e. bitcoin, ethereum).”
Secondly, Pact 3.0 introduces a functionality called “capabilities” that help ensure secure, rights-based computing on the blockchain.
“In the most general sense a capability can be seen as a right to do something that exists in data,” explained Popejoy.
An example of a capability that already exists on traditional blockchain networks like bitcoin is the use of private and public keys to transfer tokens. By possessing a specific representation of data, users are able to access other resources and functions such as atomic swaps in a smart contract application.
Immutability vs upgrades
Finally, Pact 3.0 also introduces modular governance diversifying how developers can credibly change or update smart contract code. Unlike most other smart contract languages such as Solidity on the ethereum blockchain, Pact is not a Turing-complete language and does not boast immutable decentralized applications (dapps).
Since its inception, any dapp built using Pact can be changed and upgraded after execution through the approval of one or more designated stakeholders.
“We had upgradeable smart contracts right from the start but it wasn’t full governance because a single or multi-signature model is basically a centralized model,” Popejoy highlighted. “Now, you can have governance controlled by whatever logic you can think of and an obvious example would be some kind of [token holder] based governance like we see in any kind of staking system.”
The lack of immutability when it comes to Pact-coded applications may butt up against what some consider to be a defining characteristic of smart contracts in general, noted Popejoy.
“It’s really easy to conflate the two, [immutability and smart contracts.]” Nevertheless, Popejoy maintains that smart contracts aren’t actually about immutable, self-executing applications. They’re about enabling business models to run safely on a blockchain platform.
“Smart contracts start off as this idea that you can move more business models onto a blockchain but the immediate problem there is that they need to be really safe and not just safe but they to be simple…We think you need to have smart contracts that are simple, that a non-technical user can understand and even code.”
Stuart Popejoy image courtesy of Kadena